COCOMO I로 이해하는 LOC 기반 소프트웨어 비용 산정
COCOMO I의 LOC 기반 비용 산정 방식과 기본형·중간형·상세형 모델, 프로젝트 개발 모드별 적용 기준 및 한계를 정리한다.
2026-08-14 · 최초 발행 2026-04-17
LOC를 출발점으로 비용을 추정하는 모델
COCOMO I(Constructive Cost Model)은 배리 보엠(Barry Boehm)이 1981년에 제안한 소프트웨어 비용 산정 모델이다. 시스템 규모를 LOC(Lines of Code)로 파악하고, 인적 자원과 기술적 난이도를 수치화해 개발 기간과 필요한 인력을 예측한다.
이 모델은 기본적으로 상향식(Bottom-up) 방식을 취하면서도 전체 시스템의 규모를 먼저 파악한다. 개별 모듈과 서브시스템의 비용을 계산한 뒤 이를 합산해 전체 비용을 산정하는 구조다. 프로젝트의 복잡도와 성격에 따라 서로 다른 산정 공식을 적용하며, 초기 계획부터 상세 설계까지 진행 단계에 맞춰 정밀도를 높일 수 있다.
확보한 정보 수준에 따라 달라지는 산정 모델
COCOMO I은 프로젝트가 얼마나 구체화됐는지, 비용 산정에 활용할 데이터가 얼마나 있는지에 따라 모델을 달리 사용한다.
기본형(Basic Model)
기본형은 소프트웨어 규모인 LOC와 고정된 단일 값을 사용한다. 프로젝트 초기에 예산의 대략적인 규모를 판단할 때 적합하며, 복잡한 변수 대신 코드 라인 수와 기본 상수로 스텝 수를 계산한다.
중간형(Intermediate Model)
중간형은 기본형에 15가지 비용 동인(Cost Drivers)을 더한다. 제품 특성, 하드웨어 제약, 인적 자원의 역량, 프로젝트 환경에 가중치를 적용하고, LOC 기반 산정 결과에 이를 곱해 예측값을 보정한다.
상세형(Detailed Model)
상세형은 대형 시스템 개발에 주로 적용한다. 시스템을 모듈과 서브시스템으로 나누고, 모듈·서브시스템·시스템의 3계층에서 비용을 각각 산정한다. 계층마다 다른 영향 요소를 적용하므로 가장 높은 정밀도를 얻을 수 있다.
개발 환경이 산정 상수를 바꾸는 방식
COCOMO I은 프로젝트 환경과 조직의 숙련도에 따라 개발 모드를 구분하고, 모드마다 다른 비용 산정 상수를 적용한다.
유기적 모드(Organic Mode)
유기적 모드는 5만 라인(50 KDSI) 이하의 소규모 소프트웨어 개발을 대상으로 한다. 팀이 업무와 개발 환경에 익숙하고, 요구사항이 명확하며 복잡도가 낮은 경우에 해당한다. 비즈니스 소프트웨어나 일반적인 응용 프로그램 개발이 이 범주에 속한다.
반결합 모드(Semidetached Mode)
반결합 모드는 5만에서 30만 라인(50~300 KDSI) 사이의 중간 규모 프로젝트를 의미한다. 유기적 모드와 내장 모드의 중간 성격으로, 일정 수준의 복잡도와 엄격한 제약 조건이 함께 존재하는 환경이다. 운영체제나 데이터베이스 관리 시스템의 일부가 여기에 해당할 수 있다.
내장 모드(Embedded Mode)
내장 모드는 30만 라인(300 KDSI) 이상의 대규모 프로젝트, 또는 미사일 유도 시스템과 실시간 제어 시스템처럼 하드웨어와 소프트웨어가 밀밀하게 결합된 환경에 적용한다. 기술적 제약이 엄격하고 높은 신뢰성이 필요한 프로젝트를 대상으로 한다.
모드와 규모에서 노력 및 기간으로 이어지는 흐름
비용 산정은 프로젝트 성격을 먼저 판단한 뒤 규모를 예측하고, 이를 바탕으로 노력과 개발 기간, 적정 인원을 계산하는 순서로 진행된다.
이 과정에서 LOC만 기계적으로 적용하는 것이 아니라, 먼저 프로젝트의 모드를 결정하고 해당 모드의 상수를 사용한다. 중간형에서는 인력의 숙련도와 도구 지원 정도 등을 포함한 15가지 변수를 노력(Effort) 계산 결과에 반영해 최종값을 보정한다.
LOC 중심 산정이 가진 의미와 제약
COCOMO I은 비용 산정을 주관적 판단에서 수학적 모델의 영역으로 옮겼다는 점에 의미가 있다. 다만 LOC를 중심으로 규모를 측정하므로 객체 지향 프로그래밍이나 코드 재사용이 빈번한 환경에서는 정확도가 떨어질 수 있다.
폭포수 모델(Waterfall)을 전제로 설계됐다는 점도 제약이다. 애자일(Agile)처럼 반복적이고 점진적으로 개발하는 방식에 그대로 적용하기는 어렵다. 이후 COCOMO II가 객체 점수(Object Points)와 기능 점수(Function Points) 등을 수용하게 된 배경이기도 하다.
그럼에도 비용 동인을 식별하고 프로젝트 환경을 모드로 분류하는 접근은 현대 비용 산정 기법의 근간을 이룬다. 소프트웨어 자산 가치를 평가할 때도 중요한 기준으로 활용된다.
Sources
- Boehm, B. W. (1981). Software Engineering Economics. Prentice-Hall.
- Pressman, R. S. (2014). Software Engineering: A Practitioner's Approach. McGraw-Hill.
- 정보관리기술사 합격 지침서: 소프트웨어 공학 편
- 위키백과: COCOMO 모델의 구조와 특징