- 작성일
CH3. 프로젝트 계획 수립과 비용 산정
- Authors

- Name
- seren-wib
Contents
3. 프로젝트 계획 수립과 비용 산정
3.1 프로젝트란 무엇인가?
일(task): 시간이나 예산 제약을 별로 안 받는 단편적인 작업
프로젝트(project): 제한된 시간과 비용 안에서 특정 목적을 완성해야하는 계획된 작업
- 프로젝트 관리자(PM)이 이끄는 프로젝트 팀이 완성하며 자원이 필요하다.
작업(work): 프로젝트 안에서 수행하는 단일 작업 단위
| 생산시스템의 4대 요소 (4M) | 생산 자원 (4M) |
|---|---|
| 노동력 (Man) | 노동력 (Man) |
| 기계 (Machine) | 기계 (Machine) |
| 원자재 (Material) | 원자재 (Material) |
| 작업 방법 (Method) | 자본 (Money) |
- 앞 3개는 같고 마지막 하나만 다름: 생산시스템은 Method, 생산 자원은 Money
SW 프로젝트 성공의 필수 요소: 인력, 자원(실험 장비, 자재), 자본, 기술, 시간
SW 프로젝트 계획에 들어가는 것: 작업계획, 작업 방법(기술) 계획, 자원 계획, 조직 계획, 일정계획, 예산계획, 위험관리 계획, 유지보수 계획
3.2 프로젝트 식별
시스템 요청서(System Request): 시스템을 왜 만들어야하고, 어떤 가치창출을 하는지 설명하는 문서
- 구성 요소: 프로젝트 스폰서, 비즈니스 필요성, 비즈니스 요구사항, 비즈니스 가치, 특별 이슈
프로젝트 스폰서: 이해관계자
비즈니스 요구사항: 시스템을 왜 만드는지 + 조직에 제공할 기능을 개략적으로
작업계획: WBS(작업 분해도)제공
타당성 분석
- 구성요소: 경제적 타당성, 기술적 타당성, 조직구성 타당성, 법적 및 환경 타당성, 일정계획 타당성
3.3 프로젝트 관리와 프로젝트 관리자
프로젝트 관리 생명주기: 시작 → 계획 → 실행 → 유지보수
프로젝트 관리: 주어진 제약조건에서 프로젝트 목표달성을 위한 관리
- 구성 요소: 작업계획, 위험도 평가, 자원 추정, 조직, 자원 획득, 업무 지시, 진척도, 결과 분석
프로젝트 관리자(PM)의 주요 역할
- 계획, 수주, 준비
- 계약 지원, 기획, 제안서 작성, WBS작성, 작업 분배, 자원 확보, 비용 산정, 일정계획, 위험도 관리
- 관리
- 설계, 구축, 테스트, 허가 등 전체 진행관리
- 예산관리, 진척관리, 작업 방향성 유지, 성과보고
- 유지보수
- 결과 분석, 검수 지원, 유지보수 지원, 신규 프로젝트 발굴 영업 지원
3.4 작업계획 및 일정계획
대표적인 관리 도구: WBS, CPM 네트워크, 간트 차트, PERT 차트
WBS: 프로젝트 계획을 계층별로 분해한 것
CPM 네트워크: Pert Chart에 의해 표현된다.
- 시각화는 잘 되지만 몇가지 요소를 놓칠 수 있다.
Pert Chart: 개별 작업에 대한 타임라인을 그래픽으로 표현한 것
- 구성요소
- 노드: 이벤트·마일스톤 (원·직사각형)
- 벡터: 작업과 작업 간 종속성(선후관계)을 선으로 표현
- 작성 과정
- 소작업 리스트 작성
- CPM네트워크 다이어그램 그리기
- CPM 네트워크에서 모든 가능 경로를 파악하고 임계경로(가장 긴 경로)를 찾는다
간트 차트(Gantt Chart): 프로젝트 일정을 보여주는 막대 차트
일정계획: 프로젝트 내의 활동, 결과물 및 마일스톤을 나열하는 것
- 구성요소: 시작과 종료일자, 자원등의 정보
- 수립과정: 일정 관리 계획 → 활동 정의 → 활동 순서 정하기 → 소요 자원 추정 → 작업기간 추정 → 일정계획 수립
- 유형
- 마스터: 타임라인이 붙은 단순한 작업 목록
- 마일스톤: 요약 작업
- 상세: 모든 활동 추적, 큰 프로젝트에서 사용
- 7가지 원칙: 이해관계자 의견 수렴, 과거 프로젝트 참조, 위험 요소 고려, 업무 외 시간 고려, 중요 경로 정의, 가정 조건 기록, 마일스톤 포함
3.5 소프트웨어 개발 비용 지출 요소
자료조사와 계획수립, 적용 기술, 프로젝트 규모, UI/UX 요구사항, 작업자의 고용 모델, 유지보수와 지원 규모
3.6 프로젝트 비용 예측 모델의 종류와 절차
비용 예측 모델
- 휴리스틱 기법
- COCOMO(Constructive Cost Model, 건설적 비용 모델): 대표적 휴리스틱 기법으로, LOC기반 비용 추정 회귀 모델
- LOC (Line of Code) = 프로그램이 몇 줄짜리인지 세는 것
- COCOMO(Constructive Cost Model, 건설적 비용 모델): 대표적 휴리스틱 기법으로, LOC기반 비용 추정 회귀 모델
- 분석적 추정 기법
- 기능점수 분석(FPA(Function Point Analysis)): 기능의 개수와 복잡도로 비용 산출
- Putnam 모델: 노력, 시간, 결함을 추정하는 모수 추정 모델
- 가격 대비 수익(Price-To-Win) 추정 모델: 시장 상황, 경쟁업체 가격 기준
- 머신러닝 기반 모델
- IFPUG(국제 기능점수 사용자 모델): 국제 기능점수 사용자 그룹이 제공하는 기능점수 측정 표준 기법
비용 예측 준비 5단계
큰 그림(모듈 맵) → 뭘로 만들지(기술) → 뭘 만들지(SRS) → 어떻게 보이는지(UI) → 일 쪼개서 값 매기기(WBS)
- 프로젝트 개요 및 상위 수준 모듈 맵 만들기
- Use-Case, 클래스, 메소드, DB, UI, 인프라 등등이 다 여기에 포함
- 소요 기술 조사 및 선택
- SRS(소프트웨어 요구사항 명세서) 초안 작성
- 요구사항 세트, 제약사항, 적용 대상 등등
- UI 상세설계
- WBS 작성
3.7 LOC 기반 프로젝트 비용 예측
- 기본 COCOMO: 몇 가지 상수만 반영(노력과 일정이 핵심 변수)
- 기본형과 반결합형, 임베디드 시스템 예측 방법이 있다
- 중급 COCOMO: 추가로 소프트웨어 공학의 15가지 비용 특성 반영
- 상세 COCOMO: 전체 소프트웨어를 여러 모듈로 세분화하고 노력승수 추정해서 반영
3.8 기능점수 기반 프로젝트 비용 예측
기능점수(Function Point, FP): 시스템이 사용자에게 제공하는 기능의 양을 재는 단위
- 기능이 몇 개인지, 얼마나 복잡한지
- 업계 표준
구성요소 5개
| 분류 | 유형 | 뜻 |
|---|---|---|
| 데이터 기능 | ILF (내부 논리 파일) | 우리 시스템 안에서 정의한 클래스·테이블 |
| EIF (외부 인터페이스 파일) | 외부 시스템에서 정의한 걸 참조만 함 | |
| 트랜잭션 기능 | EI (외부 입력) | 데이터가 들어오는 연산:삽입, 삭제, 변경 |
| EO (외부 출력) | 화면·프린터·파일로 내보내는 연산 (보고서) | |
| EQ (외부 질의) | 입력+출력을 다 가진검색 연산 (SQL 검색 질의) |
- ILF vs EIF: 누가 정의했냐로 구분
- 검색 하나 = EQ(질의) + EO(출력)
보조 용어
| 용어 | 뜻 | 예 |
|---|---|---|
| RET (레코드 요소 타입) | ILF·EIF의하위 클래스 수 | 사원 → 정규직, 비정규직 = 2 |
| FTR (참조 파일 타입) | EI·EO·EQ가참조하는 파일 수 | 학생+학과 조회 = 2 |
| DET (데이터 요소 타입) | 속성 수 | 학생(학번, 성명, 주소, 전화, 주민번호, 학과) = 6 |
기능점수 추정 5단계
- 기능점수 유형 파악
- 복잡도 판정 (단순 / 중간 / 복잡)
- 미조정 기능점수(UFP) 산출
- 시스템 특성 중요도(TDI) 반영
- 최종 기능점수 산출
3.9 조직 계획
팀 구성 방법: 계층형, 수석 프로그래머, 매트릭스, 민주적
계층형 팀: 트리 구조, 기능별 서브팀마다 서브팀장
- 하위는 상세 지식, 상위는 전체를 넓게 앎
- 대규모 프로젝트에 적합
수석 프로그래머 팀: 수석 프로그래머 중심
- 수석: 기획, 사양, 설계 (구현까지)
- 보조: 기술적 동료
- 비서: 관리 업무 지원
- 전문가: 직접 구현
매트릭스 팀: 부서(기술)와 프로젝트에 이중 소속
- 프로젝트 팀은 끝나면 해체돼서 기술 축적이 안 됨 → 이걸 해결
- 1950년대 미국 항공우주 산업, 국내는 LG
민주적 팀: 모두 일대일로 토의
- 리더는 합의 안 될 때만 결정
전형적인 SW 개발팀: PM, 업무 분석가, SW 설계자, 개발자, QA 등
- 개발팀(Offshore)이 고객(On-site)과 소통
애자일 개발팀: 전형적인 팀 + PM, UX/UI 설계자, QA 담당자
3.10 위험관리 계획
위험관리 계획: 위험을 미리 찾아서 마감 지키고, 소통하고, 위험 제거에 돈을 배정하는 계획
기술적 위험: 기술 문제나 결함 있는 도구 때문에 생기는 위험
- 요소: 코드 품질 불량, 요구사항의 계속된 변경, 잘못된 기술 선택, 통합 문제
- 완화: 기존 문서 다 받고 이전 팀이랑 문제 논의. 새 기술이면 위험 더 커짐
운영적 위험: 개발 목표가 명확하지 않을 때 프로세스에서 생기는 위험
- 요소: 무리하거나 부정확한 마감일, 잘못된 기간 설정, 생산성 저하(지연, 직원 소진), 부적절한 관리, 범위 변경(범위 확대), 이해관계자와 소통 부재, 소통 실수
- 중요 단계 건너뛰고 서두르기, 숙련 개발자 부족, 불안정한 업무량도 위험
업무적(비즈니스) 위험: 회사의 업무 이해관계와 운영에서 생기는 위험
- 요소: 이해관계자 기대 미충족, 정의 안 된 지표, 일관성 없는 우선순위, 예산 문제, 참여도 부족, 파트너십 계약 부재, 예측 못 하는 외부 위험
- 파트너십 계약 부재 → 서면 계약서로 해결
- 외부 위험: 법 변화, 정부 규정, 경제 변화, 자연재해 등 → 보험, 최신 정보 파악으로 최소화
3.11 사업의 타당성 분석
타당성 분석: 프로젝트의 모든 측면을 검토하고 평가하는 것
- 종류: 경제적, 기술적, 조직적, 법적 및 환경적, 일정계획
경제적 타당성: 돈이 되는지
- 평가 기준: 현재가치(PV), 현 자산가치(NPV), 투자수익률(ROI), 손익분기점(BEP)
- PV: 미래에 얻을 돈을 지금 가치로 바꾼 것
- NPV: 들어올 돈의 현재가치 - 나갈 돈의 현재가치
- ROI: 투자 대비 수익률
- BEP: 매출 = 총비용, 손해도 이익도 없는 지점
기술적 타당성: 기술적으로 만들 수 있는지
- 조직의 기술력, 기존 기술 사용 가능성, HW·SW 요구사항 수행 능력, 자원·기술 확보 능력, 유지보수 가능성
조직적 타당성: 조직이 받쳐줄 수 있는지
- 추진자의 투자 의지, 관리자의 이해도와 예산, 사용자 수준, 투입 인력(자체·외부), 직원의 수용 의지와 기술 능력, 새 기술 대처 능력, 고용 안정성
법적 타당성: 법적 제한이 없는지, 윤리 기준을 지키는지
- 계약, 데이터 보호법, 의료법, 인증서, 라이선스, 저작권, 지역 조례 등
일정계획 타당성: 마감 안에 끝낼 수 있는지
- 마감 못 맞추면 프로젝트 목적 달성 못 할 수 있음
3.12 프로젝트 관리 표준지침
표준지침: 프로젝트에서 다 같이 지키는 규칙
- 종류: 문서양식, 업무처리 절차, 요구사항명세서(SRS), 설계명세서(SDD), UI 설계, 코딩 작성
- SRS → 설계 단계에 필요한 정보, SDD → 구현 단계에 필요한 정보