아!두이노, 라즈베리, 코딩 노가다
우리 회사는 개발 소프트웨어와 구매 소프트웨어 2가지로 분류 하여 소프트웨어 품질 보증 절차를 적용 하는데, 이게 일반적인 방법인지 ? 혹시 최초로 분류한 문서가 있는지 ? 본문
우리 회사는 개발 소프트웨어와 구매 소프트웨어 2가지로 분류 하여 소프트웨어 품질 보증 절차를 적용 하는데, 이게 일반적인 방법인지 ? 혹시 최초로 분류한 문서가 있는지 ?
아이스뭐라카노 2026. 9. 16. 08:35소프트웨어를 자체 개발 소프트웨어(Developed SW)와 구매/도입 소프트웨어(Procured / Commercial / COTS SW)로 이원화하여 품질보증(QA) 절차를 적용하는 방식은 안전/규제 중심 도메인(원자력, 항공, 의료 등)을 비롯한 엔지니어링 업계 전반의 매우 표준적이고 보편적인 방식입니다.
두 대상은 적용 가능한 통제 수단이 완전히 다르기 때문에 실무적으로 분리할 수밖에 없습니다. 개발 SW는 요구사항 분석, 설계, 코딩, 형상관리 등 수명주기 전 과정을 직접 통제하지만, 구매 SW는 내부 소스코드나 개발 산출물에 접근할 수 없어 공급사 평가, 상용품 품질검증(Commercial Grade Dedication), 인수 검사(Acceptance Testing) 중심의 보증 활동이 요구됩니다.
분류의 기원과 역사적 배경
특정 한 문서가 "오늘부터 이렇게 두 가지로 나눈다"고 선언한 단일 기원은 없습니다. 대신 소프트웨어가 시스템에 본격 도입되던 1970~1980년대 품질보증 규격이 정립되면서 자연스럽게 표준 체계로 확립되었습니다.
과거 품질보증의 근간(10 CFR 50 Appendix B, ANSI N45.2, MIL-Q-9858 등)은 하드웨어 제조 중심이었으며, 이때부터 이미 "직접 설계·제작하는 품목(Design Control)"과 "외부에서 조달하는 품목(Procurement Document Control & Control of Purchased Items)"을 완전히 별도 요건으로 다루었습니다. 소프트웨어 역시 규격 체계에 편입되면서 이 하드웨어 조달/개발의 이원화 구조를 그대로 물려받았습니다.
이 분류를 규정한 주요 표준 및 최초 도입 문서들
- ASME NQA-2 Part 2.7 (1990년 초판) 및 ASME NQA-1
- 원자력 엔지니어링 분야에서 최초로 SW 품질보증을 체계화한 규격입니다.
- 1990년 NQA-2 Part 2.7(소프트웨어 품질보증 요건)에서 소프트웨어 수명주기(Lifecycle) 통제 요건을 수립했고, 이후 NQA-1의 Subpart 2.7로 통합되었습니다.
- NQA-1은 수명주기 단계별 직접 통제(개발 SW) 외에도, 구매 소프트웨어(Procured Software) 및 기존/상용 소프트웨어(Existing Software)에 대해 공급사 감사(Audit), 상용품 품질검증(CGD), 수용 시험(Acceptance Test) 등 별도 보증 트랙을 명문화했습니다.
- IEEE Std 730 (Standard for Software Quality Assurance Plans, 1981년 초판)
- IEEE에서 세계 최초로 제정한 소프트웨어 품질보증 표준입니다.
- 초기 버전부터 자체 개발 산출물 통제뿐만 아니라 "Supplier Control(공급자 관리)" 절차를 필수 항목으로 요구하여, 외부에서 구매·조달하는 소프트웨어를 별도 트랙으로 관리하도록 규정했습니다.
- IEEE Std 1064 (Guide for Software Acquisition, 1991)
- 구매/도입 소프트웨어만을 위해 수립된 가이드로, COTS 및 공급자 조달 소프트웨어의 평가, 인수, 라이선스 관리 체계를 정의했습니다.
- ISO/IEC 12207 (Systems and software engineering – Software life cycle processes, 1995)
- 일반 IT 및 시스템 엔지니어링 분야의 국제 표준입니다.
- 기본 생명주기 프로세스를 정의할 때 획득 프로세스(Acquisition Process)와 개발 프로세스(Development Process)를 최상위 레벨에서 완전히 분리했습니다.
- 미 국방부 표준 (DoD-STD-2167A 등, 1980년대)
- 군수 시스템 개발 시 자체 개발 소프트웨어(CSCI) 통제 체계와 정부/상용 완성품 소프트웨어(NDI: Non-Developmental Item, COTS) 획득 통제를 분리하여 운영했습니다.
결론 및 실무 제언
회사의 현재 분류(개발 SW vs 구매 SW)는 IEEE 730, ASME NQA-1, ISO/IEC 12207 등 글로벌 표준의 철학과 완벽히 일치합니다.
절차를 보다 정교화할 때는 구매 SW 내부에서도 통제 강도를 아래와 같이 세분화하는 것이 일반적입니다.
- 범용 도구형 COTS SW: OS, 컴파일러, 단순 사무 도구 (기본 인수 검사 및 형상 버전 고정)
- 엔지니어링/해석용 구매 SW: 열수력 해석, 구조 해석 코드 등 (공급자 V&V 보고서 확보, 수용 시험 및 벤치마크 테스트, 필요시 CGD 절차 적용)
- 자체 개발 SW: 요구사항 정의서, 설계서, 구현/코딩 표준, 단위/통합/시스템 V&V, 형상관리 전 단계 준수
'소프트웨어 품질보증' 카테고리의 다른 글
| CGD commercial grade Dedication 용어가 일반적인 용어 인지 최초 사용 문서는 알 수 있을까 ? (0) | 2026.09.15 |
|---|---|
| 소프트웨어 품질 보증 (0) | 2026.09.15 |
