Game Dev/Article

소프트웨어 일정 예측

AKer 2008. 10. 22. 20:16
반응형
일정의 예측
일정 (개월) = 3.0 * pow(월-인원, 1/3)

예를 들어 프로젝트에 65월-인원이 든다고 예측하였다면 이 공식에 따른 예측 일정은 12개월이다. 
12 = 3.0 * pow(65, 1/3) 


최단 일정 : 이론적이며 달성 불가능
- 인력 : 상위 10% 능력의 팀원
- 지원 : 첨단 HW 및 SW 지원
- 방법론 : 시간 효율이 가장 큰 개발법과 개발 도구
- 일정 단축 가능성 : 불가능

Code Line 일정 (개월) 노력 (월-인원) 
 10,000  4.2 8
 30,000 7 37
 50,000 8 79
 100,000 11 190
 160,000 13 335
 180,000 13 390
 200,000 14 440
 250,000 15 580
 300,000 16 725
 400,000 19 1,000
 500,000 20 1,400


효율적인 일정 : 최선의 경우 달성 가능
- 인력 : 상위 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
반응형

'Game Dev > Article' 카테고리의 다른 글

배열과 Loop를 다루는 3가지 방법  (0) 2009.01.12
Render to Texture  (0) 2008.12.17
Open Partner File  (0) 2008.09.24
Ogre Engine v1.6.0 설치하기 (VC 2008)  (0) 2008.09.10