콘텐츠로 이동

브룩스의 법칙

Brooks's law

늦은 소프트웨어 프로젝트에 인력을 더하면 더 늦어진다는 법칙이다. 브룩스는 사람과 개월을 곱해 일의 크기를 재는 단위인 맨먼스 자체를 허구라 부르고, 그 단위 비판에서 법칙을 끌어낸다.

성숙도 새순

용어와 역어

경쟁 역어: 브룩스 법칙

man-month는 실무에서 '맨먼스'로 음차해 굳었고 국내 SI 계약서는 '인월'을 쓴다. 브룩스가 허구라 부른 대상이 바로 그 계약 단위라서, 본문은 음차를 쓰고 계약 맥락에서만 '인월'을 병기한다. manpower는 '인력'으로 옮긴다. conceptual integrity는 '개념적 일관성'이다 — '개념 무결성'은 데이터베이스 용어와 겹친다.

관련 개념

  • 관련 계정맨먼스는 계정 단위다. 어떤 단위로 적느냐가 무엇을 서로 바꿔 쓸 수 있다고 볼지 미리 정해 버린다.
  • 관련 측정하지 못하면 통제하지 못한다드마르코는 마흔 해 뒤 측정 일반을 의심한다. 브룩스는 1975년에 단위 하나를 지목해 허구라 부른다. 순서가 반대인데 도착지가 같다.
  • 관련 기업의 본질소통 경로가 n(n-1)/2로 자라는 것은 조직 안쪽의 거래비용이다. 기업이 무한히 커지지 못하는 이유로 코스가 든 관리비용 체증에 소프트웨어판 기전을 준다.
  • 관련 피플웨어같은 결론에 다른 근거로 온다. 브룩스는 소통 경로의 산술로, 드마르코와 리스터는 92개사 실측으로 사람이 교환 가능한 단위가 아님을 보인다.
  • 관련 여유인력을 더하면 기존 사람의 여유가 교육으로 먼저 사라진다. 늦은 프로젝트에는 그 여유가 이미 남아 있지 않다.
이 문서를 가리키는 글 1개
  • 관련 계정맨먼스도 계정 단위다. 그 단위로 적는 순간 사람과 시간을 서로 바꿔 쓸 수 있다는 전제가 장부에 박힌다.

법칙은 한 줄로 인용된다. 늦은 소프트웨어 프로젝트에 인력을 더하면 더 늦어진다. 그런데 이 문장은 결론이고, 브룩스가 먼저 한 일은 단위를 의심한 것이다.

맨먼스는 두 가지를 동시에 재는 척하지만 하나만 맞는다. 비용은 사람 수와 개월 수의 곱으로 변한다. 진척은 그렇지 않다. 그래서 일의 크기를 재는 단위로서 맨먼스는 위험하고 기만적인 허구라고 그는 적는다. 5명이 2개월 하는 일과 2명이 5개월 하는 일은 청구서에서만 같다.

교환이 성립하는 조건이 명시돼 있다. 사람과 개월은 작업을 소통 없이 여럿에게 쪼갤 수 있을 때만 서로 바꿔 쓸 수 있다. 밀을 베거나 목화를 따는 일은 그렇다. 시스템 프로그래밍은 근사적으로도 그렇지 않다. 아이를 낳는 데는 아홉 달이 걸린다. 몇 명을 붙이든 그렇다.

늦은 프로젝트에서는 세 항이 동시에 더해진다. 새로 온 사람은 배워야 하고, 가르치는 사람은 원래 일하던 사람이다. 투입 즉시 기존 인력의 시간이 빠진다. 소통 경로는 인원 n에 대해 n(n-1)/2로 자란다. 3명이 3갈래, 10명이 45갈래다. 사람을 늘리면 생산량은 선형으로 늘고 조율 비용은 제곱으로 는다. 그리고 쪼갤 수 없는 순차 작업이 남는다. 여기에는 인원이 아무 효과가 없다.

이 산술은 코스의 논변 안쪽에 들어맞는다. 코스는 기업이 시장보다 싸게 조율하기 때문에 존재하고, 그럼에도 무한히 커지지 못하는 이유로 관리비용의 체증을 들었다. 브룩스는 그 체증의 기전을 하나 준다. 조직 안의 거래비용은 관리자의 게으름이 아니라 조합의 수에서 온다. 개념적 일관성을 지키려고 설계 권한을 소수에 묶으라는 그의 처방도 같은 산술에서 나온다.

단위 이야기로 돌아오면 이 장의 자리가 보인다. 맨먼스는 측정 도구가 아니라 계정 단위다. 그 단위로 적기 시작하는 순간 사람과 시간이 서로 바꿔 쓸 수 있다는 전제가 장부에 박힌다. 장부에 박힌 전제는 다시 검토되지 않는다. 계약서가 인월로 쓰이면 협상은 인월 개수만 다투고, 쪼갤 수 없는 일이 있다는 사실은 논의에서 사라진다. 드마르코가 마흔 해 뒤 측정 자체를 의심했다면, 브룩스는 단위 하나를 골라 먼저 허구라 불렀다.

참고문헌

  1. Frederick P. Brooks, Jr. (1975). The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley
  2. Frederick P. Brooks, Jr. (1995). The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition. Addison-Wesley
  3. Frederick P. Brooks, Jr. (1987). No Silver Bullet: Essence and Accidents of Software Engineering. IEEE Computer 20(4), 10-19
  4. R. H. Coase (1937). The Nature of the Firm. Economica 4(16), 386-405