소프트웨어 개발에서는 사람의 실수(오류)로 인해 결함(버그)이 발생하고, 이 결함이 실행되면 장애로 이어질 수 있다
이러한 문제를 줄이기 위해 근본 원인 분석을 통해 오류를 예방하고 결함을 최소화하는 것이 중요하다
1. 오류(Error), 결함(Defect), 장애(Failure)의 관계
💡 즉, 오류 → 결함 → 장애로 이어질 수 있음
2. 사람이 오류를 범하는 원인
💡 즉, 단순한 실수뿐만 아니라, 업무 환경이나 프로젝트 상황도 오류 발생에 영향을 줌
3. 결함이 존재할 수 있는 곳
💡 개발 초기에 발생한 결함이 발견되지 않으면 이후까지 영향을 미칠 수 있음
4. 장애(Failure)의 발생 조건
💡 즉, 모든 결함이 장애로 이어지는 것은 아니지만, 실행되면 장애를 발생시킬 가능성이 있음
5. 장애의 원인
💡 즉, 결함뿐만 아니라 외부적인 요인도 장애를 유발할 수 있음
6. 근본 원인 분석(Root Cause Analysis)
💡 즉, 단순히 장애를 수정하는 것이 아니라, 동일한 문제가 반복되지 않도록 근본적인 원인을 해결하는 것이 중요함