Software Estimation
"Code Complete" 와 "Rapid Development" 등 졸트상의 단골 저자로 잘 알려진
맥코넬이 소프트웨어 추정 문제를 들고 찾아왔습니다. 책의 스타일은 두 번째
책과 유사합니다. 베스트 프랙티스를 나열하는 형식이라고 보시면 됩니다.
소프트웨어 추정이란 "일정 - 과연 이 프로젝트를 끝내는데 얼마나
걸리는가?", "공수 - 이 프로젝트를 끝내는데 필요한 맨먼스는?" 에 대한
예측을 만드는 작업을 뜻합니다. 이 책에서 집중하고 있듯이 전 단계로 "규모
- 이 프로젝트의 작업량은 얼마나 되는가?" 를 먼저 구하는 것이
일반적입니다. 보통 규모의 척도로 소스코드의 라인 수를 많이
사용합니다.(SLOCCount 라는 소프트웨어를 강력 추천합니다. Astyle 을 전
처리기로 사용하시면 더욱 좋습니다.) 현재 가장 정확한 추정치(오차 범위
5%)들을 얻는 대형 프로젝트들은 대부분 비 Agile 영역에 속해 있습니다.
이는 흔히 Agile 방법론들이 예시하는 결과와는 많이 다릅니다. 이것이 평소
Agile을 약간은 수상한 눈으로 보게 만드는 이유 중 하나입니다. 왜 최고와
비교하지 않는가? CMM 5 등급의 개발팀과 비교하면 어떤 결과가 나오는가?
Agile 이 주는 가치는 아마도 "변화를 포용한다" 로 한정 지어야 하지 않을까
생각합니다. 그 대가로 희생되는 것은 "효율"과 "전망" 입니다. 제 생각에는
할만한 거래입니다. 하지만 이 책에 소개되는 프랙티스 중 상당 수는 Agile
에도 적용 가능합니다. 마지막으로 저자가 소개하는 추정의 문제는 대부분
CoCoMo 의 모델을 따르고 있습니다. 다음에는 Agile 쪽으로 완전히 기울어진
추정관련 책하나 소개 드리겠습니다. 그런데 여담 하나. 저는 JIRA 의 Time
Tracking 기능으로 관리되는 값들을 기초로 추정을 업데이트하고 있는데,
말도 못하게 귀찮습니다. 추정 관련 JIRA 플러그인 하나 나와주면 좋겠는데
말이죠.