본문 바로가기
컴퓨터 활용(한글, 오피스 등)/기타

소프트웨어공학 브룩스의 법칙(Brooks' law)

by 3604 2024. 7. 3.
728x90
브룩스의 법칙(Brooks' law)  소프트웨어공학 / ITPE('12~)   
2013. 9. 20. 9:35
https://blog.naver.com/yulian/10176590509

MM(Man Month)의 한계, 브룩스의 법칙(Brooks' law)

- "지연되는 프로젝트에 인력을 더 투입하면 오히려 늦어진다"는 이론

- 개발자를 추가할수록 그들 사이에서의 미팅, 인터페이스 합의, 의사소통 등과 같은 커뮤니케이션 비용이 월등히 증가하여 프로젝트가 지연되는 현상, N명 추가시 N*(N-1)/2 만큼의 의사소통 비용 증가

 ■ 브룩스의 법칙의 개념도

 

- 프로젝트 인력이 3명인 상황에서 1명 충원시 의사소통라인은 3에서 6으로 복잡도가 증가함

■ 브룩스의 법칙을 고려한 일정단축 방법

방법 설명
Fast Tracking 순차적으로 진행되는 작업을 재조정하여 병행으로 수행하는 일정단축 기법
전문인력 투입 해당 도메인에 경험이 우수한 인력을 투입하여 학습시간을 단축하는 방법
아웃소싱 외부 전문업체에 위탁하여 Fast Tracking과 전문인력 투입의 효과를 모두 가짐
잔업 초과근무로 일정단축 효과장기적 측면에서는 오히려 생산성저하 발생가능
요구사항 변경 고객과 협상을 통해 우선순위에 기반한 기능축소 또는 우회적인 방법으로 구현

- 프로젝트의 성격, 작업분할 가능정도, 전문인력의 역량 등을 종합적으로 고려하여 선별적 적용

 

출처: https://m.blog.naver.com/finway/221187035265

소프트웨어 공학에서는 브룩스의 법칙(Brook's Law)라는 것이 있다. 프레더릭 브룩스라는 사람이 < 먼스 미신>(The Mythical Man-Month)라는 책에서 말한 법칙으로 다음과 같다.

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

프로젝트가 늦어지고 지연되는 경우 관리자 입장에서 가장 싸게 조치를 취할 있는 것은 '1인분 더요~' 정도이다. 사람이 일을 전부 못하니까 투입해서 속도를 2배로 올린다. 먼스로 관리되는 프로젝트에서는 맞는 말이다. 인력이 배가 되면 기간은 절반으로 줄어야 한다. 하지만 소프트웨어 프로젝트를 번이라도 진행해본 사람은 공감하지 않을 것이다.

브룩스 법칙의 페레더릭 브룩스는 직접적으로 다음과 같은 비유를 들었다. "임산부가 아무리 많아도, 아이를 낳는 데에는 9~10개월이 걸린다". 여기에 필자가 설명하는 예는 다음과 같다. "100미터 달리기를 하는데 속도가 느리다고 투입해서 2 손잡고 같이 달려도  빨리 달릴 있는 것은 아니다."

인력이 추가될 때마다 늘어나는 커뮤니케이션 채널

브룩스는 프로젝트 관리에서 개발자를 프로젝트에 추가할수록 그들 사이에 의사소통 채널이 늘어나 커뮤니케이션 비용도 마찬가지로 늘어나는 현상을 지적했다. 프로젝트에 인력이 3(A, B, C)이라면 커뮤니케이션 채널은 A-B, B-C, C-A 이렇게 3개다. 여기에 명의 개발자를 추가하면, 커뮤니케이션 채널은 A-B, A-C, A-D, B-C, B-D, C-D 이렇게 6개로 증가한다.
(
고등학교 수학에서 있는 조합(Combination) 문제를 보면, nCr = nPr / r! = n! / (k!(n-k)!)이다. 프로젝트 인력이 증가함에 따라 커뮤니케이션 채널 수는, 1C1, 2C2, 2C3, 2C4, 2C5 ... 이렇게 증가한다. 숫자로 보면, 1, 1, 3, 6, 10, 15 .. )
 

새로 투입된 인력을 교육하는 비용도 생각해야 한다. 교육은 이미 투입되어 있는 인력들이 진행해야 하므로 그래도 일이 많은데 교육까지 해야 하냐는 불평을 들을 가능성도 있다.

물론 프로젝트에 병렬성이 있어서 작업을 동시에 있는 요소가 있다면, Parallelism 여지가 있다면 인력 투입이 프로젝트 진행 속도를 개선할 여지는 있다. 예를 들어 프로젝트에 매뉴얼 작성 작업과 소프트웨어 개발 작업이 있다고 하면, 동시에 작업을 있는 일을 혼자서 하는 것보다 명이 진행하는 나을 수도 있다.

프로젝트의 특징을 파악하고 인력 투입이 속도를 개선할 있는지를 매니저가 파악해야 한다는 브룩스 법칙의 교훈이라 있다. (인력만 던져놓고 쪼지만 말자. 애초에 불가능한 프로젝트도 있다.)

728x90

'컴퓨터 활용(한글, 오피스 등) > 기타' 카테고리의 다른 글

스크린 캡처  (0) 2024.07.28
엑셀 IF 다중조건 공식  (1) 2024.07.22
테스트 단계  (0) 2024.06.21
[번역] Actix 문서 러스트 웹프로그래밍  (0) 2024.06.12
Rust와 WebAssembly  (0) 2024.06.12