본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Man-Month; Person-Month, 인월(人月), M/M
한 사람이 한 달 동안 할 수 있는 일의 양을 1로 잡아, 투입 인원과 투입 기간을 곱해 소프트웨어 개발 노력(effort)을 나타내는 단위
  • 맨먼스라 읽고 M/M이라 쓴다.
  • 불필요한 남녀 구분을 없애기 위해 P/M(Person-Month)이라고 쓰기도 한다.
  • 같은 생각으로 날 단위는 맨데이(Man-Day, M/D, 인일), 시간 단위는 맨아워(Man-Hour, 인시)를 쓴다.

노력(M/M) = 투입 인원 × 투입 기간

편집 원본 편집
  • 개발자 2명이 5개월 동안 일했다면 노력은 2 × 5 = 10 M/M 이다
  • 투입 인원이 중간에 바뀌면 구간별로 나눠 곱한 뒤 더한다
    • 12개월 프로젝트에 처음 5명이 투입되고, 7개월째가 시작될 때 2명이 추가되어 끝까지 일했다면
    • 1~6월: 5명 × 6개월 = 30
    • 7~12월: (5 + 2)명 × 6개월 = 42
    • 합계: 30 + 42 = 72 M/M
  • "n개월 시작 시점에 투입" 은 n개월째를 포함한다. 12개월 중 5개월째 시작에 투입되었다면 5~12월, 즉 8개월을 일한 것이다. "n개월이 지난 뒤 투입" 이면 12 − n 개월이다

생산성 = 산출물 ÷ 노력

편집 원본 편집
  • 두 명의 개발자가 5개월 동안 10,000 라인의 코드를 개발한 경우
    • 노력 = 2 × 5 = 10 M/M
    • 생산성 = 10,000 ÷ 10 = 1,000 LOC/M/M
  • 날 단위 생산성은 LOC/MD(하루 한 사람이 작성한 라인 수)로 쓴다. 분모의 맨데이는 인원 × 실제 일한 날 수다 → LOC

비용 = 노력 × 단가

편집 원본 편집
  • 개발자의 월 급여가 500만 원이고 노력이 4 M/M 인 프로젝트
    • 총비용 = 500만 원 × 4 = 2,000만 원
    • 계산상으로는 2명이 2개월, 4명이 1개월에 끝낼 수도 있지만, 실제로는 아래 '맨먼스 미신' 때문에 인원과 기간을 자유롭게 바꿀 수 없다

프레더릭 브룩스는 1975년 『맨먼스 미신(The Mythical Man-Month)』에서 사람과 개월은 서로 바꿀 수 있는 단위가 아니다라고 지적했다. 일을 나눌 수 없거나, 나눈 일 사이에 의사소통이 필요하면 인원을 늘려도 기간이 그만큼 줄지 않는다. 인원이 n명이면 의사소통 경로는 n(n−1)/2 개로 늘어난다. 늦어진 프로젝트에 인력을 더하면 더 늦어진다는 브룩스의 법칙이 여기서 나왔다.