52
CSE4006: Software Engineering - Scott Lee Scott Uk-Jin Lee Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2018 Project Management CSE4006 Software Engineering

Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Scott Uk-Jin Lee

Division of Computer Science, College of Computing Hanyang University ERICA Campus

1st Semester 2018

Project Management

CSE4006 Software Engineering

Page 2: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Mangement

프로젝트 관리의 필요성 • 우수한 조직의 필수 조건 • 프로젝트 추적 가능 • 더 나은 제어 및 자원 사용 지원 • 상호 관련 작업의 복잡성 감소 • 계획 대비 성과 측정 가능 • 문제의 조기 파악 및 신속한 수정 가능

!2

Page 3: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Projecta temporary endeavor undertaken to create a unique product or service

고유의 제품이나 서비스를 만들기 위해 수행되어야 할 일시적 행동 • 일회성 • 제한된 자금 / 시간 • 특정 자원 활용 • 사람이 수행 - 1인 혹은 여러명의 팀 • 계획 및 통제됨 • 특정 산출물

• 구성요소 • 목표, 비용, 기간, 기술, 관리자, 참여자, 고객, 등

• 관리

• 요구사항을 만족시키기 위해 지식, 기술, 도구 및 기법을 프로젝트 활동에 적용하는 것

!3

Page 4: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Triple Constraints of Project

!4

시간

품질비용

성공적 프로젝트 : • 주어진 시간과 비용 내 고객의 요구를 만족하는 것

+ • 행복한 팀 • 행복한 계약자 • 행복한 고객 • 행복한 상위 경영진 통합 & 절충

Page 5: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Life Cycle

!5

• 착수 - 새로운 프로젝트나 프로젝트 단계의 시작을 공식적으로 승인 • 계획 - 프로젝트 계획서를 작성 (프로젝트의 목표 및 범위 달성을 위한 필요 행동 방침 계획) • 실행 - 프로젝트 수행에 필요한 인력 및 자원을 확보하고 프로젝트 계획을 시행 • 통제 - 프로젝트가 계획대로 잘 수행되고 있는가를 주기적으로 검토 (필요 시 계획 변경) • 종료 - 공식적 결과물 인수 (계약의 의무 충족 시)

착수 계획 실행 종료

통제

계획 vs. 실적계획 변경

Page 6: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Life Cycle - Initiation

착수

• 프로젝트 규모, 범위, 복잡성 평가 및 후속활동 지원 절차 수립

1. 프로젝트 팀 구성

2. 고객 관계 수립

3. 프로젝트 초기 계획 수립

4. 프로젝트 관리 절차 수립

5. 프로젝트 관리 환경 및 도구 마련

6. 프로젝트 선언문 작성

!6

Page 7: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Life Cycle - Planning

계획

1. 프로젝트 범위, 대안, 실현가능성 설명

2. 프로젝트를 관리가 용이한 작업들로 세분화 3. 자원 예측 및 자원 계획 수립 4. 일정 계획

5. 의사소통 계획 6. 프로젝트 표준 및 절차 결정 7. 위험 확인 및 평가

8. 예산 편성 9. 프로젝트 범위 기술서 작성 10.기본 프로젝트 계획 수립

!7

Page 8: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Life Cycle - Planning

실행

1. 기본 프로젝트 계획 실행 • 자원 획득 및 할당 • 새로운 팀 멤버 훈련 • 프로젝트 일정 준수

2. 프로젝트 진척사항 모니터링 • 자원, 예산, 활동 등 조정

3. 기본 프로젝트 계획에 대한 변경 관리 • 일정 초과, 재수행이 필요한 작업, 예기치 못한 인력 변화, 새 작업 발생

4. 프로젝트 문서 유지 관리 5. 프로젝트 상황에 대한 의사소통

!8

Page 9: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Life Cycle - Planning

종료

1. 종료 • 유형

- 자연스러운 종료 : 요구사항 만족 - 부자연스러운 종료 : 프로젝트 중단

• 문서화 • 인사평가

