COCOTS로 COTS 통합 프로젝트 노력 예측하기

COCOTS의 서브모델과 적용 절차를 바탕으로 COTS 기반 CBD 프로젝트의 평가·통합·유지보수 노력을 예측하는 방법을 정리한다.

2026-08-14 · 최초 발행 2025-05-23

COTS를 도입해도 통합 노력은 별도로 추정해야 한다

COCOTS(COnstructive COTS)는 상용 컴포넌트 기반 개발(CBD)에서 COTS 통합에 드는 노력을 예측하기 위한 비용 추정 모델이다. 새 코드를 만드는 작업에 초점을 둔 COCOMO II에서 파생됐으며, 상용 컴포넌트를 들여올 때 발생하는 평가, 통합, 테스트 같은 활동의 특성을 반영한다.

COTS(Commercial Off The Shelf)는 이미 개발·상용화된 소프트웨어 컴포넌트다. 별도 개발 없이 구매해 사용할 수 있고, 검증된 품질과 안정성을 활용하면서 개발 비용과 시간을 줄이는 목적에 쓰인다.

COTS는 라이브러리, 프레임워크, API(Application Programming Interface), 미들웨어, 애플리케이션 소프트웨어 형태로 제공된다. 차트나 그리드 같은 UI 컴포넌트, 데이터베이스 시스템, 메시징 미들웨어, 보안 모듈, 리포팅 도구가 활용 대상이 될 수 있다.

전통적인 개발 방식에서 CBD로 무게중심이 옮겨가면서, 코드 생산량만으로는 비용을 충분히 설명하기 어려워졌다. COCOMO 계열 모델이 신규 코드 개발 중심의 예측에 강점이 있었다면, COCOTS는 상용 컴포넌트의 평가와 조합에서 발생하는 비용을 다룬다. 이 모델은 USC(University of Southern California)의 Barry Boehm 교수 팀에서 개발했다.

평가부터 수명주기 지원까지 나누어 보는 구조

COCOTS는 다음 서브모델로 COTS 활용에 따른 작업을 분리한다.

COCOTS 모델초기 평가·선정 서브모델통합 서브모델볼륨화 서브모델수명주기 후속 지원 서브모델후보 컴포넌트 조사·분석컴포넌트 적합성 평가최종 선정 작업컴포넌트 테일러링글루코드 개발API 조정 작업확장성 고려성능 튜닝유지보수업그레이드 관리공급업체 관계 관리

후보 COTS를 고르는 평가·선정 단계

이 서브모델은 후보 상용 컴포넌트를 조사하고 선택하는 활동의 비용을 예측한다. 후보 제품 식별, 평가, 선정뿐 아니라 평가 기준을 세우고 테스트베드를 구축하는 작업도 포함한다.

공식은 다음과 같다.

Effort = A × (Size)^B × EM

  • A: 상수 계수
  • Size: 평가 대상 컴포넌트 수
  • B: 규모 지수
  • EM: 평가 복잡도 등을 반영하는 노력 승수

선택한 컴포넌트를 시스템에 연결하는 단계

통합 서브모델은 선정된 COTS를 시스템에 넣는 데 필요한 노력을 산정한다. 글루코드(Glue Code)와 래퍼(Wrapper) 코드 개발, 컴포넌트 간 인터페이스 조정이 주요 대상이다.

Effort = C × (SLOC)^D × ∏EMi

  • C: 상수 계수
  • SLOC: 글루코드 및 래퍼 코드 라인 수
  • D: 규모 지수
  • EMi: 통합 복잡도와 관련된 노력 승수들

업데이트와 패치가 만드는 변동 비용

볼륨화 서브모델은 상용 컴포넌트의 업데이트나 패치로 생기는 추가 작업을 예측한다. 업데이트 주기와 변경의 영향도를 분석하고, 공급업체 의존성을 관리하는 비용도 계산 범위에 둔다.

