티스토리 뷰

비용 산정하기

공수 및 비용산정

수행 작업 및 작업 산출물의 속성을 근거로 소요 공수(MM, Man, Month), 비용을 산정할 수 있다.
UI/UX 개발에 적용할 프로세스를 수립하고 작업 수행에 필요한 지침, 방법 등을 작성할 수 있다.

소프트웨어 비용산정 개념

비용은 소프트웨어 규모를 소요공수와 투입자원 및 소요기간으로 파악하여 실행 가능한 계획을 수립하기 위한 목적으로 산정한다.

비용산정의 의의

단위작업공수(비용)를 통한 총 공수(총비용)을 WBS에 근거하여 산출하면 계약의 근거로 활용한다.

  • 낮게 산정 시: 품질문제 발생, 납기문제, 개발자 부담 가중
  • 높게 산정 시: 예산낭비, 일의 효율성 저하
비용산정 결과: 노력(인월, E), MM(Man-Month), PM(Person Month)

소프트웨어를 한 달 간 개발하는데 소요되는 총 인원수 또는 한 사람을 기준으로 몇 개월에 개발 할 수 있는 양인가를 의미하며, 개발기간을 간접적으로 측정 할 수 있는 근거가 된다.

개발 비용 산정시 고려사항
프로젝트 요소

어떤 소프트웨어를 개발할 것인가에 따라 비용이 달라질 수 있다. 프로젝트 요소에는 제품의 복잡도, 시스템의 크기, 요구되는 신뢰도 등이 있다.

  • 제품의 복잡도 : 소프트웨어의 종류(응용·유틸리티·시스템 소프트웨어 등)에 따라 달라지는 문제의 난이도를 의미한다.
  • 시스템의 크기 : 소프트웨어의 규모(대형 · 소형 소프트웨어)에 따라 입출력 양식수 등 개발할 시스템의 규모를 의미한다.
  • 요구되는 신뢰도 : 신뢰도는 프로그램이 일정한 기간 내에 주어진 조건하에서 필요한 기능을 수행하는 정도로 정확성, 견고성, 완전성, 일관성등을 의미한다.
자원 요소

소프트웨어 개발에 필요한 각종 자원들의 투자 정도에 따라 비용이 달라질 수 있다. 자원 요소에는 인적 자원, 하드웨어 자원, 소프트웨어 자원 등이 있다.

  • 인적 자원 : 관리자, 개발자의 능력 혹은 자질
  • 하드웨어 자원 : 개발 장비나 워드프로세서, 프린터와 같은 보조 장비
  • 소프트웨어 자원 : 언어 분석기, 문서화 도구, 요구 분석기 등과 같은 개발 지원 도구
생산성 요소

소프트웨어 생산성에 영향을 주는 요소에는 개발자의 능력, 경험 및 주어진 개발 기간 등이 있다.

  • 개발자의 능력 : 전문 분야에 대한 지식, 유사 분야에 대한 경험, 응용 분야에 대한 이해도, 책임감, 창의력 등
  • 개발 기간 : 소프트웨어를 개발하는 기간

규모 산정 방법

상/하향식 산정방법
하향식 산정방법
  • 경험적 단언(시스템 이해한 후), 개발자 합의(인력, 시스템 크기, 예산)
    소프트웨어 개발 기술에 관한 경험이 많은 전문가의 판단에 따라 비용을 산출하는 방법으로 지식을 갖춘 2명 이상의 전문가에게 의뢰하는 방식이다. 장점으로는 간편하고, 신뢰감을 줄 수 있지만, 단점으로는 낙관적 결과를 만들어내 기도 하고, 비과학적(기술적 요인을 간과하기 쉬움)으로 객관성 부여가 어려울 수 있다. 즉, 개인적차이가크게날수있기때문이다. 사소한문제로인한결정이나 그룹 내의 한 사람에 의한 독단으로 가면 문제가 발생할 가능성이 있다.
  • 전문가 감정과 델파이 방식 이용
    회의의 부작용을 방지하면서 전문가의 의견 일치를 얻기 위하여 1948년 랜드사 (Rand Co.)에서 개발한 방법으로 전문가의 판단 방법의 단점을 보완한 방법이다. 전문가들이 편견이나 분위기에 지배 받지 않도록 조정자(coordinator)를 필요로 한다.
    • 조정자가 시스템 정의서와 비용 산출 양식을 전문가들에게 제공
    • 조정자는 전문가들이 비용 산출에 관한 토의를 위한 회의를 소집
    • 전문가들은 익명으로 각자의 산정 작업을 완료
    • 조정자는 그룹 산정과 개인 산정에 관한 내용을 요약하여 제시
    • 조정자는 산정내용의 차이가 많을 때, 그 문제에 초점을 맞추어 회의를 소집
    • 전문가들은 다시 익명으로 산정 작업을 실시
상향식 산정방법

