COCOMO II 조정인자로 소프트웨어 비용 추정 정확도 높이기

COCOMO II의 규모인자와 노력인자를 통해 프로젝트 특성, 아키텍처 위험, 팀 역량, 일정 제약을 비용 추정에 반영하는 방법을 정리한다.

2026-08-14 · 최초 발행 2026-04-17

COCOMO II는 코드 규모만으로 소프트웨어 개발 비용을 추정하지 않는다. 프로젝트 경험, 요구사항 유연성, 아키텍처의 안정도, 팀의 협업 수준처럼 실제 투입 노력에 영향을 주는 조건을 비용 모델에 반영한다.

규모와 프로젝트 조건을 함께 계산하는 COCOMO II

COCOMO II(COnstructive COst MOdel II)는 1981년에 발표된 초기 COCOMO 모델을 현대적 소프트웨어 개발 환경에 맞춰 확장한 모델이다. 재사용성, 객체 지향 개발, CASE 도구 활용 같은 변화가 반영됐으며, Application Composition, Early Design, Post-Architecture의 하위 모델로 구성된다.

노력량 산정식의 기본 구조는 다음과 같다.

$$Effort = A \times (Size)^E \times \prod(Effort Multipliers)$$

여기서 $E$는 규모가 커질수록 발생하는 비선형적 특성을 나타내는 지수다. 이 지수는 규모인자(Scale Factors)로 결정된다. 노력인자(Effort Multipliers)는 프로젝트별 제약과 특성에 맞춰 산정된 노력량을 조정한다.

프로젝트가 커질 때 비용 곡선을 바꾸는 규모인자

규모인자는 프로젝트 확대에 따라 나타나는 불경제성(Diseconomy of Scale)을 다루는 인자다. 각 인자는 0에서 5 사이의 값을 가지며, 값이 클수록 더 많은 노력이 요구된다.

PREC: 이전 경험의 정도

PREC(Precedentedness)는 조직이 해당 유형의 프로젝트를 수행했던 경험을 평가한다. 유사한 프로젝트 경험이 충분하면 불확실성이 줄어들고 지수 값도 낮아진다.

FLEX: 개발 과정의 유연성

FLEX(Development Flexibility)는 요구사항의 고정성, 외부 인터페이스와의 정합성 등 개발 중 변경을 수용할 수 있는 정도를 뜻한다. 규제가 엄격하거나 유연성이 낮으면 지수 값이 증가한다.

RESL: 아키텍처와 위험의 해소 수준

RESL(Architecture / Risk Resolution)은 초기 단계에서 아키텍처가 얼마나 정의됐는지, 잠재 위험이 얼마나 해소됐는지를 나타낸다. 위험 관리가 잘 이뤄질수록 비용 효율은 높아진다.

TEAM: 협업을 가능하게 하는 팀 응집력

TEAM(Team Cohesion)은 팀원 간 소통 능력, 협업 경험, 공통 목표에 대한 인식을 평가한다. 팀의 결속력이 높으면 관리 오버헤드를 줄일 수 있다.

PMAT: 개발 프로세스의 성숙도

PMAT(Process Maturity)은 조직의 소프트웨어 개발 프로세스 수준을 의미하며, 예로 CMMI 레벨이 있다. 성숙도가 높을수록 예측 가능성이 높아지고 불필요한 재작업은 감소한다.

제품부터 일정까지 반영하는 노력인자

Post-Architecture 모델은 17개의 노력인자를 사용해 산정된 노력량(Person-Month)을 구체적인 프로젝트 상황에 맞게 조정한다. 인자는 제품, 플랫폼, 인력, 프로젝트 조건으로 나뉜다.

제품 조건에는 다음 항목이 포함된다.

  • RELY (Required Software Reliability): 요구되는 소프트웨어 신뢰도
  • DATA (Data Base Size): 데이터베이스 크기
  • CPLX (Product Complexity): 제품의 복잡도
  • RUSE (Developed for Reusability): 재사용을 위한 개발 여부
  • DOCU (Documentation Match to Life-Cycle Needs): 문서화 요구 수준

플랫폼 조건은 실행 환경의 제약과 변화 가능성을 반영한다.

  • TIME (Execution Time Constraint): 실행 시간 제약
  • STOR (Main Storage Constraint): 주 기억 장치 제약
  • PVOL (Platform Volatility): 플랫폼의 가변성(변경 빈도)

