'SOS! 죽어가는 프로젝트 살리기'에서 프로젝트 재난 여부 평가는 일정, 예산 그리고 마지막으로 품질이다.
그런데 테스팅 에반젤리스트로서 이 책의 품질에 대한 측정보다는 아래에서 소개하고자 하는 '누적 결함 S 커브'가 더욱 더 효과적일 듯 하다.
머 판단은 책을 읽고 이 글을 읽는 여러분이 판단할 문제이긴 하다.
우선 책에 있는 문제를 내 맘대로 수정해 보았다.
아래 표를 보도록 하자.
위 그래프를 각각의 심각도 별로 그래프를 그리면 아래와 같다.
그래프를 읽는 법은 특정 심각도의 신규 결함과 수정된 결함을 누적하여 그린 후 두 곡선 사이의 가로 간격이 결함을 수정하는 데 걸린 시간이고 세로 축이 특정 시점에서의 잔존 결함이다.
위 그래프를 보면 현재 이 프로젝트는 심각하다. 지금 당장 경보를 울려야 할 상황이다.
이유인즉 모든 심각도에서 결함이 계속해서 발견되고 있다. 문제는 발견된 결함의 수정 활동이 사소한 문제에 집중되어 있지만 신규로 발견되는 결함을 모두 처리하지 못하고 있다.
더 심각한 것은 치명적 결함이다. 결함이 수정되는데 적어도 3단계의 기간이 필요하다. 그리고 잔존 결함이 전혀 줄어들지 않고 있다.
책에서도 결함이 수정된 것은 문제 목록에서 제거해야 한다고 적혀 있긴 하다.
하지만 단순한 표만으로 현재 결함의 증가 추세와 결함을 해결하는데 걸리는 시간 등에 대한 정보를 한번에 파악하기가 쉽지 않다.
이럴 때 '누적 결함 S 커브'는 일목요연하게 현재 프로젝트의 상황을 전달해 주는 데 효과적이라고 생각된다.
그리고 단순히 결함의 심각도 뿐만 아니라 리스크 영역별에 따라 심각도별 누적 결함 S 커브를 그려서 각 리스크 영역별에 따라 심각도 별 잔존 결함과 결함의 수정 시차에 대해 종합적으로 고려해야만 한다.
결론적으로 'SOS! 죽어가는 프로젝트 살리기'에서 프로젝트 재난 여부 평가는 일정이 지연되면서 돈만 까먹는 순간으로 정의하는 것 같다.
그리고 그러한 순간을 파악할 수 있는 핵심적인 역할을 할 조직으로는 역시 테스팅 조직인 것 같다.
일정이 지연되고 예산이 늘어나는 현상을 대부분의 경우 개발팀의 관점으로 바라보지만 실제로 소프트웨어가 개발되는 중에 일정이 지연되고 예산이 늘어나는 많은 경우는 결함을 수정하지 못하는 경우라고 생각된다.
많은 경우 소프트웨어 개발에서 테스팅에 필요한 기간이나 예산에 소홀한 경향이 있다. 이런 경우 실제 프로젝트를 진행할 때 일정 지연과 예산 증가는 필수 불가결한 요소가 되어 버린다.
거기다가 심각한 결함이 해결되지 않거나 해결한 결함이 계속해서 또 다른 사이드 이펙트를 발생시킨다면 개발은 지연될 수 밖에 없다. 특히 이러한 일들이 프로젝트 후반부에 닥친다면 프로젝트는 점점 아수라장이 되어 버린다.
때문에 테스팅 활동은 개발 초기부터 수행되어야 할 필요성이 있는 것이다.
그런데 테스팅 에반젤리스트로서 이 책의 품질에 대한 측정보다는 아래에서 소개하고자 하는 '누적 결함 S 커브'가 더욱 더 효과적일 듯 하다.
머 판단은 책을 읽고 이 글을 읽는 여러분이 판단할 문제이긴 하다.
우선 책에 있는 문제를 내 맘대로 수정해 보았다.
아래 표를 보도록 하자.
단계 | 사소한 문제 | 심각한 문제 | 치명적 문제 | ||||||
신규 | 수정 | 잔존 | 신규 | 수정 | 잔존 | 신규 | 수정 | 잔존 | |
1 | |||||||||
2 | 12 | 12 | 2 | 2 | |||||
3 | 18 | 10 | 20 | 3 | 1 | 4 | 2 | 2 | |
4 | 13 | 15 | 18 | 4 | 2 | 6 | 2 | 4 | |
5 | 15 | 13 | 20 | 1 | 3 | 4 | 3 | 1 | 6 |
6 | 15 | 20 | 15 | 8 | 4 | 8 | 4 | 1 | 9 |
7 | 31 | 18 | 29 | 10 | 6 | 12 | 1 | 2 | 8 |
8 | 42 | 25 | 46 | 16 | 8 | 20 | 9 | 3 | 14 |
9 | |||||||||
10 | |||||||||
11 | |||||||||
12 |
위 그래프를 각각의 심각도 별로 그래프를 그리면 아래와 같다.
그래프를 읽는 법은 특정 심각도의 신규 결함과 수정된 결함을 누적하여 그린 후 두 곡선 사이의 가로 간격이 결함을 수정하는 데 걸린 시간이고 세로 축이 특정 시점에서의 잔존 결함이다.
위 그래프를 보면 현재 이 프로젝트는 심각하다. 지금 당장 경보를 울려야 할 상황이다.
이유인즉 모든 심각도에서 결함이 계속해서 발견되고 있다. 문제는 발견된 결함의 수정 활동이 사소한 문제에 집중되어 있지만 신규로 발견되는 결함을 모두 처리하지 못하고 있다.
더 심각한 것은 치명적 결함이다. 결함이 수정되는데 적어도 3단계의 기간이 필요하다. 그리고 잔존 결함이 전혀 줄어들지 않고 있다.
책에서도 결함이 수정된 것은 문제 목록에서 제거해야 한다고 적혀 있긴 하다.
하지만 단순한 표만으로 현재 결함의 증가 추세와 결함을 해결하는데 걸리는 시간 등에 대한 정보를 한번에 파악하기가 쉽지 않다.
이럴 때 '누적 결함 S 커브'는 일목요연하게 현재 프로젝트의 상황을 전달해 주는 데 효과적이라고 생각된다.
그리고 단순히 결함의 심각도 뿐만 아니라 리스크 영역별에 따라 심각도별 누적 결함 S 커브를 그려서 각 리스크 영역별에 따라 심각도 별 잔존 결함과 결함의 수정 시차에 대해 종합적으로 고려해야만 한다.
결론적으로 'SOS! 죽어가는 프로젝트 살리기'에서 프로젝트 재난 여부 평가는 일정이 지연되면서 돈만 까먹는 순간으로 정의하는 것 같다.
그리고 그러한 순간을 파악할 수 있는 핵심적인 역할을 할 조직으로는 역시 테스팅 조직인 것 같다.
일정이 지연되고 예산이 늘어나는 현상을 대부분의 경우 개발팀의 관점으로 바라보지만 실제로 소프트웨어가 개발되는 중에 일정이 지연되고 예산이 늘어나는 많은 경우는 결함을 수정하지 못하는 경우라고 생각된다.
많은 경우 소프트웨어 개발에서 테스팅에 필요한 기간이나 예산에 소홀한 경향이 있다. 이런 경우 실제 프로젝트를 진행할 때 일정 지연과 예산 증가는 필수 불가결한 요소가 되어 버린다.
거기다가 심각한 결함이 해결되지 않거나 해결한 결함이 계속해서 또 다른 사이드 이펙트를 발생시킨다면 개발은 지연될 수 밖에 없다. 특히 이러한 일들이 프로젝트 후반부에 닥친다면 프로젝트는 점점 아수라장이 되어 버린다.
때문에 테스팅 활동은 개발 초기부터 수행되어야 할 필요성이 있는 것이다.
감사히 잘 읽었습니다.
답글삭제비밀 댓글 입니다.
답글삭제@Anonymous - 2010/07/26 15:08
답글삭제고맙습니다.
말씀해 주신 내용을 수정했습니다.