본문 바로가기
나도 공부한다/소프트웨어공학(이론)

04. 프로젝트 관리

by 꾸빵이 2021. 10. 27.

프로젝트

  • 특정 제품이나 서비스를 만들기 위해 일정한 기간을 정해놓고 수행하는 작업
  • 결과물이 있어야한다
  • 일정기간동안 수행되어야한다
  • 목적이 있다
  • 진행과정에서 범위가 구체화된다
  • 계획된 시간 내에 계획된 예산 범위 내에서 계ㅗ힉했던 요구사항을 만족시키는 결과를 얻었으면 프로젝트를 성공했다고 할 수 있다.

 

 

프로젝트 관리 프로세스의 분할

  1. 제품개발 프로세스: 개발을 위한 활동으로, 분석-설계-구현-시험
  2. 프로젝트 관리 프로세스: 원하는 결과물을 만들어낼 수 있도록 시간, 원가, 품질, 자원 등을 관리하고 지원하는 보호 프로세스. umbrella process. 범위 관리-일정 관리-품질 관리

 

 

프로젝트 관리란?

  • 소프트웨어를 조직(organizing)하고 계획(planning)하고 일정관리(scheduling, 피드백)하는 것.
  • 기술뿐만 아니라 노하우, 경험 등이 필요함.
  • 관리는 현장감이 중요하다. 특히 인간관리.. 경험을 바탕으로 융화할 수 있어야함.
  • 프로젝트 일정 분야가 가장 갈등 빈도가 큼. 체계적이고 현실적으로 계획세우면 예방 가능

 

 

 

프로젝트 관리의 목표

  • 프로젝트 이해관계자의 요구를 만족시키기 위해
  • 특정한 프로젝트의 범위(오버해서 불필요한 일X)를 제한된 자원으로 예산 범위 내에서 주어진 시간 내에 완수하기

 

 

PMBOK이 정의한 프로젝트 관리 지식 영역 10가지

  • 프로젝트 관리의 3대 제약사항
    범위(scope), 일정(time), 비용(cost). +품질(quality) = 핵심 관리 영역
  • 프로젝트 보조 관리영역
    인적 자원 관리, 의사소통 관리, 리스크 관리, 조달관리, 이해관리자 관리
  • 통합 관리

통합관리

1. 프로젝트 계획 개발(계획서 작성. 계획서는 공식적으로 승인된 문서이며 변경 가능)
2. 프로젝트 계획 실행
3. 통합된 변경 통제

 

범위 관리

프로젝트를 성공하기 위해 요구되는 프로세스로 구성. 제품 범위와 프로젝트 범위로 나뉜다.
착수-범위 기획-범위 정의-범위 검증-범위 변경 통제

 

일정 관리

주어진 기간 내에 완료하기 위해 요구되는 프로세스로 구성.

작업 정의-작업 순서(문서화)-작업 기간 산정-일정 개발(시작과 종료일 결정)-일정 통제(변경관리)

 

비용 관리

자원 기획-비용 산정-비용 예산 수립(기준선 설정)-비용 통제

 

품질 관리

품질 요구를 만족시키기 위해 요구되는 프로세스로 구성

품질 기획-품질 보증(감시, 확인)-품질 통제

 

인적 자원 관리

인력들에게 지원과 팀 환경을 만들어주는 프로세스

조직 기획(문서화, 계획서 작성)-팀 확보-팀 개발

 

의사소통 관리

의사소통 기획-정보 배포(이해 관계자들이 원하는 정보 제공)-성과 보고(결과 정보 배포)

 

프로젝트 위험 관리

위험 관리 기획(언제 어떻게)-위험 식별-정석적 위험 분석(영향력, 빈도수)-정량적 위험 분석(수치화)-위험 대응 기획-위험 모니터링 및 통제

 

프로젝트 조달 관리

조직 외부에서 물품과 서비스를 조달하기 위해 요구되는 6개의 프로세스로 구성

조달 기획-권유 기획-권유-공급자 선정-계약 관리-계약 종료

 

 

 

