맨먼스 미신

소프트웨어 개발 프로젝트 일정 얘기가 나올때 마다 나오는 맨먼스[각주:1]에 관한... 소프트웨어 공학의 필독서라 할 수 있는, 맨먼스 미신을 읽어봤습니다.

이 책의 초판이 나온지 많은 시간이 흐른 지금까지도[각주:2], 책에서 말한 내용과 거의 다를게 없을정도로 소프트웨어 개발환경은 뭔가 진흙구덩이 속에 있는거 같습니다^^; 온갖 최신기술를 이용하는데도 말이죠...

책의 주된 내용은 소프트웨어 개발에서 소모되는 비용의 최적화(인적, 물적, 시간등 모든 자원들) 및 생산성 향상에 초점을 맞추고 있지만, 결론은 황당하게도 '은총알은 없다[각주:3]'.

결국 프로젝트가 성공하려면, 소수 정예가 모여있는 작은 팀을 만들어서, 설계를 시작할때부터 프로젝트에 있을수도 있는 결함을 미리 잡아놔야 한다는 내용...

그럼 지연되거나 혹은 실패한 프로젝트를 성공시키려면? 역시 '마땅한 해결책이 없다'.

결국 처음부터 잘하라는데... 많고 많은 프로젝트중에 처음부터 완벽한 설계를 바탕으로 코드를 작성하고 테스트까지 완료하는게 가능한곳이 몇군데나 될까요;; 물론 그래서 실패하는 프로젝트가 많은거일수도...

어쨌든, 책을 읽고나서, 경험과 지식을 꾸준히 쌓다보면 프로젝트에서 생기는 위험을 약간씩이나마 줄일 수 있을거 같습니다. 이 책이 나온때부터 계속적으로 문제가 제기된 일을 현실에서는 아직까지도 계속 사용하고 있으니까요...

최근에 각광받는 익스트림 프로그래밍, TDD, 애자일 방법론도 이 책이 나온 이후에 많은 프로젝트를 겪으면서 나온 프로그래머들의 경험 아닐런지.

ps. 하지만 역시나 은총알은 없습니다;;
  1. MAN-MONTH, 일정이 지연되는 프로젝트에 인력을 추가로 투입해도, 일정이 빨라지기는 커녕 오히려 실패할 가능성을 높인다는 이야기. 이미 프로젝트는 실패했지만, 더 시궁창으로 빠진다는... [본문으로]
  2. 미국에서 초판 1975년, 20주년 기념판은 1995년에 출간되었으며, 국내에서는 2007년에 20주년 기념판이 출간. [본문으로]
  3. No Silver Bullet, 소프트웨어 생산성을 대폭적으로 향상시킬수 있는 신기술은 없다는 의미. [본문으로]
Posted by 극악해골