2. 사후 프로젝트 검토 • 프로젝트 산출물, 관리 프로세스, 개발 프로세스에 대한 강/약점 평가

3. 고객과의 계약 종결

!9

Page 10: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Life Cycle

!10

Page 11: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Life Cycle

!11

5%

20% 60%

15%

노력의 양 (인력 - 소프트웨어 프로젝트의 85 ~ 95% 비용)

착수 계획 실행 / 통제 종료

정의 분석 디자인 / 구현 / 테스트 배포 / 인수

Page 12: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

PMBOKTM Knowledge Areas

!12

프로젝트 통합 관리 프로젝트 범위 관리 프로젝트 일정 관리 프로젝트 비용 관리1. 프로젝트 계획 개발 2. 프로젝트 계획 실행 3. 통합 변화 관리

1. 개시2. 범위 계획3. 범위 정의4. 범위 검증5. 범위 변경 통제

1. 작업 정의2. 작업 순서3. 작업 기간 산정4. 일정 개발5. 일정 통제

1. 비용 산정2. 비용 예산3. 비용 통제

프로젝트 품질 관리 프로젝트 인적자원 관리 프로젝트 의사소통 관리 프로젝트 위험 관리1. 품질 계획2. 품질 보증3. 품질 통제

1. 조직 계획2. 스텝 확보3. 팀 개발

1. 의사소통 계획2. 정보 배포3. 성과 보고4. 관리 종료

1. 위험 관리 계획2. 위험 정의3. 정성적 위험 분석4. 정량적 위험 분석5. 위험 대응 계획6. 위엄 모니터링 및 통제

프로젝트 조달 관리1. 구매 계획2. 공급자 유치 계획3. 공급자 유치

4. 공급자 선택5. 계약 관리6. 계약 종료

Page 13: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

PMBOKTM Knowledge Areas

!13

관리영역 프로세스

프로젝트 통합 관리 프로젝트 헌장 개발, 프로젝트 관리 계획 수립, 프로젝트 실행 지시 및 관리, 프로젝트 작업 감시 및 통제, 통합 변경 통제, 프로젝트 종료 관리 등

프로젝트 범위 관리 프로젝트의 범위 계획, 범위 정의, 작업 분류 체계 작성, 범위 검증, 범위 통제 프로젝트 관리 등

프로젝트 일정 관리 작업 정의, 작업 순서 배열, 작업별 자원 산정, 작업 기간 산정, 일정 개발, 일정 통제 등

프로젝트 비용 관리 자원계획, 비용 산정, 비용 예산 및 비용 통제 등

프로젝트 품질 관리 품질 계획, 품질 보증, 품질 관리 등

프로젝트 인적자원 관리 조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀 관리, 프로젝트 관리 등

프로젝트 의사소통 관리 위험 관리 계획, 위험 식별, 정성적 위험 분석, 정량적 위험 분석, 위험 대응 계획, 위험 감시 통제 등

프로젝트 위험 관리 의사소통 계획, 정보 배포, 진척 관리, 종료 절차 등

프로젝트 조달 관리 획득 계획, 공급자 유치 계획, 공급자 선정, 계약 관리, 계약 종료 등

Page 14: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Planning

• 다음을 포함하는 계획을 작성 :

1.프로젝트 목표 달성을 위해 필요한 단계(steps)

2.각 단계에서 수행해야 할 작업(tasks) - 작업 분류 체계 (Work Breakdown Structure) 사용

3.각 작업이 얼마나 많은 노력을 필요로 하는지 추산

4.각 작업에 필요한 자원

5.(3 & 4를 활용하여) 각 작업 / 단계의 소요시간 계산

6.(4 & 5를 활용하여) 작업, 단계 및 프로젝트의 비용 계산

7.작업의 상호 의존성

8.각 작업 및 전체 프로젝트 일정 (Milestone, 산출물, 등)

!14

Page 15: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Planning

시간 및 비용 견적• 반복적 (iterative) - 견적이 더욱 정확해 짐

