품질을 평가하는 두 가지 관점. 글로벌 자동차 OEM 업체들이 공급사에 요구하는 핵심 기준이다.
품질의 정의
명시적·묵시적 요구를 만족시키는 제품 또는 서비스의 능력에 관한 특성.
세 권위자의 정의:
- W.E. Deming: 품질은 고객의 요구를 만족시키는 것
- J.M. Juran: 품질은 사용 목적에 일치되는 정도
- P.B. Crosby: 품질은 고객 요구사항(기대)에 대한 적합도
품질 개선의 기본 사이클: PDCA (Plan → Do → Check → Act/Control).
소프트웨어 품질의 정의
| 정의자 | 정의 |
|---|---|
| IEEE | 소프트웨어가 필요한 속성을 보유하고 있는 정도 / 사용자의 기대 수준을 만족할 수 있는 정도를 결정하는 SW 특성 |
| 미국 국방부 (DoD) | 개발된 소프트웨어가 사용자의 요구사항을 만족할 수 있는 능력 |
| Roger S. Pressman | SW가 기능·성능·만족도에서 명시된 요구사항 및 내재된 요구사항을 얼마나 충족하는가를 나타내는 SW 특성의 총체 |
개발자 관점의 “품질 높은 SW”
프로그램에 결함이 없고 사용자의 요구를 정의한 요구분석 명세서대로 만든 소프트웨어. 즉,
- 사용자가 원하는 SW (Validation)
- 정상 동작하는 SW (결함 없음)
- 완성도가 높은 SW (명세 부합)
→ V&V와 직결됨.
두 가지 품질 관점
프로세스 품질 (Process Quality)
- 프로세스의 목적을 달성하기 위한 프로세스가 정의되었는가? (예: 프로젝트 계획 수립, 표준 프로세스 정의)
- 정의된 프로세스에 따라 수행·통제되고 있는가? (예: 요구사항 분석 활동, 품질보증 활동)
- 지속적으로 프로세스를 개선하고 있는가? (예: 결함 데이터 측정, 회고/Lessons Learned)
제품 품질 (Product Quality)
- 단계별 산출물이 이전 단계에 기반하여 만들어졌는가? (추적성, 예: 아키텍처 설계서 ↔ 요구사항 명세서)
- 단계별 산출물이 이전 단계와 일관성을 유지하는가?
- 최종 산출물이 고객 요구사항을 만족하는가? (예: 고객 합동 검토, 인수 테스팅)
SW 제품 품질 특성 — ISO 25010
소프트웨어 제품 품질이 가져야 하는 세부 속성. ISO 25010 (과거 ISO 9126) 에 정의.
| 특성 | 의미 |
|---|---|
| 기능성 (Functionality) | 요구되는 기능을 만족시키는 능력 |
| 신뢰성 (Reliability) | 규정된 환경에서 결함 없이 의도된 기능·작업을 수행하는 능력 |
| 사용성 (Usability) | 사용자가 이해하고 배우기 쉬운 정도 |
| 효율성 (Efficiency) | 적절한 자원 사용 및 적정한 반응 시간 정도 |
| 유지보수성 (Maintainability) | 소프트웨어의 수정 및 변경의 용이성 |
| 이식성 (Portability) | 지원하는 다양한 환경에서 운영될 수 있는 능력 |
| 상호운영성 (Interoperability) | 다른 시스템과의 상호 연동 능력 |
| 보안성 (Security) | 정보 및 데이터를 보호하는 능력 |
→ 제품 품질은 정적/동적 테스팅과 V&V로 확인. 프로세스 품질은 심사(Assessment) / 감사(Audit) 및 A-SPICE 기반 QA로 확인.
→ 비기능 요구사항의 Quality 축(비기능 요구사항 세부 분류)과 대부분 겹친다.
글로벌 OEM의 기대 수준 매트릭스
| 프로세스 품질 낮음 | 프로세스 품질 높음 | |
|---|---|---|
| 제품 품질 낮음 | 주먹구구식(Ad-hoc) 개발, 슈퍼 개발자 부재 → 혼돈 (의사소통 문제, 높은 재작업) | 프로세스가 존재하나 실제 업무와 불일치, 형식적 개선 활동 |
| 제품 품질 높음 | 슈퍼 개발자에 의해 품질 확보. 이 인력이 퇴사하면 품질이 하루아침에 떨어짐 | 실제 업무 반영한 프로세스 존재, 적절한 통제, 실질적 개선 + 스폰서 지원 |
→ OEM이 요구하는 상태는 우측 하단 (둘 다 높음). 슈퍼 개발자 의존 모델은 위험하다는 것이 핵심 메시지.