소프트웨어 프로젝트 관리의 어려움

  • 결과물을 만질 수 없고 눈에 보이지 않음
  • 결과물이 매우 유연함
  • SE 프로세스가 표준화되어있지 않음
  • 뚜렷한 품질 보증 기준이 없음
  • => 사업 지연, 초과비용 발생, 요구사항 불만족으로 실패 가능성 높아짐

 

 

프로젝트 이것저것

  • 국제 기구 PMI에서 개발한 프로젝트 관리지식체계(PMBOK) 지침서는 프로젝트 관리 표준이다. 이걸 꼭 따를 필요는 없다.
  • PDCA: Plan-Do-Check(결과 점검)-Action(개선책 마련) + 종료(수행과정 평가)
  • 프로세스는 프로젝트 안에서 작은 작업단위로 묶어주는 것을 말함
  • ITO: 각 프로세스는 입력물(Input, 문서와 조건), 도구와 기법(Tools and Techniques), 산출물(Output)으로 구성되어있다.
  • 프로세스 그룹의 상호작용: 착수 -> 기획(P) -> 실행(D) -> 감시/통제(C/A) ->종료
    C/A 단계에서 실적이 미흡할 경우 다시 D 단계로 돌아가서 피드백. 계획 수정이 필요하면 P로 돌아감. 결과물에 대한 이해관계자 확인과 검증 후 종료한다.

 

 

 

착수 프로세스 그룹

  • 프로젝트 시작을 공식적으로 승인받기 위한 활동
  • 변경에 소요되는 비용은 가장 낮고 위험 수준은 가장 높음
  • 프로젝트 헌장이 문서화되고 승인되면 공식적으로 시작. 프로젝트 이름, 목적, 상위 수준 프로젝트 범위 및 요구사항 등이 있음. 프로젝트 진행의 기준과 근거가 된다. 이 문서로 원활한 의사소통 가능. 보통 프로젝트 스폰서가 작성함

 

기획 프로세스 그룹(planning process group)

  • 프로젝트에 요구되는 활동을 계획하는 프로세스 모임. 
  • 기획 단계에서 프로젝트 관리 계획서, 프로젝트 관리 계획문서 작성.
  • 기획이란? 생각한 바를 그리는 일.
  • 계획이란? 목표를 이루기 위해 구체적인 접근 방법을 설정하는 일.

 

실행 프로세스 그룹

프로젝트 관리 계획서에 정의된 작업을 완수하기 위해 수행되어야하는 프로세스로 구성.

 

통제 프로세스 그룹

통제는 변경이 필요할 경우 변경 요청을 검토하고 승인하여 변경을 관리함. 요청은 이해관계자에 의해 이루어짐.

모든 변경 요청을 문서화하고 관리팀이나 권한 보유자가 승인, 거부해야함

 

 

 

프로젝트 종료 활동

  • 프로젝트 종료 후 검토를 수행하고 결과 기록
  • 최종 제품, 서비스, 결과물 인계
  • 계약 종결에 대한 계약서 약관 및 조건 이행
  • 고객 또는 스폰서의 인수 수락
  • 습득한 교훈 문서로 정리

 

프로젝트 관리자(PM)

  • 직급이 아니라 역할임. PMP 자격이 요구됨
  • 지도력, 의사소통 능력, 협상 기술, 지식과 경험이 요구됨.
  • 지식 역량(프로젝트 관리 지식, 기술적 지식, 경영 지식)
  • 성과 창출 역량(실행력, 경험, 적용)
  • 인성 역량(태도, 개인 성격, 지도력)

 

품질과 생산성에 영향을 주는 3대 요소(3P)

사람, 문제, 프로세스

 

 

소프트웨어 개발 각 단계의 프로세스를 액티비티라고 부름

제품 개발 프로세스=set of Activities

기본 액티비티(framework activity): 계획, 요구사항 분석, 설계, 구현 및 시험

보호 액티비티(umbrella activity): 품질 보증, 형상 관리 확인 및 검증활동