!15

개시 정의

계획 분석

실행 설계

종료

+25%

0

-75%

+15%

-50%

-25%

+10%

예비 계획 제안 된 계획 최종 계획 수정 된 계획

Page 16: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

프로젝트 범위 관리

!16

Page 17: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Scope Management

• 프로젝트에 필요한 모든 작업(하지만 필요한 작업만)을 포함 • 작업을 주요 작업으로 나누고, 그 후 더 작고 다루기 쉬운 작업으로 세분화

• Work Breakdown Structure (WBS) 조직도 방법 개요 방법

!17

제목

주요 단계 1 주요 단계 2 주요 단계 3

단계 1의 섹션 1 단계 1의 섹션 2 단계 1의 섹션 3

0.제목1.주요 단계 1

1.1.단계 1의 섹션 11.2.단계 1의 섹션 21.3.단계 1의 섹션 3

2.주요 단계 2…

Page 18: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Scope Management

• WBS 예제

!18

WBS Task1 분석

1.1 위험 분석1.2 요구사항 분석1.3 클래스 분석

1.3.1 클래스 분석 11.3.2 클래스 분석 21.3.3 클래스 분석 3

1.4 아키텍처 분석1.4.1 아키텍처 분석 11.4.2 아키텍처 분석 2

1.5 진행 업무 점검 및 이슈 해결2 설계

2.1 데이터베이스 설계2.2 아키텍처 설계2.3 클래스 설계2.4 진행 업무 점검 및 이슈 해결

3 구현3.1 웹 기능 구현

3.1.1 가입3.1.2 해지3.1.3 변경3.1.4 탈퇴

3.2 공통 라이브러리3.3 진행 업무 점검 및 이슈 해결

4 테스트4.1 통합 테스트

4.1.1 단위/통합 테스트 (라이브러리)4.1.2 단위/통합 테스트 (웹)

4.2 품질관리 및 피드백4.3 진행 업무 점검 및 이슈 해결

5 이관5.1 적용 시나리오 작성 및 공유5.2 공지5.3 소스 배포 / 장애 대응 준비 5.4 실서버 이관5.5 …

Page 19: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Scope Management

• WBS 사용

1. 작업 견적 및 일정 설정 (작업 기간 및 우선 순위)

2. 자원의 구성 및 할당

3. 책임 할당

4. 비용 및 예산 추정 및 할당

5. 각 수준별 총 비용 계산 (작업, 단계, 계약, …)

6. 자원에 대한 확정

7. 시작 및 종료 날짜 설정

8. 지출, 일정, 실적 추적

!19

Page 20: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Scope Management

• WBS 예제

!20

Page 21: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Scope Management

• WBS 역할 • 수행 업무 식별 • 일정, 원가, 자원 산정 • 일정 계획 및 산정 (직무 할당) • 전체일정 진행사항 파악 • 프로젝트 정보 추적 통제 • 고객, 팀 간 의사소통 링크

!21

Page 22: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

프로젝트 일정 관리

!22

Page 23: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Time Management - Estimate

시간 / 노력 예측의 3가지 방법

1. 전문적 판단 • 전문가가 숫자를 선택 (근거 없이!)

- 전문가, 경험, 좋은 기억력 필요 - 프로젝트 참여 인력 무시 - 전문가에게 매우 신뢰성이 높음

2. 과거 기록 (History) • 주요 작업에 대한 과거 실제 데이터 테이블 확인으로 예측

- 보간(interpolate) - 데이터를 만족하는 근사 함수를 구하고 이를 활용하여 주어진 변수에 대한 함수 값을 계산

- 전문적 판단 및 (변화가 있는) 좋은 과거 기록 필요

!23

Page 24: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Time Management - Estimate

시간 / 노력 예측의 3가지 방법

3. 공식 (Formula)

3.1. 변수 - 주요 가변 요인 확인 (작업, 인력) - 측정을 통하여 요인의 공식 결정 - 인터뷰 진행 및 공식 연결

