2009년 12월 31일 목요일

프로그래머의 생산성

IBM 소프트웨어 개발팀에서 조사한 월간 1인당 작성한 코드 수
 
  • 1     M/M의 경우  439라인
  • 10   M/M의 경우  220라인
  • 100  M/M의 경우  110라인
  • 1000M/M의 경우  55라인
 사람이 많이 투입된 큰프로젝트일 수록 개발자간의 의사소통경로가 많아져서 일이 지연된다는 의미. 이를 해결하기 위해서는 작은 팀 단위로 나누어야 한다.
 임베디드 시스템에 적용할때는 하나의 고성능 CPU에 온갖 프로그램을 전부 올리려 하지 말고, 작은 CPU로 분할된 개별 시스템을 각 소규모 팀에 할당해서 개발하라. 칩은 싸고 인건비는 비싸다.


  KLOC(Kilo Line of Code)로 구분된 프로젝트의 규모에 따라 숙련된 프로그래머(Best programmer)와 비숙련된 프로그래머의 생산성을 비교한 결과. 큰 프로젝트 일수록 수퍼스타들을 잠식해버린다. 끝없이 이어지는 회의와 메모들이 그들의 창조성을 위협한다.

프로그램의 크기(KLOC)
숙련된  프로그래머(월/KLOC)
비숙련된 프로그래머(월/KLOC)
1
1
6
8
2.5
7
64
6.5
11
512
17.5
21
2048
30
32

결론은 똑똑한 개발자들에게 작고 아주 중요한 일을 주라는 것.



(출처: The Art of Designing Embedded Systems 2nd Ed.)