결함 수정에 할당 된 총 용량의 평형 백분율은 결함 주입 률 과 같습니다 .
물론 팀이 개발하는 제품의 종류, 사용하는 기술 및 기술 관행, 팀의 기술 수준, 회사 문화 등 많은 요소가이 비율에 영향을 줄 수 있습니다.
팀 B를 고려할 때, 완료 한 10 개의 작업 단위마다 평균 8 개의 재 작업을 작성하면 8 개의 단위를 작업하면 새로운 6.4 개의 재 작업이 작성됩니다. 우리는 기하학적 진행의 합으로 결국 소비해야 할 총 노력을 추정 할 수 있습니다.
10 + 8 + 6.4 + 5.12 + ...
버그의 수는 시간이 지남에 따라 기하 급수적으로 감소하지만 B 팀은 지수에 이러한 계수가있어 매우 느리게 0이됩니다. 실제로, 위의 시리즈에서 처음 세 항의 합은 24.4에 불과합니다. 처음 5 개 중 33.6; 처음 10, 45 중; 따라서 전체 시리즈 중 50 개. 따라서 팀 B 요약 : 결함 주입 률, 0.8; 기능 개발, 10/50 = 20 %; 결함 고정, 80 %. 20/80은 지속 가능한 용량 할당입니다.
대조적으로, 팀 A는 훨씬 더 나은 형태입니다. 그들의 진행은 다음과 같습니다 :
40 + 10 + 2.5 + 0.625 + ...
이 시리즈의 합은 53 1/3이므로 팀 A의 기능 개발 할당은 40 / (53 1/3) = 75 %이고 결함 수정 할당은 25 %이며 결함 주입 비율은 10/40 = 0.25입니다. .
실제로, 처음 3 이후의 팀 A 시리즈의 모든 용어는 무시할 정도로 작습니다. 이것이 실제로 의미하는 것은 팀 A가 아마도 두 개의 유지 보수 릴리스로 모든 버그를 제거 할 수 있다는 것입니다. 두 번째 릴리스는 범위가 매우 작습니다. 이것은 또한 모든 팀이 할 수 있는 환상을 만듭니다 . 그러나 B 팀은 아닙니다.
데이비드 앤더슨 (David Anderson)의 새 책 "간반 (Kanban)" 을 읽는 동안이 동등성에 대해 생각했습니다 . 소프트웨어의 품질을 논의 할 때 Anderson 은 Capers Jones가 "소프트웨어 평가, 벤치 마크 및 모범 사례"라는이 책을 인용 합니다 .
"... 2000 년 ... 북미 팀의 소프트웨어 품질 측정 ... 기능 포인트 당 6 개 결함에서 100 개 기능 포인트 당 3 개 미만, 200에서 1까지의 범위까지 중간 범위 는 약 1 개입니다. 기능 포인트 0.6 ~ 1.0 : 팀이 결함을 수정하는 데 90 % 이상의 노력을 기울이는 것이 일반적임을 의미합니다. "그는 버그를 수정하는 데 90 %의 시간을 소비하는 회사 동료 중 한 명이 제공 한 사례를 인용합니다 . .
Anderson이 결함 주입 속도에서 defext-fixing capacity 할당에 이르기까지의 유창성 ( 실패 요구 는 그 용어 임)은 두 가지의 동등성이 소프트웨어 품질 연구자들에게 잘 알려져 있으며 아마도 한동안 알려졌을 것임을 시사합니다 .
제가 여기 제시하려고하는 추론의 핵심 단어는 "평형"과 "지속 가능"입니다. 지속 가능성을 없애면 이러한 수치를 속이는 명백한 방법이 있습니다. 초기 코딩을 한 다음 다른 곳으로 코드를 옮기고 다른 사람에게 유지 보수를 맡기십시오. 또는 기술 부채를 상환하여 새 소유자에게 내립니다.
분명히 모든 팀에 적합한 할당은 없습니다. 버그에 20 %를 소비해야한다고 결정한 경우, 팀에 결함 주입 률이 매우 낮 으면 시간을 채울 버그가 충분하지 않으며 팀의 속도가 매우 높으면 버그가 발생합니다. 계속 축적됩니다.
여기서 사용한 수학은 단순화되었습니다. 나는 거래 비용 (계획 및 추정 회의, 사후 조사 등)을 무시했는데, 이는 백분율에 약간 영향을 미칩니다. 또한 한 제품을 유지하고 다른 제품을 동시에 개발하는 시뮬레이션을 생략했습니다. 그러나 결론은 여전히 유효합니다. 단위 테스트, 지속적인 통합, 코드 검토 등과 같은 기술 실무 측면에서 결함 주입 속도를 줄이고 결과적으로 실패 요구를 줄이려면 수행 할 수있는 작업을 수행하십시오. 10 가지 기능마다 하나의 버그만 만들 수 있다면 새로운 기능을 개발하고 고객을 만족시킬 수있는 많은 자유 시간이 있습니다.