3.2. 기능 점수 (function point) - 프로젝트의 가장 작은 조각 (기능 점수) 결정 - 측정을 통하여 각 조각에 대한 시간을 설정 - 프로젝트를 기능 점수로 나누고 모든 시간을 합산한 후 인력의 생산성을 기반으로 곱함 (예, 주니어 : x 2, 평균 : x 1, 시니어 : x 0.5)

!24

Page 25: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Time Management - Estimate

• 가장 좋은 예측 방법

• 이론상으로 : 3. 공식 (Formula)를 사용한 방법

• 현실적으로 : 1. 전문적 판단을 통한 방법

• 스케쥴링 - 예측한 노력을 기간으로 변환 필요 • 기간 = 노력 / 자원 (때때로)

- 고려 대상 : 자원 가용성, 욕구(desire), 실력, 생산성

!25

Page 26: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Time Management - Schedule

스케쥴링을 위한 시각적 도구 :

1. PERT 차트

!26

task (작업)

precendent(선행 작업)

duration(기간)

A - 3mB - 4mC B 3mD A 1mE A 2mF D 3m

Page 27: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Time Management - Schedule

스케쥴링을 위한 시각적 도구 :

2. Gantt 차트 • 작성 순서

- 작업 분류 (work breakdown) - 견적 (기간) - 의존성 (dependencies) - 자원 사용

• 다음을 제공 : - 중요 경로 (critical path) 및 중요하지 않은 경로 - 조기 및 늦은 시작 / 마감 - 여유시간(slack)

!27

Page 28: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Time Management - Schedule

Gantt 차트 예제

!28

Page 29: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Time Management - Schedule

스케쥴링을 위한 시각적 도구 :

• Gantt 차트 사용 목적 • 마일스톤 (milestone) : 진행상황 파악을 위한 명확하고 구체적인 이진 이벤트 - 마일스톤 (milestone) : 진행상황 파악을 위한 명확하고 구체적인 이진 이벤트

e.g., 리뷰 (승인 포함), 산출물 인도 승인, 자금 승인 등 • 이해관계자와의 의사소통 및 상호작용의 기회 제공

- 미팅 주기 : 너무 짧지 않고 2~3개월 이하의 주기가 적당 • 교육 / 훈련 (training), 회의, 리뷰, 보고서, 현장 준비, 등

!29

Page 30: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

프로젝트 자원할당/비용 관리

!30

Page 31: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Resource Assignment• 자원 할당 시 고려해야 하는 사항 :

• 가용성 (availability) • 능력 (기술적) : 경험 보유 정도 • 의지 / 욕구 • 학습 곡선을 고려 (비슷한 작업을 한 사람에게 할당) • 가장 신뢰성이 높은 사람에게 중요(critical) 작업 할당 • 상호작용이 필요하거나 유사한 작업

• 같은 사람에게 할당 혹은 소통이 잘 되는 두명에게 • 개성과 팀 의사소통은 중요 • 다시 한번, 가용성 (availability)

!31

Page 32: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Resource Assignment

Gantt 차트 - 자원 히스토그램

!32

Page 33: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Resource Assignment

자원 히스토그램

!33

Page 34: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Cost Management비용 예측 :

• 시간 예측과 비슷한 방법으로 진행 (시간 예측한 사람이 보통 비용 예측 진행) • 각 작업 패키지 (work package) 비용 산정 :

e.g., 예측 기간 = 10일 & 인적 자원 할당 = 2인 • 필요 노력 = 기간 x 자원

e.g., 10일 x 2인 = 20 • 자원 비용 (resource cost) = 노력 x 가격 (오버해드 포함)

e.g., 20 x $1,000 = $20,000 • 고정 비용 (fixed cost)

e.g., $5,000

• 전체 비용 (total cost) = 자원 비용 (resource cost) + 고정 비용 (fixed cost) e.g., $20,000 + $5,000 = $25,000

!34

Page 35: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Cost Management

비용 예측 : WBS를 활용한 비용 계산

!35