Effort = E × (Updates)^F × VEM

  • E: 상수 계수
  • Updates: 예상 업데이트 횟수
  • F: 규모 지수
  • VEM: 변경 영향도 관련 노력 승수

운영 이후의 지원과 관리

수명주기 후속 지원 서브모델은 시스템 운영 중 COTS와 관련해 발생하는 유지보수 활동을 다룬다. 라이선스 관리, 기술 지원, 업그레이드 계획 수립이 여기에 해당한다.

Effort = G × (Lifetime)^H × MEM

  • G: 상수 계수
  • Lifetime: 예상 시스템 수명(년)
  • H: 규모 지수
  • MEM: 유지보수 복잡도 관련 노력 승수

프로젝트 특성에 맞춰 입력값과 계수를 정한다

COCOTS 적용은 먼저 COTS 활용 범위, 비기능 요구사항, 통합 복잡도를 파악하는 데서 시작한다. 이어 컴포넌트 수량과 복잡도, 글루코드 규모, 예상 업데이트 주기, 시스템 수명을 각 서브모델의 입력 변수로 정한다.

조직의 특성에 맞춰 계수를 조정하는 과정도 필요하다. 과거 프로젝트 데이터를 바탕으로 보정한 뒤, 서브모델별 노력을 계산하고 총 노력도를 산출해 검증한다.

예측 결과는 위험 관리와도 연결할 수 있다. 노력이 높게 계산된 영역에 위험 관리 자원을 집중하고, 컴포넌트 자체 개발과 COTS 도입 사이의 선택이나 후보 COTS 비교를 지원하는 자료로 활용한다. 프로젝트가 끝난 뒤에는 실제 노력과 예측 노력을 비교해 차이를 분석하고 모델을 정교화한다.

COCOMO II와 다른 비용 관점

구분 COCOTS COCOMO II
대상 COTS 컴포넌트 통합 중심 전체 소프트웨어 개발 프로젝트
규모 측정 컴포넌트 수, 글루코드 SLOC 소스코드 라인 수(SLOC) 또는 기능점수(FP)
비용 요소 컴포넌트 평가, 통합, 볼륨화, 유지보수 제품, 플랫폼, 인력, 프로젝트 특성
적용 단계 CBD 중심 프로젝트 모든 개발 방법론 적용 가능

COCOTS는 COTS 기반 개발에서 드러나지 않기 쉬운 통합 비용을 식별하고, 프로젝트 초기의 비용·일정 예측과 위험 요소 파악에 활용할 수 있다. 반면 적용에 필요한 역사적 데이터를 확보하기 어렵고, 모델 보정에는 전문성이 요구된다. 도메인별 특성을 모두 반영하기 어렵다는 점과 입력 요소가 복잡하다는 점도 고려해야 한다.

통합 프로젝트에서 드러나는 비용 차이

여러 레거시 시스템을 통합하면서 다수의 COTS를 사용한 금융권 통합 정보 시스템에서는 초기 평가에 예상보다 2배 많은 인력 배정이 필요하다는 점을 확인할 수 있다. 통합 비용이 전체 프로젝트의 약 35%를 차지하는 것으로 예측하고, 컴포넌트 업데이트로 인한 재작업 비용도 사전에 예산에 반영할 수 있다.

오픈소스와 상용 컴포넌트를 함께 사용한 공공기관 정보화 프로젝트에서는 오픈소스 컴포넌트 통합 비용이 상용 컴포넌트보다 30% 높게 예측됐다. 글루코드 개발 비용은 초기 예상의 2.5배로 조정됐으며, 유지보수 단계의 컴포넌트 관리 비용도 미리 파악할 수 있었다.

COCOTS는 COCOMO II의 기본 철학을 이어받되, COTS 통합이 만들어 내는 평가·선정, 통합, 볼륨화, 수명주기 후속 지원 비용을 별도로 다룬다. 정확도를 높이려면 조직 환경에 맞는 보정과 지속적인 모델 개선이 필요하다.

COCOTSCOTSCBD소프트웨어 비용 추정컴포넌트 통합