인력 관련 인자는 역할별 역량과 경험, 인력 유지 상태를 다룬다.

  • ACAP (Analyst Capability): 분석가 역량
  • PCAP (Programmer Capability): 프로그래머 역량
  • PCON (Personnel Continuity): 인력의 연속성(이직률)
  • APEX (Applications Experience): 해당 애플리케이션 개발 경험
  • PLEX (Platform Experience): 플랫폼 사용 경험
  • LTEX (Language and Tool Experience): 언어 및 도구 숙련도

프로젝트 수행 방식과 제약은 다음 인자로 표현한다.

  • TOOL (Use of Software Tools): 소프트웨어 도구 활용도
  • SITE (Multisite Development): 다중 사이트 개발(분산 개발 환경)
  • SCED (Required Development Schedule): 요구되는 개발 일정(압박 정도)

등급은 노력량을 어떤 방향으로 움직이는가

각 인자는 Very Low부터 Extra High까지 최대 6단계로 평가한다.

등급 약어 설명 영향도 예시 (EM)
Very Low VL 매우 낮음 신뢰도 낮음 (0.82)
Low L 낮음 -
Nominal N 보통 (표준) 1.00 (기준점)
High H 높음 -
Very High VH 매우 높음 복잡도 높음 (1.34)
Extra High XH 극도로 높음 실시간 처리 요구 (1.60)

Nominal(보통)은 가중치가 1.0인 기준점이므로 노력량을 바꾸지 않는다. 인적 역량이 높아 H 또는 VH로 평가되면 가중치는 1.0보다 낮아지며, 예를 들어 0.71이 적용될 수 있다. 반대로 제품 복잡도가 VH 또는 XH라면 가중치가 1.0보다 커지고, 예로 1.66처럼 노력량 증가 폭이 커질 수 있다.

규모인자와 노력인자가 결합되는 방식

규모인자는 지수를 만들고, 노력인자는 곱셈 조정값을 만든다. 두 결과가 규모와 함께 최종 노력량에 반영된다.

최종 결과계산 엔진입력 요소Size (KSLOC / FP)소프트웨어 규모Scale Factors (5개)PREC, FLEX, RESL, TEAM,PMATEffort Multipliers (17개)제품, 플랫폼, 인적, 프로젝트Scale Exponent (E)B + 0.01 * sum(SF)Multiplier ProductPI(EM)Effort (Person-Month)A * Size^E * EM_Product

아키텍처와 실행 계획에 조정인자를 연결하기

조정인자는 추정 도구에 값을 입력하는 체크리스트에 그치지 않는다. 프로젝트 생명주기에서 확인해야 할 위험과 선택지를 드러내는 지표로 쓸 수 있다.

RESL을 보면 아키텍처 불안정성을 초기에 식별할 수 있다. 이 값과 함께 위험을 낮추기 위한 프로토타이핑 계획을 세우는 방식이다.

ACAP과 PCAP은 비용에 큰 영향을 주는 요소 중 하나다. 고숙련 인력은 인건비가 높을 수 있지만 전체 노력량(PM)을 줄일 수 있으므로, 이 트레이드오프를 함께 분석해야 한다.

TOOL을 높이려면 통합 개발 환경과 자동화된 테스트 도구를 활용할 수 있다. 이는 장기적인 비용 절감을 도모하는 선택이다.

SCED는 일정이 지나치게 짧아 압박이 생기는 경우뿐 아니라 너무 길게 잡힌 경우에도 비용이 증가하는 특징을 가진다. 추정 단계에서 적정 일정을 산출하고 인력 투입의 효율을 검토할 필요가 있다.

COCOMO II의 조정인자는 조직의 프로세스 역량과 시스템 규모에 따른 비선형적 비용 증가를 함께 다룬다. 현장의 제약을 노력인자로 수치화하면 비용 추정은 막연한 판단보다 프로젝트 조건에 근거한 예측에 가까워진다.

Sources

  • Boehm, B., et al. (2000). "Software Cost Estimation with COCOMO II". Prentice Hall.
  • Center for Systems and Software Engineering (CSSE), USC.
  • 정보관리기술사 특강 교안: 소프트웨어 비용 산정 모델의 이해.
COCOMO II소프트웨어 비용 산정규모인자노력인자프로젝트 관리