ID Task Name Account Fixed Cost Total Cost Payment36 Final Submission $0.00 $33,000.00 $0.00

37 Final Design Work C14 $5,000.00 $25,000.00 $0.00

38 Final Plan C14 $0.00 $8,000.00 $0.00

39 TB Submission $0.00 $0.00 $0.00

40 EPA $0.00 $0.00 $40,000.00

41 Software (Subcontract 50-B) $0.00 $133,000.00 $0.00

42 SW Design $12,000.00 $62,000.00 $0.00

43 Do Prelim SW design S21 $0.00 $20,000.00 $0.00

44 PDR $0.00 $0.00 $0.00

45 Do Final SW design S22 $0.00 $30,000.00 $0.00

46 CDR $0.00 $0.00 $70,000.00

47 SW Construction $12,000.00 $71,000.00 $0.00

48 Code CSC A S31 $0.00 $6,000.00 $0.00

49 Code CSC B S31 $0.00 $8,000.00 $0.00

50 Integrate&Tst CSCI 1 S32 $0.00 $20,000.00 $0.00

Page 36: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Cost Management

비용 견적 오차 범위• 반복적 (iterative) - 견적이 더욱 정확해 짐

!36

초기 계획 예비 사업 승인

최종 계획 유효한 사업 승인

설계 예비 설계 검토

+75%

0

-25%

+25%

-10% -8%

+10%

지시적 (indicative)

예산 (budget)

결정적 (definitive)

Page 37: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

프로젝트 위험 관리

!37

Page 38: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Risk Management• 위험(Risk)

• 프로젝트 계획에 포함되지 않은 발생 사항으로 프로젝트가 지연되거나 비용이 더 많이 들거나 품질 / 성능을 저하 시킴

• 기회이자 위협 : - “You don’t put power brakes on a car to slow it down -

you do so to allow it to go faster.” - Mark Davies, KPMG

• 위협에 집중

!38

Page 39: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Risk Management위험 관리의 4 단계 :

1. 식별• 위험 예측 • 위험, 유발 요인, 증상을 나열

2. 분석• 확률 및 영향 평가 • 정성적 vs. 정량적

3. 대응 • 위험을 줄이기 위한 전략 개발 :

- 위험 제거 혹은 영향을 감소 4. 통제

• 감시 • 목록 및 전략 업데이트 • 비상 계획 조치 • 위험 진압

!39

Page 40: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Risk Management위험 식별 - 위험을 예상 : 위험 점검표 @ 예비 계획

• 올바른 해결잭을 제시하고 있는가 ? • 기술 구성 요소에 위험이 있는가 ? • 성능 기대치가 합리적인가 ? • 하드웨어, 소프트웨어, 개발 방법은 표준에 맞는가 ? • 얼마나 많은 경험을 가지고 있는가 ? • 이 애플리케이션의 실패가 고객의 비즈니스에 영향을 주는가 ? • 프로젝트 기간은 6 개월 / 12 개월 / 24 개월 이상인가 ? • 프로젝트에 5 명 이상이 필요한가 ? • 제 3의 (외부 / 내부) 자원에 의존하고 있는가 ? • 프로젝트 매니저 / 리더 / 아키텍트는 누구인가? • 고객은 누구이며 관계는 어떻고 이전에 같이 작업을 한적이 있는가 ? • 필요 시 자원 / 고객 활용이 가능한가 ? • …

!40

Page 41: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Risk Management위험 식별 - 위험을 예상 : 입력(Input)

• 고위 경영진 • 기업 프로그램 • 기업 정책 및 문화 • 정치적 이슈 • 규제 및 법률 • 기술 • 금융 및 경제 • 인적요소 / 보건 및 안전 • 자연 환경 • …

!41

Page 42: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Risk Management위험 분석 : 확률 및 영향을 3가지 수준으로 평가 - high, medium, low• 확률 - (위험 발생)

• 영향(Impact) - 일정, 비용, 품질

!42

low medium high100%66%33%0%

영향 순위 설명

