소프트웨어 프로젝트를 시작할 때
가장 중요한 일 중 하나는 개발 비용과
기간을 정확히 예측하는 것이다.
비용 예측은 단순히 돈을 계산하는 작업이 아니라,
- 프로젝트 수익성 판단
- 일정 계획
- 인력 배치
- 경쟁 입찰(견적 산출)
등 여러 관리 활동의 기초가 되기 때문이다.
1. 노력, 자원, 기간의 관계
비용을 계산하는 핵심 요소는 아래 3가지다.
✔ 노력(Effort)
프로젝트를 완성하기 위해 필요한 총 작업량
단위: Man-day, Man-week, Man-month(MM)
예) 3명이 1개월(1MM) 동안 작업 → 3MM
✔ 자원(Resource)
투입 인력.
누가 몇 %로 투입되는지가 중요함. (풀타임=100%)
✔ 기간(Duration)
프로젝트가 실제로 걸리는 시간.
[기본 관계식]
D = E / M
- D = 기간(Duration)
- E = 노력(Effort)
- M = 투입 인력(Manpower)
예시)
- 80시간의 작업, 2명이 100% 투입
→ 80 / (2×40) = 1주 - 80시간, 1명이 50% 투입
→ 80 / (1×20) = 4주
즉, 같은 노력(Effort)라도
투입 인력에 따라 기간이 크게 달라진다.
2. 비용 예측 기법의 종류 (3가지)
① 전문가 판단 방식(Expert Judgment)
경험 많은 전문가가 WBS를 기준으로
작업별 비용을 추정하는 방식.
- 빠르고 직관적
- 정확도는 전문가 수준에 따라 다름
- 작은 프로젝트에서 자주 사용
② PERT(Program Evaluation and Review Technique)
‘기간 예측에 특화된 방식’
하나의 작업에 대해 3가지 값을 구한다:
- a(낙관적): 최소 기간
- m(보통): 가장 가능성 높은 기간
- b(비관적): 최대 기간
[기대치 계산식]
E = (a + 4m + b) / 6
중간값(m)에 가중치를 크게 둔다.
③ 알고리즘 기반(cost-model) 방식
프로젝트의 측정 가능한 특성(규모, 복잡도, 환경 등)을
함수로 정의하여 계산하는 체계적인 방법.
대표 모델)
- COCOMO 81
- COCOMO II
- 기능점수(Function Point)
- COSMIC 기능점수
3. COCOMO-81 (초기 모델)
Boehm의 고전적 비용 예측 모델로,
완성될 소프트웨어의 규모(LOC)를
기준으로 비용을 계산한다.
[기본 공식]
노력 = A × (Size)^B × M
- A: 기관·개발환경 특성
- Size: LOC 또는 기능점수
- B: 규모에 따른 난이도 계수 (1~1.5)
- M: 프로젝트 특성에 따른 보정 계수(cost driver)
▼ 프로젝트 유형별 공식
| 프로젝트 유형 | 설명 | 공식 |
| Organic(기본형) | 익숙한 업무, 소규모 팀 | PM = 2.4 × (KDSI)^1.05 |
| Semi-detached(반결합형) | 일반적인 정보 시스템 | PM = 3.0 × (KDSI)^1.12 |
| Embedded(내장형) | 실시간/임베디드 | PM = 3.6 × (KDSI)^1.20 |
[비용 승수(cost driver)]
M 값은 제품, 컴퓨터 환경, 개발자 능력, 개발 일정 등의 조건에 따라 달라진다.
예)
- 요구 신뢰도 높음 → 승수 ↑
- 경험 많은 개발자 → 승수 ↓
- 실시간 제약 있음 → 승수 ↑
이 승수들을 모두 곱해 보정된 노력값을 만든다.
COCOMO-81의 단점
- 초기 단계에서는 LOC 예측이 매우 어렵다.
(요구사항만 있는 상태라 정확한 라인 수 추정 불가능) - 보정 계수(M)와 B 값이 주관적이다.
- 언어/재사용 여부에 따라 LOC 자체가 크게 달라짐
- 조직별 프로젝트 데이터로 보정(calibration)해야 하는데, 대부분 이런 자료 부족
4. COCOMO II (1995)
COCOMO81의 한계를 보완한 모델.
프로젝트 진행 단계별로 다른 평가 방식을 사용한다.
| 단계 | 사용 방식 |
| 초기 단계 | 객체 점수(Object Point) 계산하여 노력 추정 |
| 초기 설계 단계 | 기능 점수(Function Point) 방법 채택 |
| 구조 설계 이후 | LOC 기반으로 노력 추정 |
5. 기능점수(Function Point)
코드량(LOC)이 아니라 사용자 관점의
기능 개수로 규모를 산정하는 방법.
장점
- 초기(요구사항 단계)부터 예측 가능
- 언어에 의존하지 않음
- 국제 표준(ISO 20296)
카운트하는 요소 5가지
- 외부 입력(EI)
- 외부 출력(EO)
- 외부 질의(EQ)
- 내부 논리 파일(ILF)
- 외부 인터페이스 파일(EIF)
이 5가지를 복잡도에 따라
점수화하여 FP(Function Point)를 계산한다.
(FP = UFPx TCF)
▼ 최종 정리
| 방식 | 특징 | 장단점 |
| 전문가 판단 | 경험 기반 | 빠르지만 주관적 |
| PERT | 기간 계산 | 일정 계획에 매우 유용 |
| COCOMO-81 | LOC 기반 모델 | 초기 예측 어려움, 표준 모델 |
| COCOMO II | 단계별 예측 | 실무에 더 적합 |
| 기능점수(FP) | 사용자 기능 기반 | 초기 예측에 강함, 언어 독립 |
'개주 훈련일지 > 📚 코살대 교본 학습' 카테고리의 다른 글
| 프로젝트 팀 조직 (1) | 2025.12.18 |
|---|---|
| 파일 입출력 (0) | 2025.12.16 |
| 스레드 (0) | 2025.12.07 |
| 람다식 (0) | 2025.12.06 |
| 컬렉션 프레임워크 (Collection Framework) (0) | 2025.12.04 |