효율적인 일정 : 최선의 경우 달성 가능
- 인력 : 상위 25% 능력의 팀원
- 지원 : 효율적인 프로그래밍 도구, 우수한 물리적 환경
- 방법론 : 적극적 위험 관리, 쾌속 개발법
- 일정 단축 가능성 : 최대 25%까지 가능
Code Line |
일정 (개월) |
노력 (월-인원) |
10,000 |
5.9 |
8 |
30,000 |
9 |
32 |
50,000 |
11 |
67 |
100,000 |
15 |
160 |
160,000 |
18 |
280 |
180,000 |
19 |
320 |
200,000 |
20 |
360 |
250,000 |
22 |
470 |
300,000 |
24 |
590 |
400,000 |
27 |
830 |
500,000 |
29 |
1,100 |
명목 일정 : 평균적인 프로젝트에서 목표로 해야하는 일정
- 인력 : 상위 50% 능력의 팀원, 10~12%의 이직률
- 지원 : 일반적인 사무실 환경
- 방법론 : 비적극적인 위험 관리
- 일정 단축 가능성 : 최대 25%까지 가능
Code Line |
일정 (개월) |
노력 (월-인원) |
10,000 |
7 |
15 |
30,000 |
11 |
59 |
50,000 |
14 |
115 |
100,000 |
18 |
270 |
160,000 |
22 |
470 |
180,000 |
23 |
540 |
200,000 |
24 |
610 |
250,000 |
26 |
800 |
300,000 |
29 |
1,000 |
400,000 |
32 |
1,400 |
500,000 |
35 |
1,800
|
구성원수 예측
구성원수 (명) = 노력 (월-인원) / 일정 (개월)
예를들어 100,000 라인 정도 크기의 제품은 18개월이 적정 일정이며, 18개월을 목표로 할 경우 270 / 18 = 15 명의 팀원이 필요하다고 예측할 수 있다. 만약 일정이 시급하여 2개월을 줄인다면 270 / (18-2) = 17 명 정도의 인원이 필요하다. 즉 일정을 줄이려면 투입 인원을 늘리면 되고, 비용을 줄이고 싶다면 인력을 줄이는 대신 일정을 더 길게 잡으면 된다. 하지만 인력을 아무리 늘려도 최단 일정보다 빠르게 완료되지는 않는데, 인력이 늘어날수록 이를 관리하는데 드는 비용이 늘어나고 의사소통이 복잡성해지기 때문이다.
소스 코드가 약 220,000 라인 정도 (클라이언트 기준) 되는 우리 프로젝트는 명목 일정 26개월에 노력이 800월-인원으로 예측할 수 있다. 이 경우 26개월 일정을 맞추기 위한 인원은 800 / 26 = 30 명 정도로 예측할 수 있는데 현재 프로젝트 참여 인원은 이 절반에도 미치지 못한다. 서글프다. ㅠㅠ
참고 : Rapid Development by Steve McConnel, Microsoft Press