결함증폭 모델로 보는 초기 오류와 소프트웨어 품질 관리
결함증폭 모델의 오류 전이와 증폭 구조를 설명하고, FTR·테스트·표준·메트릭으로 단계별 결함을 관리하는 방법을 정리한다.
2026-08-14 · 최초 발행 2026-04-17
결함은 다음 단계에서 더 큰 형태로 나타난다
예비 설계, 상세 설계, 코딩은 앞 단계의 결과물을 이어받아 진행된다. 이 과정에서 검출되지 않은 오류는 다음 산출물에 반영되고, 새 오류를 유발하거나 여러 결함으로 확대될 수 있다.
결함증폭 모델(Defect Amplification Model)은 이런 오류의 생성·탐지 구조를 설명하는 품질 관리 모델이다. 설계에서 생긴 작은 오해가 코딩 과정에서는 수십 개의 버그로 드러날 수 있으며, 프로젝트 후반에 발견한 결함의 수정 비용이 초기보다 수십 배 이상 커질 수 있다는 점의 이론적 근거가 된다.
개발 단계 안에서 결함이 전이되고 걸러지는 방식
한 개발 단계에는 이전 단계에서 넘어온 결함과 현재 작업에서 새로 만들어진 오류가 함께 존재한다. 개발 작업을 거치며 잠재 결함은 증폭될 수 있고, 품질 보증 활동이 이를 제거하지 못하면 남은 결함은 다음 단계로 전달된다.
핵심은 단계 말미의 필터링이다. 출력 결함(Output Errors)을 줄이지 못하면 이후 공정에서 수정 대상과 영향 범위가 함께 커진다.
검토와 테스트를 품질 필터로 사용한다
정형 기술 검토(FTR: Formal Technical Review)는 설계서나 코드 같은 산출물을 동료와 함께 검토하는 활동이다. 워크스루(Walkthrough)와 인스펙션(Inspection)이 여기에 포함되며, 개발 초기에 결함을 찾아내는 효과적인 방법으로 활용된다.
테스트는 단위 테스트와 통합 테스트 등을 통해 실제 동작에서 오류를 확인한다. 결함증폭 모델에서는 주로 코딩 이후 단계의 활동으로 볼 수 있지만, TDD(Test Driven Development)는 설계 단계의 결함 제거까지 그 범위를 확장한다.
일관된 코딩 표준과 설계 원칙도 결함 관리에 관여한다. 개발자 개인의 성향에서 비롯되는 신규 오류 생성을 억제하고, 결함 증폭의 변동성을 낮추는 역할을 한다.
메트릭으로 증폭되는 지점을 찾아낸다
결함 밀도(Defect Density)와 결함 제거 효율(DRE: Defect Removal Efficiency)을 측정하면 현재 프로세스의 품질 수준을 정량적으로 파악할 수 있다. 이를 통해 결함이 과도하게 증폭되는 단계를 식별하고 해당 구간을 집중 관리할 수 있다.
설계 단계에서 1시간의 검토를 아끼면, 나중에 테스트 단계에서 10시간의 디버깅과 수정을 감수해야 한다. 품질은 마지막에 검사만 하는 일이 아니라, 각 개발 단계에서 만들어지고 유지되는 결과다. 단계가 끝날 때마다 정형 기술 검토와 품질 보증 활동으로 결함의 전이를 차단해야 한다.
Sources
- Pressman, R. S. (2014). Software Engineering: A Practitioner's Approach. McGraw-Hill.
- Jones, C. (2008). Applied Software Measurement: Global Analysis of Productivity and Quality. McGraw-Hill.
- Kan, S. H. (2002). Metrics and Models in Software Quality Engineering. Addison-Wesley.