💡 핵심 인사이트
COCOMO II는 전통적인 절차적 개발 방식(폭포수)을 전제로 한 초기 COCOMO의 한계를 극복하기 위해 등장한 현대화된 비용 산정 모델입니다.
컴포넌트 조립(CBD), 객체지향, 프로토타이핑 등 소프트웨어 개발 생명주기의 진척 단계에 따라 3가지 다른 모델을 순차적으로 적용하여 산정의 정확도를 높였습니다.


Ⅰ. COCOMO II의 등장 배경

1981년에 발표된 원래의 COCOMO 모델은 소스 코드 라인 수(LOC)를 기반으로 했기 때문에, 코드가 작성되기 전인 초기 단계에서는 비용을 추정하기 어려웠습니다. 또한 1990년대 이후 소프트웨어 재사용(Reuse), 객체지향 프로그래밍, 4세대 언어(4GL) 등이 등장하면서 전통적 LOC만으로는 정확한 산정이 불가능해졌습니다. 이를 반영하기 위해 1995년 배리 보엠(Barry Boehm)이 제안한 것이 COCOMO II입니다.


Ⅱ. COCOMO II의 3가지 서브 모델

COCOMO II의 가장 큰 특징은 프로젝트가 진행됨에 따라 사용할 수 있는 정보의 양이 많아진다는 점을 이용해, 개발 단계별로 다른 산정 모델을 사용한다는 것입니다.

[프로젝트 진행 시간 흐름에 따른 COCOMO II 적용]

  (1) 프로토타이핑/구상 단계  ▶  (2) 초기 설계 단계   ▶  (3) 상세 설계/구현 단계
┌──────────────────────────┐  ┌───────────────────┐  ┌─────────────────────────┐
│ Application Composition  │  │ Early Design      │  │ Post-Architecture       │
│ Model (응용 구성 모델)    │  │ Model (초기 설계) │  │ Model (포스트 아키텍처)│
└──────────────────────────┘  └───────────────────┘  └─────────────────────────┘
  - 화면, UI, 객체 수 세기        - 기능점수(FP) 기반       - 소스 라인 수(LOC) 기반
  - (가장 부정확, 개략적)          - (중간 정도 정확도)      - (가장 정확)

1. 응용 구성 모델 (Application Composition Model)

  • 적용 시기: 프로젝트의 가장 초기 단계 (프로토타이핑 단계, UI 구상 단계).
  • 특징: 아직 구체적인 설계나 코드가 나오지 않았기 때문에, 화면 수, 출력되는 보고서 수, 소프트웨어를 구성하는 컴포넌트(객체)의 개수 등을 세어 비용을 추정합니다.
  • 측정 단위: 객체 점수 (Object Point).

2. 초기 설계 모델 (Early Design Model)

  • 적용 시기: 요구사항이 어느 정도 확립되고 초기 시스템 아키텍처(설계)가 나왔을 때.
  • 특징: 화면 수보다 더 구체적인 기능들을 파악할 수 있으므로, 소프트웨어가 제공할 기능의 개수와 복잡도를 기반으로 산정합니다. 기본형 COCOMO를 단순화한 7개의 비용 승수를 사용합니다.
  • 측정 단위: 기능 점수 (Function Point, FP), 또는 FP를 환산한 KLOC.

3. 포스트 아키텍처 모델 (Post-Architecture Model)

  • 적용 시기: 아키텍처가 확정되고, 실제 코딩(구현)이 본격적으로 시작되거나 완료될 무렵.
  • 특징: 설계가 끝나서 어떤 코드를 얼마나 짤지 구체적으로 아는 상태이므로 가장 정밀한 산정이 가능합니다. 전통적인 COCOMO와 가장 유사하며, 17개의 상세한 비용 승수를 사용합니다.
  • 측정 단위: 소스 코드 라인 수 (LOC, Source Lines of Code).

📢 섹션 요약 비유:
집을 지을 때,

  1. 응용 구성 모델: 방 몇 개, 화장실 몇 개 등 대략적인 '평면도'만 보고 견적을 냄.
  2. 초기 설계 모델: 배관 구조, 창문 위치 등 구체적인 '설계도'를 바탕으로 견적을 냄.
  3. 포스트 아키텍처 모델: 시공에 들어갈 벽돌 개수, 철근 길이, 시멘트 포대 수를 '정확히 계산'하여 냄.

Ⅲ. COCOMO II의 비용 요인 (Cost Drivers & Scale Factors)

COCOMO II는 단순히 노력(MM)을 계산하는 것을 넘어, 프로젝트의 규모가 커질수록 생산성이 떨어지는 현상(규모의 경제/불경제)을 정밀하게 수치화했습니다.

  1. 규모 요인 (Scale Factors, 5개): 프로젝트가 커짐에 따라 지수적으로 증가하는 노력(비용)을 조절합니다. (예: 개발 팀의 응집력, 선행 경험, 아키텍처 위험 해소 정도 등)
  2. 비용 승수 (Cost Multipliers, 17개): 제품 복잡도, 플랫폼 한계, 인력의 역량, 도구 사용 여부 등 노력에 직접 곱해지는 요인들입니다.