M/M (Man-Month, 인월) 이란, 한 명의 개발자가 한 달 동안 수행할 수 있는 작업량을 의미합니다.
신규 서비스를 구축할 때, M/M을 정확하게 산정하는 것은 프로젝트 일정 및 비용을 예측하는 데 필수적입니다.
✅ 1. M/M 산정의 기본 공식
M/M (Man-Month) = 총 작업량 (노력 공수, Person-Days) ÷ 1개월의 작업 가능일 (20일 기준)
예시:
- 총 작업량: 200 PD (Person-Days, 인일)
- 1개월 근무일: 20일 (1명 기준)
- M/M 계산:
👉 총 10개월(10 M/M) 분량의 개발 리소스 필요200 PD ÷ 20일 = 10 M/M
✅ 2. M/M 산정 프로세스
🔹 1단계: WBS (Work Breakdown Structure) 작성
서비스 구축에 필요한 모든 업무(Task)를 분류하여 작업 항목을 정리합니다.
업무 분류세부 항목
기획 | 요구사항 정의, 기능 정의, UI/UX 설계 |
설계 | 아키텍처 설계, DB 설계, API 설계 |
개발 | 프론트엔드, 백엔드, API 개발, 데이터 처리 |
테스트 | 단위 테스트, 통합 테스트, 성능 테스트 |
배포 | CI/CD 구축, 클라우드 환경 설정 |
운영 | 모니터링 구축, 로그 관리 |
👉 이렇게 업무를 세부적으로 나누면, 각 항목에 필요한 M/M을 더 정확하게 산정할 수 있음.
🔹 2단계: 각 업무의 공수 산정
각 업무(Task)에 대해 필요한 공수를 산정합니다.
예시 (프론트엔드 개발 M/M 산정)
| 업무 | 개발 난이도 | 공수 (Person-Days) |
|------|-----------|----------------|
| 메인 화면 개발 | 보통 | 10 PD |
| 회원가입 & 로그인 | 어려움 | 20 PD |
| 게시판 기능 개발 | 보통 | 15 PD |
| 알림 기능 개발 | 쉬움 | 8 PD |
| 합계 | | 53 PD |
👉 총 53 PD → 53 ÷ 20 = 2.65 M/M (개발자 1명 기준)
🔹 3단계: 리소스 할당
1명의 개발자가 월 20일 기준으로 근무한다고 가정하면, 리소스를 여러 명 할당하여 병렬 작업이 가능합니다.
- 예시:
- 총 10 M/M 필요
- 개발자 2명 투입 시: 10 ÷ 2 = 5개월 소요
- 개발자 4명 투입 시: 10 ÷ 4 = 2.5개월 소요
👉 리소스를 늘리면 기간이 줄어들지만, 개발 난이도와 병렬 작업 가능성을 고려해야 함.
🔹 4단계: 리스크 고려 (버퍼 추가)
✅ 변수에 대비하여 10~20% 추가 M/M 설정
- 요구사항 변경 가능성 (Feature Creep)
- 예상보다 높은 개발 난이도
- QA 및 버그 수정 시간
예시:
- 원래 예상: 10 M/M
- 리스크 고려하여 10% 추가 → 11 M/M 최종 산정
✅ 3. M/M 산정 방법별 비교
산정 방법특징장점단점
경험 기반 (Expert Judgment) | 유사 프로젝트 경험을 바탕으로 산정 | 빠름, 실무 경험 반영 | 주관적일 수 있음 |
산정 모델 (COCOMO, FP 등) | 공학적 공식 및 데이터 기반 | 객관적, 반복 가능 | 계산이 복잡할 수 있음 |
유사 프로젝트 비교 | 기존 프로젝트와 비교하여 예측 | 현실적인 일정 반영 | 유사한 프로젝트가 필요 |
📌 일반적으로 "경험 기반 + WBS 기반 + 리스크 고려" 방식으로 최적의 M/M을 산정함.
🚀 결론: M/M 산정 프로세스
1️⃣ 업무를 세분화 (WBS 작성)
2️⃣ 각 업무별 공수 (PD) 산정
3️⃣ 총 공수를 기반으로 M/M 계산 (PD ÷ 20)
4️⃣ 리소스(개발자 수)에 따라 일정 조정
5️⃣ 리스크를 고려하여 버퍼 추가 (10~20%)
👉 이 과정을 거치면, 신규 서비스 구축 시 정확한 M/M을 산정할 수 있음! 🚀