개발 규모·기간 추정 기초
LOC·공수·기간의 단위를 맞추고 조건이 바뀌는 구간을 나눈다.
실기 학습 목표
LOC·공수·기간의 단위를 맞추고 조건이 바뀌는 구간을 나눈다.
핵심 이론
월평균 생산성 = 총 LOC ÷ 총 인월이다. 총 인월은 인원×개월이며 개발 기간은 필요 LOC ÷ (인원×1인당 월 생산성)으로 계산한다.
낙관값 a·가장 가능성 높은 값 m·비관값 b가 주어지고 가중 추정을 요구하면 문제의 식을 따른다. 흔히 사용하는 추정 LOC=(a+4m+b)/6과 단순 평균을 혼동하지 않는다.
중간에 인원이 늘면 기존 구간의 완료 LOC를 먼저 빼고 남은 양을 새 생산량으로 나눈다. 교육·의사소통 손실을 무시한다는 조건이 있을 때에만 생산성을 선형 적용한다.
복잡한 비용모형의 계수 암기보다 단순 규모·기간 계산에 집중한다.
개념 도식
인월과 개월을 구별하면 식이 보인다
인월은 한 사람이 한 달 일하는 양이며 기간 그 자체가 아니다. 3명이 2개월 일하면 6인월이다. 생산성이 1인월당 500 LOC이고 개발량이 6000 LOC라면 필요한 공수는 12인월, 3명이 동일 생산성으로 일하는 단순 모델의 기간은 4개월이다.
인원이 중간에 바뀌면 구간별 완료량을 계산한다. 18000 LOC 작업을 3명이 월 600 LOC씩 2개월 수행하면 3600 LOC가 끝나고 14400 LOC가 남는다. 이후 4명의 월 생산량은 2400 LOC이므로 추가 6개월, 처음부터 총 8개월이다. 추가 기간 6만 답하지 않도록 질문의 시작 시점을 확인한다.
풀이 순서는 ① 총 작업량과 생산성 단위 확인 ② 이전 구간 완료량 계산 ③ 남은 양 계산 ④ 새 구간 기간 계산 ⑤ 요구한 총기간·추가기간 선택이다. 낙관·보통·비관 추정값이 주어진 문제에서는 제시된 가중식과 단순 평균을 구별한다. 실제 프로젝트에서는 교육·의사소통 비용이 있으므로 인원을 늘리면 항상 기간이 정확히 반비례한다는 일반 법칙으로 확대하지 않는다.
풀이 예시
생산성이 같은 개발자 4명이 3개월 동안 총 7,200 LOC를 완성했다. 같은 월평균 생산성의 개발자 6명으로 추가 18,000 LOC를 개발한다. 의사소통·교육 손실을 무시하고 부분 월을 허용한다. 추가 개발에 필요한 기간을 개월로 쓰시오.
예시 정답
5
풀이 과정
1인당 월 생산성은 7200÷(4×3)=600 LOC이다. 6명의 월 생산량은 3600 LOC이므로 18000÷3600=5개월이 필요하다.
답안 점검
위 풀이 예시의 답을 가린 뒤, 핵심 이론의 규칙을 적용해 직접 풀어 보세요. 코드와 계산 문제는 중간값·단위·최종 출력의 순서를, 용어 문제는 지문의 핵심 단서와 답의 의미를 점검하세요. 해설과 다른 부분이 있으면 어느 조건을 놓쳤는지 확인하고 연결된 실기 문제로 다시 연습하세요.