LOC로 소프트웨어 규모와 개발비용을 산정하는 방법
LOC(Line of Code)를 기준으로 소프트웨어 규모를 측정하고 PERT 예측치, 노력, 개발비용, 생산성 지표로 연결하는 산정 방법을 정리합니다.
2026-08-14 · 최초 발행 2026-04-17
코드 라인 수를 규모 산정의 출발점으로 삼는 이유
LOC(Line of Code)는 소프트웨어를 이루는 소스코드의 총 라인 수로 프로젝트 규모를 측정하는 방식이다. 구현이 시작된 뒤에는 코드라는 구체적인 데이터를 확보할 수 있어, 비용 산정과 생산성 분석의 기초 자료로 쓰기 좋다.
개발자가 작성한 코드 양을 기준으로 하므로 해석이 직관적이고, 도구로 라인 수를 자동 집계할 수 있다. 과거 프로젝트의 통계를 쌓아 두면 이후 프로젝트의 노력도 예측할 수 있다. 반면 프로그래밍 언어의 문법, 코딩 컨벤션, 개발자별 스타일에 따라 같은 기능도 LOC가 달라질 수 있다.
LOC 기반 산정은 라인 수 집계에서 끝나지 않는다. WBS로 작업을 나누고, 라인 수를 노력으로 바꾼 뒤 비용까지 연결한다.
PERT로 LOC 예측치와 변동성 계산하기
LOC를 추정할 때는 낙관치, 비관치, 기대치를 함께 두고 PERT(Program Evaluation and Review Technique) 공식을 적용한다. 하나의 단정적인 라인 수보다 예측의 불확실성을 함께 다룰 수 있다.
- 예측치(LOC) =
(낙관치 + 4 × 기대치 + 비관치) / 6- 낙관치: 가장 좋은 환경에서 예상되는 최소 라인 수
- 비관치: 가장 나쁜 환경에서 예상되는 최대 라인 수
- 기대치: 일반적인 환경에서 예상되는 평균 라인 수
- 편차 =
((비관치 - 낙관치) / 6)²- 산정한 예측값의 변동성을 파악하는 척도다.
예측 LOC가 정해지면 투입 인월, 비용, 기간, 생산성을 계산할 수 있다.
- 노력(Effort, MM) =
LOC / 1인당 월평균 생산 코드 라인 수- 개발자 한 명이 한 달에 작성할 수 있는 평균 코드 양을 기준으로 투입 인월(Man-Month)을 구한다.
- 개발비용 =
Effort × 단위비용(1인당 월평균 인건비)- 산정된 노력을 시장 노임 단가 또는 내부 인건비로 환산한다.
- 개발기간 =
Effort / 투입인원- 실제 투입 인원을 반영해 예상 종료 시점을 계산한다.
- 생산성 =
LOC / Effort- 단위 노력으로 구현한 기능의 양을 평가하는 지표다.
WBS에서 예산까지 이어지는 산정 흐름
전체 시스템을 관리 가능한 기능 단위로 분할하는 WBS 분석에서 시작한다. 각 기능의 라인 수는 과거 데이터나 전문가 판단을 바탕으로 예측하고, 이를 합산해 총 LOC를 구한다.
이후 조직의 생산성 지표로 총 LOC를 나누면 필요한 총 MM을 산출할 수 있다. 마지막으로 노력을 인건비로 환산하고 직접비와 간접비를 포함해 전체 예산을 정한다. LOC 자체보다 조직의 과거 생산성 데이터와 결합될 때 견적에 더 직접적으로 쓰인다.
규모 데이터가 품질과 운영 관리에 쓰이는 방식
LOC 데이터는 규모 외에도 품질과 관리 효율성을 보는 기준이 된다. 예를 들어 특정 라인 수(예: 1K LOC)당 발견된 결함 수로 오류 및 결함 발생률을 측정할 수 있다.
총 결함 수 대비 수정된 결함의 비율은 품질 수준을 가늠하는 데 활용된다. 투입 예산 대비 코드의 양과 질을 비교하면 비용 효율성을 분석할 수 있고, 코드 대비 주석 비율이나 관련 문서의 충실도는 문서화 수준을 확인하는 기준이 된다. 개발자별 또는 모듈별 코드 생성 속도 역시 프로세스 최적화를 위한 생산성 자료가 될 수 있다.
경험적 산정 모델의 기반이 되는 LOC
LOC는 원시 데이터에 가깝지만 여러 경험적 산정 모델의 기초가 된다.
| 모델명 | 특징 |
|---|---|
| Doty Model | 프로젝트 성격에 따라 다양한 변수와 가중치를 적용하는 모델이다. |
| Putnam Model | 소프트웨어 생명주기 전반의 인력 분포를 Rayleigh 곡선으로 설명하는 동적 산정 모델이다. |
| COCOMO | Boehm이 제안한 모델로, LOC 규모에 따라 조직형, 반내장형, 내장형으로 구분해 산정한다. |
LOC를 사용할 때 함께 점검할 한계
LOC는 구현 단계에서 강력한 지표지만, 요구사항 정의 단계에서는 정확도가 떨어질 수 있다. 이 시기에는 기능점수(FP) 방식과 병행하거나 과거 프로젝트의 유사성을 면밀히 분석해 낙관치와 비관치 기준을 분명히 둘 필요가 있다.
코드 라인 수가 많다는 사실만으로 소프트웨어 가치가 높아지는 것은 아니다. 규모 산정에는 LOC를 활용하되, 리팩토링과 코드 간결성도 함께 장려해야 한다. LOC는 생산성 지표와 품질 관리의 근간으로 활용할 수 있지만, 언어와 개발 스타일이 수치에 미치는 영향은 항상 고려해야 한다.
Sources
- 소프트웨어 공학 이론 및 실무 (규모 산정 파트)
- 정보처리기사 소프트웨어 설계 가이드
- 소프트웨어 대가 산정 가이드 (소스코드 라인수 방식)