개주 훈련일지/📚 코살대 교본 학습

소프트웨어 개발 비용 예측 기법

lshfood2 2025. 12. 9. 23:40

 

소프트웨어 프로젝트를 시작할 때

가장 중요한 일 중 하나는 개발 비용과

기간을 정확히 예측하는 것이다.

 

비용 예측은 단순히 돈을 계산하는 작업이 아니라,
- 프로젝트 수익성 판단
- 일정 계획
- 인력 배치
- 경쟁 입찰(견적 산출)
등 여러 관리 활동의 기초가 되기 때문이다.

 

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)

예시)

  1. 80시간의 작업, 2명이 100% 투입
    → 80 / (2×40) = 1주
  2. 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의 단점

  1. 초기 단계에서는 LOC 예측이 매우 어렵다.
    (요구사항만 있는 상태라 정확한 라인 수 추정 불가능)
  2. 보정 계수(M)와 B 값이 주관적이다.
  3. 언어/재사용 여부에 따라 LOC 자체가 크게 달라짐
  4. 조직별 프로젝트 데이터로 보정(calibration)해야 하는데, 대부분 이런 자료 부족

4. COCOMO II (1995)

COCOMO81의 한계를 보완한 모델.

프로젝트 진행 단계별로 다른 평가 방식을 사용한다.

단계 사용 방식
초기 단계 객체 점수(Object Point) 계산하여 노력 추정
초기 설계 단계 기능 점수(Function Point) 방법 채택
구조 설계 이후 LOC 기반으로 노력 추정

5. 기능점수(Function Point)

코드량(LOC)이 아니라 사용자 관점의

기능 개수로 규모를 산정하는 방법.

 

장점

  • 초기(요구사항 단계)부터 예측 가능
  • 언어에 의존하지 않음
  • 국제 표준(ISO 20296)

카운트하는 요소 5가지

  1. 외부 입력(EI)
  2. 외부 출력(EO)
  3. 외부 질의(EQ)
  4. 내부 논리 파일(ILF)
  5. 외부 인터페이스 파일(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