본문 바로가기
개발자

브룩스의 법칙(Brooks' Law)

by A6K 2023. 12. 6.

브룩스의 법칙(Brooks' Law)은 프레더릭 브룩스가 자신의 책인 <맨먼스 미신>(The Mythical Man-Month)에서 언급한 소프트웨어 개발과 관련된 법칙이다. 

지체되는 소프트웨어 개발 프로젝트에 인력을 더하는 것은 개발일정을 더 늦출 뿐이다.
- 맨먼스 미신, 페레더릭 브룩스

맨먼스 (Man/Month)

소프트웨어 프로젝트를 진행하면서 '맨먼스(Man/Month)'라는 용어를 자주 사용하게 된다. 맨먼스는 1명의 개발자가 1개월동안 작업할 수 있는 일의 양을 하나의 단위로 추상화시켜 놓은 것이다. 흔히 MM이라고 줄여서 표현한다.

맨먼스 방식은 소프트웨어 프로젝트를 진행하기 위한 인력 리소스를 파악하기위해 주로 사용된다. 1MM은 1명의 개발자가 1개월동안 작업하는 일의 단위다. 2MM은 1명의 개발자가 2개월동안 진행하거나 2명의 개발자가 1개월 동안 진행할 수 있는 일의 양이다. 프로젝트 발주업체나 인력파견 업체 혹은 소프트웨어 개발팀에서는 일의 양을 추산하고, 몇 명이 어느정도 시간을 투입해야 완료할 수 있는 일인지를 가늠하게 된다.

문제는 맨먼스를 이용한 프로젝트 고나리가 소프트웨어 프로젝트의 본질과 동떨어져있는 경우가 많다는 점이다.

브룩스의 법칙

브룩스의 법칙은 맨먼스 방식의 맹점을 지적하고 있다. 

프로젝트 관리자 입장에서는 지체되고 있는 프로젝트에 개발자를 추가로 투입해서 진행을 빠르게 하고 싶을 것이다. 맨먼스로 생각해보면 일의 양은 정해져 있는데 사람이 부족해서 속도가 느리다고 판단할 수 있다. 여기에 사람을 더하면 일의 진행속도가 더 빨라진다고 생각하기 쉽다. 인력이 갑자기 두배가되면 완료에 필요한 기간은 절반으로 줄어야 한다. 하지만 소프트웨어 프로젝트를 진행해 본 사람이라면 공감하지 않을 것이다.

브룩스는 직접적으로 다음과 같은 비유를 들었다. "임산부가 아무리 많아도, 아이를 낳는 데에는 9~10개월이 소요된다." 다른 예를 들어보자면, 100미터 달리기를 하는데 속도가 느리다고해서 둘이서 손을 잡고 같이 달리는게 더 빠르게 달리기 위한 답이 될 수는 없다.

프로젝트 팀에 인력이 늘어날 수록 커뮤니케이션 채널은 급속도로 늘어난다.

프로젝트에 참여하는 인력이 늘어날수록 커뮤니케이션 채널은 급속도로 늘어난다. 3명이 한 팀이라면 소통 채널은 3개, 4명이 한팀이라면 소통채널은 6개, 5명이라면 10개로 늘어난다. (nCr = nPr / r! = n! / (k!(n-k)!)로 계산해볼 수 있다.) 커뮤니케이션 채널이 늘어나기 때문에 인력의 숫자에 비례해서 생산성이 나오지 않는다.

또 새로 투입된 인력을 프로젝트에 맞게 교육하는 비용도 적지않다. 교육은 이미 투입되어 있는 인력들이 진행해야한다. 안그래도 할 일이 많은데 교육까지 해야하냐는 불평이 나올 수 있다.

물론 프로젝트 특성에 따라 인력 투입이 생산성을 개선할 수도 있다. 프로젝트의 업무들이 얼마나 병렬성을 갖을 수 있냐가 관건이다. 예를 들어 프로젝트에 매뉴얼 작업과 소프트웨어 개발작업이 존재한다면 혼자서하는 것보다 두 명이 각각 맡아서 하는게 더 빠르게 프로젝트를 마무리할 수 있다.

결국 프로젝트의 특징을 잘 파악하고 인력 투입이 진행속도를 개선할 수 있는지 매니저가 잘 파악해야한다.

댓글