Ch23. 프로젝트 계획 수립

728x90

Ch23. 프로젝트 계획 수립

📌 [교재] 소프트웨어 공학 10판

[프로젝트 계획] Project planning

프로젝트 계획

  • 작업을 작은 단위로 나눔(WBS : work breakdown structure)
  • 프로젝트 팀 멤버들(자원)에 할당
  • 문제를 예측하고 잠정적(tentative) 해결책을 준비

프로젝트 계획을 수립하는 시기 (프로젝트 생명주기 세 단계)

  • 제안 단계

: 작업을 완수할 수 있는 자원을 가지고 있는지 판단, 제안 가격을 계산

  • 프로젝트 시작 단계

: 프로젝트를 작업으로 나눔. 자원을 프로젝트에 할당

  • 프로젝트 진행 중

: 계획 수정, 요구사항 변경에 따른 작업분해구조 변경, 일정 조정

제안 단계

  • 완전한 요구사항이 없으므로 예측에 근거하여 계획 수립
  • 소프트웨어 프로젝트의 제안 가격 책정
  • 인건비, HW와 SW 비용, 여비와 교육훈련
  • 추정치를 구한 후 비상 비용을 추가

프로젝트 시작 단계

  • 요구사항을 더 많이 알고 상세한 계획을 수립해야 함
  • 자원을 프로젝트에 할당, 새로운 직원의 채용 필요 여부 결정
  • 프로젝트 모니터링 방법을 정의

프로젝트 진행 중

  • 요구사항 변경, 기술 이슈, 개발 문제에 따라 프로젝트 계획은 진화
  • 일정, 비용 추정치, 리스크(risk) 등을 갱신

23-1. 소프트웨어 가격 책정

[소프트웨어 가격 책정] Software pricing -->그냥 읽고 넘김

Pricing to win

  • 고객의 기대 가격을 근거로 계약에 합의

프로젝트 비용은 제안서를 근거로 합의

  • 상세한 프로젝트 명세를 확정하기 위해 협상을 진행
  • 많은 프로젝트에서 고정된 인자는 요구사항이 아니라 비용임

소프트웨어 가격에 영향을 미치는 요인들

  • 계약 조건
  • 비용 추정의 불확실성
  • 재정 건전성
  • 시장 기회
  • 요구사항 변동성

23-2. 계획 주도 개발

[계획 주도 개발] Plan-driven development

계획주도(기반) 개발

  • 문제점 : SW 개발하는 환경 및 사용하는 환경의 ‘변화’에 따라 초기 결정을 ‘수정’ 필요
  • 장점 : 초기 계획 수립으로 직원 가용성, 타 프로젝트 등을 고려할 수 있고

잠재적인 문제와 종속성이 프로젝트 시작 전에 발견됨

바람직한 접근법

  • 계획 주도와 애자일 개발의 합리적인 혼합
  • 프로젝트 유형과 프로젝트 참여자에 따라 달라짐

[1. 프로젝트 계획]

  • 이용 가능한 자원, 작업 분할, 일정을 정리
  • 프로젝트 조직, 리스크 분석, 작업 분할, 일정, 모니터링 등
  • 형상관리, 배치, 유지보수, 품질, 검증 계획 등

[2. 계획 수립 프로세스]

그림 23.3 참고

  • 이정표(milestone) : 진척 사항을 측정할 수 있는 일정의 특정 지점 (e.g 테스팅을 위해 시스템을 인도하는 때)
  • 산출물(deliverable) : 고객에게 인도되는 작업의 결과물 (e.g 요구사항 문서)

프로젝트 계획 수립 시 고려

  • 낙관적이 아닌 현실적 가정을 해야 함
  • 프로젝트 진행 중 항상 문제가 발생하고 프로젝트 지연이 발생함
  • 예상치 못한 문제 발생을 가정하고 인도 일정에 심각하게 영향을 주지 않도록 비상 eopr을 세워야 함

리스크 완화(risk mitigation)

  • 상당한 지연에 이르게 할 심각한 문제가 있으면 리스크 완화 행동 필요
  • 계획 재수립, 재협상, 기술 검토

23-3. 프로젝트 일정 관리

[프로젝트 일정 관리] Project scheduling

프로젝트 일정 관리

  • 프로젝트를 작업(task)으로 구분하여 조직화
  • 작업이 실행된느 시점과 작업 실행 방법
  • 작업을 실행할 인원과 필요한 SW, HW 자원

애자일과 계획 기반 프로세스 모두 초기 프로젝트 일정 필요

  • 계획 기반은 완전한 일정을 세운 후 프로젝트 진행되면서 수정
  • 애자일은 주요 단계에 대한 전반적 일정, 각 단계에서 반복적으로 수립

프로젝트를 작업으로 나누기

  • 작업은 1-8주 길이
  • 병행 수행이 가능하게 하고 작업 간 종속성을 최소화
  • 중대한 작업이 지연되어 전체 프로젝트가 지연되지 않게

프로젝트 일정관리 문제

  • 이전의 프로젝트와 유사한 경우 이전의 추정치를 재사용
  • 생산성은 투입된 인력의 수에 비례하지 않음

: 지연된 프로젝트에 인력을 추가로 투입하면 의사소통 오버헤드로 인하여 더 지연될 수 O

  • 예상치 못한 일은 항상 일어남
  • 일이 잘못될 가능성을 반드시 고려
  • 새롭거나 기술적으로 진보된 프로젝트는 불확실성이 큼

[1. 일정 표현] : Schedule presentation

프로젝트 일정 표현 수단

  • 바 차트(Gantt chart) : 액티비티의 시작/종료 시간을 보여줌
  • 액티비티 네트워크 : 액티비티 간 종속성을 보여줌

액티비티의 속성

  • 소요시간(Duration)
  • 노력 추정치(effort) : person-month로 표현
  • 종료점 : 문서, 검토회의, 테스트 완료 등

이정표(milestones)와 산출물(deliverables)

  • 이정표 : 진도를 측정할 수 있는 지점

: 간단한 보고서 형태를 가질 수 있음

  • 산출물 : 고객에게 인도되는 프로젝트 결과물

: 산출물은 프로젝트 계획서에 명시됨

728x90