뒤로
영민
영민 ·

프로그래밍 명저 읽기(1) <맨먼스 미신, 프레더릭 브룩스>

늦어지는 소프트웨어 프로젝트, 인력을 추가로 투입하면 문제를 해결할 수 있을까?


결론부터 말하자면, 'NO'다.

IBM 시스템/360의 아버지로 잘 알려진 프레더릭 P. 브룩스는 자신의 저서 <맨먼스 미신(1974)>에서 SW프로젝트 개발은 사람과 일정의 등가교환이 이뤄질 수 없다고 말한다. 속된 말로 '사람을 갈아 넣어 개발 일정을 맞춘다.'가 SW 개발현장에서는 통용되지 않는다는 것이다. 이유는 무엇인가?


브룩스는 소프트웨어 프로젝트는 작업의 분할이 쉬운 분야가 아니며, 서로 간의 소통이 매우 필수적이라는 점에서 등가교환이 불가능하다고 말한다.

브룩스가 보기에 SW 프로젝트는

  1. 작업의 성격상 순서가 매우 중요하고
  2. 분할은 가능하지만 하위 작업을 처리하는 데에 커뮤니케이션이 매우 필요하다. 여기에서 말하는 커뮤니케이션은 무엇인가?
  3. 훈련 - 새로운 인원이 들어올 경우 프로젝트에 대한 이해가 필요하여 추가적인 훈련을 요한다. 이는 분할이 불가하고 절대적인 순서가 필요하다는 점에서 추가로 투입되는 사람 수에 비례하여 프로젝트 전체에 부담이 증가한다.
  4. 의사소통 - 이는 작업을 나눠서 얻는 이점을 완전히 상쇄할 정도로 프로젝트의 빠른 진행을 막는 요소로 작용할 수 있다.

소프트웨어를 만든다는 것은 본래 조직적인 활동이다. 즉 복잡한 상호연관성을 가진 활동이기 때문에, 의사소통에 품이 많이 들 수 밖에 없으며, 작업 분할로 확보된 개별 업무 시간을 금방 잠식해 버릴 수 밖에 없다.

결론적으로 사람을 더 투입하는 것은 일정을 더 단축시키기는 커녕 더 늘어지게 만든다. 

같은 장에서 저자는 본인이 경험하며 가장 성공적이었던 프로젝트 일정 관리법을 제시하는데, 관련해서는 다음 글에서 작성해보도록 하겠다.




8

댓글

로그인 후 댓글을 남길 수 있습니다.

이종석
이종석

저의 개인적인 생각으로는 여러가지 상황에 따라 달라질 것 같습니다. (가능하기도 하고 불가능하기도 하고~~)

영민
영민

맞는 말씀입니다 ^^ 다만 sw 개발 프로젝트의 특성에 대해서는 계속해서 고찰해야 하지 않을까 합니다.

Doeon Kwon 권도언
Doeon Kwon 권도언

디스콰이엇 사무실에 맨먼스 미신 책이 있는데 아직 읽어보진 않았어요. 영민님 글을 보니 읽어보고 싶어지네요!

이상엽
이상엽

소통이 잘 이루어진다면 사람을 더 투입하는 것이 일정을 더 단축시킬 수 있을 거 같아요~ 좋은글 감사합니다~