일정high 프로젝트 완료 일정이 25% 이상 지연될 수 있음

medium 프로젝트 완료 일정이 10% 이상 지연될 수 있음low 프로젝트 완료 일정이 10% 이하 지연될 수 있음

비용high 프로젝트 예산을 25% 이상 초과할 수 있음

medium 프로젝트 예산을 10 ~ 25% 정도 초과할 수 있음low 프로젝트 예산을 10% 이하 초과할 수 있음

품질 … …

Page 43: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Risk Management위험 분석 : 위험 표

!43

low medium high

high숙련된 직원 부족, 적절한 직원 고용 지연; 구현 지연 가능

기간 예측 및 자금이 현 프로젝트에 부적합; 일정 및 비용 초과 가능

책임 / 헌신 부족; 회사는 더 많은 책임을 저야 함 것임;

일정 및 비용 초과 발생

medium사무공간 확보 불가능; 의사소통의 문제 발생; 실행 단계 지연 가능

고객으로부터 프로젝트 범위 변경 예상;

일정 지연 및 비용 상승 가능

계획 수립에 충분하게 시간을 투자하지 못함; 문제에 대한 이해 부족; 일정 및 비용 초과 예상

low

Page 44: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Risk Management위험 분석 : 위험 표

!44

Page 45: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Risk Management위험 대응 : 전략 개발• 위험 완화 : 확률 / 영향 감소

• 즉각적인 조치 : - 위험 회피 - 제거 됨 - 위험 감소 - 여전히 존재하지만 확률 또는 영향 감소

• 비상 계획 : - 위험이 임박하거나 발생 시 조치를 취함

• 수용 : 아무 것도 하지 않음 - 위험 허용치에 따라 다름

위험 대응 : 예측 변경 / 작성• 견적 범위 : 예측 → 예측 + 위험

• 정확성이 얼마나 중요한지에 따라서 범위 내에서 작업 • 여러 예측이 가능하다면 : 표준 편차를 활용하여 신뢰도 표현

!45

Page 46: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

프로젝트 통제

범위, 시간, 비용

!46

Page 47: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Control - Scope범위 변경 통제

• 정형적 변경 통제 • 비용 / 시간 영향 평가

- 재협상 및 기대치 설정 - 다음 릴리즈 구현 또는 연기

구성(Configuration) 관리• 어떤 모듈에 어떠한 변경이 있었는지 추적 • 버전 관리 • 모듈 상호 운영성 검토

!47

Page 48: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Control - Schedule & Cost

기준선(baseline) 마련

• 기준 계획 • 계획의 사본 (기간, 할당, 비용이 포함된 WBS) • 기준 대비 진행 상황 보고에 사용 • 상호 동의 한 계획 시점의 사본 사용

- 일반적으로 제안 혹은 분석이 완료된 후 시점의 계획 • 기준선은 (이론적으로) 주요 범위 변경이 발생하지 않는 한 변경 불가능

!48

Page 49: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Control - Schedule & Cost

기준선(baseline) 대비 프로젝트 일정 상황

!49

Page 50: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Control - Schedule & Cost

기준선(baseline) 대비 프로젝트 비용 상황

!50

Page 51: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

프로젝트 종료

!51

Page 52: Project Management - selab.hanyang.ac.kr · 프로젝트 인적자원 관리조직 계획, 인적 자원 획득, 프로젝트 팀 확보, 프로젝트 팀 개발, 프로젝트 팀

CSE4006: Software Engineering - Scott Lee

Project Management - Resources• 교육 및 학습 (인터넷)

• PMI.org • NASA • Software Engineering Institute (SEI) @ CMU • Software Productivity Center (SPC) • DoD/Pentagon

• 프로젝트 관리 도구 사용 (WBS, 일정, 비용, 자원사용, …) • Microsoft Project • Primavera • OpenProj, ProjectLibre, Trello, KanbanFlow • Bitrix24, Freedcamp, OrangeScrum, Asana, GanttProject, 2-Plan,

!52