서브 시스템의 개발비를 산정한 후에 합산하여 전체 시스템의 비용을 산정하는 방법 으로 하향식 방법의 비과학성을 보완한 것이다. 개발할 시스템을 작업분류구조(WBS)로 정의하고, 각 구성요소에 대한 산정을 독립적으로 실시한 후 이를 합산하는 방식이다. 프로젝트를 위한 소 작업에 소요되는 기간을 구하고, 여기에 투입되어야 할 인력과 투 입 인력의 참여도를 곱하여 최종 인건비를 계산한다.

  • 업무분류구조 정의, 각 구성요소에 대한 독립적 산정, 집계
  • LOC 기법, 개발 단계별 인원수 기법 이용
양적 규모 산정방법 (LOC 방식)

소스 라인 수에 근거한 규모산정 방식으로 LOC의 값은 쉽게 측정할 수 있고, 많은 측정 모델이 LOC를 사용한다는 것이 장점인 반면, 언어에 따라 크기가 가변적이며 기준이 모호하여 코딩 표준이 필요하다는 것이 단점이다.

LOC 기법

LOC 기법(원시 코드 라인 수)은 소프트웨어 각 기능의 원시 코드 라인 수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법이다.

  • 측정이 용이, 이해가 쉬워 가장 많이 사용된다.
  • 예측치를 이용하여 생산성, 노력, 개발 기간 등의 비용을 산정한다.
  • 산정 공식
    • 노력 (M/M) = 개발 기간 X 투입인원
    • 개발 비용 = 노력 X 단위 비용 (1인당 월평균 인건비)
    • 개발 기간 = 노력(MM) / 투입 인원
    • 산성 = LOC /노력(MM)
  • 예제
    • LOC 기법에 의하여 예측된 총 라인 수가 30,000라인, 개발에 참여할 프로그래머가 5명, 프로그래머들의 평균 생산성이 월간 300라인일 때 개발에 소요되는 기간은?
    • 노력(인월) = LOC/1인당 월평균 생산 코드 라인 수 = 30,000/300 = 100명
    • 개발 기간 = 노력(인월)/투입 인원 = 100/5 = 20개월
COCOMO((COnstructive COst MOdel) 모델

Boehm에 의해 비즈니스, 산업계, 정부, SW하우스 등에서 엄선한 63종류의 프로젝트 데이터에 기초하여 작성된 경험적인 소프트웨어 비용 견적모델로 COCOMO 모델 의의 는 가장 이해하기 쉬운 실험적 모델이다.

  • 특징
    • 개발할 소프트웨어의 규모(LOC)를 예측한 후 이를 소프트웨어 종류에 따라 다르 게 책정되는 비용 산정 방정식 (공식)에 대입하여 비용을 산정한다.
    • 비용 견적의 강도 분석 및 비용 견적의 유연성이 높아 소프트웨어 개발비 견적 에 널리 통용되고 있다.
    • 같은 규모의 프로그램이라도 그 성격에 따라 비용이 다르게 산정된다.
    • 비용 산정 결과는 프로젝트를 완성하는 데 필요한 노력(Man-Month)으로 나타난다.
  • COCOMO 모형의 종류
    • 기본(Basic)형 COCOMO : 기본형 COCOMO는 소프트웨어의 크기(생산 코드 라인 수)와 개발 유형만을 이 용하여 비용을 산정하는 모형이다.
    • 중간(Intermediate)형 COCOMO : 중간형 COCOMO는 기본형 COCOMO의 공식을 토대로 사용하나, 4가지 특성의 15가지 요인에 의해 비용을 산정하는 모형이다.
양과 질을 고려한 산정방법

소프트웨어 특성을 이용하여 간접적으로 규모와 복잡도를 산정하는 방식

기능점수 (Function Point)

정보처리 규모와 기술의 복잡도 요인에 의하여 소프트웨어 규모 산정방법으로 소프트 웨어의 양과 질을 동시에 고려한 방식이다. 최종사용자 입장에서 소프트웨어 규모를 견적하는 방식으로 프로젝트 완료 후 생산성 평가목적으로 개발 되었으나 사전 예측 모델로 이용하고 있다. 소프트웨어의 기능을 증대시키는 요인별로 가중치를 부여하고, 요인별 가중치를 합산하여 총 기능을 점수를 산출하여 총 기능 점수와 영향도를 이용 하여 기능 점수(FP)를 구한 후 이를 이용해서 비용을 산정하는 기법이다.

소프트웨어 과학 (Software Science)

소프트웨어 규모, 난이도에 대한 척도를 이용하여 개발소요공수 예측모형제시

UI/UX Design

UI/UX 환경 분석

UI/UX 계획 수립

사용자 리서치

UI/UX 요구 분석

UI/UX 콘셉트 기획

UI 아키텍쳐 설계

TAG
댓글
댓글쓰기 폼