LOC로 소프트웨어 규모와 개발비용을 산정하는 방법

LOC(Line of Code)를 기준으로 소프트웨어 규모를 측정하고 PERT 예측치, 노력, 개발비용, 생산성 지표로 연결하는 산정 방법을 정리합니다.

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

코드 라인 수를 규모 산정의 출발점으로 삼는 이유

LOC(Line of Code)는 소프트웨어를 이루는 소스코드의 총 라인 수로 프로젝트 규모를 측정하는 방식이다. 구현이 시작된 뒤에는 코드라는 구체적인 데이터를 확보할 수 있어, 비용 산정과 생산성 분석의 기초 자료로 쓰기 좋다.

개발자가 작성한 코드 양을 기준으로 하므로 해석이 직관적이고, 도구로 라인 수를 자동 집계할 수 있다. 과거 프로젝트의 통계를 쌓아 두면 이후 프로젝트의 노력도 예측할 수 있다. 반면 프로그래밍 언어의 문법, 코딩 컨벤션, 개발자별 스타일에 따라 같은 기능도 LOC가 달라질 수 있다.

LOC 기반 산정은 라인 수 집계에서 끝나지 않는다. WBS로 작업을 나누고, 라인 수를 노력으로 바꾼 뒤 비용까지 연결한다.

산정 공식 적용WBS 분석라인 측정 (LOC)노력(MM) 측정 개발 비용 산정PERT 공식 적용편차 계산

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

  • 소프트웨어 공학 이론 및 실무 (규모 산정 파트)
  • 정보처리기사 소프트웨어 설계 가이드
  • 소프트웨어 대가 산정 가이드 (소스코드 라인수 방식)
LOC소프트웨어 규모 산정PERTCOCOMO생산성