Mythical Man-Month
프로젝트와 개발자 관계에 관해서 흔히 하기 쉬운 착각 중에 하나가 개발자를 공장의 생산 기계로 생각한다는 것이다. 따라서 생산량이 부족하면 증산을 위해서 생산 기계를 하나 더 들여놓으면 되는 것으로 단순하게 생각한다.
그러나 프로그램의 개발은 공장에서 제품을 생산하는 단계가 아닌 제품을 개발하는 단계와 같으며, 앞서 프로젝트 비용과 일정에서 설명한 바와 같이, 결코 그림6과 같은 등식은 성립될 수 없음을 유념해야 한다.
그림 6 프로젝트 일정과 투입인력 관계 (DeMarco, The Deadline : A Novel About Project Management, 1997, p. 127)
프로젝트팀의 인원이 커질수록 의사소통을 위한 경로가 기하급수적으로 커질 수 밖에 없는 데 의사 소통 경로가 증가할수록 의사 소통에 따른 문제가 증가하고 이를 효율적으로 관리하기 위한 인원과 프로세스가 추가적으로 필요하다.
그림 7 의사소통 경로의 수는 팀원의 수에 제곱에 비례한다 (McConnel, Code Complete, 2004, p. 893)
그림 6의 경우 의사소통 경로가 20명이 투입된 경우 190(20*(20-1)/2)가지이며 10명의 경우 45(10*(10-1)/2)가지 이다.
결국 프로젝트의 생산성은 인원에 비례하지 않는 결과를 낳는다.
그림 8 프로젝트 생산성과 팀원 수와의 관계 (DeMarco, The Deadline : A Novel About Project Management, 1997, p. 130)
프로젝트가 망가졌을 때 이를 복구하기 위해 인력을 추가하는 것은 불에 기름을 붓는 것과 같다 (Brooks, 1975). 실제로 프로젝트에 새 인력이 추가되면 추가된 인력이 팀의 생산성에 도움을 주기까지는 일정시간이 필요하며 그 시간까지는 프로젝트에 대한 교육 등의 이유로 팀 생산성을 낮추는 요인으로 작용한다.
그림 9 프로젝트 생산성과 신규 인력의 추가 (DeMarco, The Deadline : A Novel About Project Management, 1997, p. 130)
프로젝트 개발기간의 반이 흘렀을 무렵, 개발자 2명이 추가 투입되었다. 이미 많은 시간이 흘러서 개발자에게 업무를 주자니 업무분석 단계의 history를 이해하질 못했고, 개발을 위해서 처음에 만들었던 Library에 대한 이해가 부족해서 업무를 나눠서 주질 못했다. 결국 단순한 업무 – 화면을 고친다던 지, SQL을 만든다던 지 – 밖에 줄 수 없었고 개발자들에게 작업을 주는 것 조차부담스러울 때가 있었다.
[원문주소] : http://swarchi.tistory.com/2
'비법전수' 카테고리의 다른 글
4. 프로세스에 대한 오해 (0) | 2019.09.07 |
---|---|
3. 프로젝트의 크기가 미치는 영향 (0) | 2019.09.07 |
1. 프로젝트 예측 (0) | 2019.09.06 |
블로그 광고법!! 애드젯!! (0) | 2011.07.19 |
TG삼보 스타2 리그가 개막 합니다. (0) | 2010.09.07 |