6. 일정
6. 일정 관리 계획
6.1.1 일정 관리(Time Management)
- 일정 관리란 프로젝트가 납기 내에 완료할 수 있도록 보증하는 것
- 범위 관리가 “무엇(What)"을 정의하기 위한 것이었다면, 일정 관리는 “언제(When)”와 “어떻게(How)"를 정의하기 위한 것
- 일정 관리는 범위 관리 및 원가 관리와 밀접하게 통합된다.
- 프로젝트 일정을 세울 때는 나름대로의 프로세스를 갖고 진행해야 한다.
• 우선, 프로젝트 업무 범위를 명확히 하는 것이 프로젝트 수립과 통제의 기본임을 명심해야 한다.
□ 일정 관리 프로세스는 크게 5단계로 나누어지며, 각 단계의 내용은 다음과 같다.
1) 액티비티 정의 : 다양한 프로젝트 인도물을 생산하기 위해 필요한 액티비티들을 식별
2) 액티비티 순서 배열 : 액티비티 간의 종속성을 식별하고 문서화
3) 액티비티 자원 산정 : 각각의 액티비티 수행을 위해 필요한 자원 종류와 양을 산정
4) 액티비티 기간 산정 : 각각의 액티비티 완수에 필요한 업무 기간을 산정
5) 일정 개발 : 액티비티들의 순서와 기간, 필요한 자원, 제약조건을 분석하여 프로젝트 일정을 작성
6.1.2 일정(Schedule)
- 일정 관리 계획에서 '일정' 이란 포괄적인 의미를 갖는다.
• 우리가 흔히 Schedule이라고 부르는 일정은 다양한 역할을 지닌다.
• 일정의 역할은 다음과 같다.
□ 프로젝트의 시작과 종료 시점 설정
- 해당 액티비티의 시작과 종료일, 액티비티 간의 연관 관계(Dependency), 마일스톤(Milestone)을 설정
□ 프로젝트 외부에서 발생하는 액티비티와의 조율
- 하나의 프로젝트는 조직의 다른 프로젝트들과 연관 관계가 있다.
• 해당 프로젝트가 다른 프로젝트 및 조직의 업무와 맞물리는 일정 장애 요소가 있는지를 파악하고 해결해야 한다.
• 휴가와 공휴일 같은 일정 요소도 외부 요소로서 고려되어야 한다.
□ 프로젝트 내부의 액티비티 간 연관 관계 설정
- WBS에는 액티비티 간의 연관 관계가 기술되어 있지 않다.
• 프로젝트 일정은 이런 액티비티 간의 연관 관계가 설정되어야 산출해 낼 수 있다.
□ 수행 기간과 자원의 할당
- 수행 기간 동안에 액티비티별로 자원을 적절한 수준으로 할당하여 진행
□ 잠재 일정 장애 요소 및 자원 할당 문제 파악
- 주요 자원 요소들(Key Resource)을 파악해야 한다.
• 사람, 장비, 기계 등이 될 수 있으며, 필요 시에 적절히 할당되는 것을 보장해야 한다.
• 특히 Critical Path상에 있는 액티비티에 할당되는 자원에 대해서는 특별한 주의를 기울여야 한다.
□ 위험 요소의 파악
- 일정에 따라 액티비티 진행 여부를 확인하여 위험 요소를 파악
6.1.3 일정 기준
- 일정 작성은 공정의 수행 기간과 우선 순위를 반영하여 작성
- 일정 작성 기준에는 시작 날짜 기준법(Forward Path)과 완료 날짜 기준법(Backward Path)이 있다.
• 시작 날짜 기준법 : 프로젝트의 시작일을 명시하고, 액티비티의 기간과 연관 관계를 통하여 종료 날짜를 도출하는 방법
이다. 액티비티의 속성은 최대한 시작을 빨리 하는 형태로서, 액티비티의 빠른 시작일(Early Start
Date)과 빠른 종료일(Early Finish Date)을 알 수 있다.
• 완료 날짜 기준법 : 프로젝트의 종료일을 명시하고, 액티비티의 기간과 연관 관계를 통하여 시작 날짜를 도출하는 방법
이다. 속성은 종료일을 맞추기 위해 액티비티를 최대한 늦게 시작하는 것으로서, 늦은 시작일(Late
Start Date)과 늦은 종료일(Late Finish Date)를 알 수 있다.
- 여유 시간(Float/Slack)은 공정 수행 시 공정간 가질 수 있는 최대 대기 시간으로, 전체 여유 시간(Total Float)과 시작 여
유 시간(Free Float), 프로젝트 여유 시간(Project Float)이 있다.
• 전체 여유 시간 : 프로젝트 전체의 납기일에 영향을 주지 않고 가질 수 없는 여유 시간을 말한다.
[TF = LF - EF(늦은 종료일 ~ 빠른 종료일)]=ESouccess
• 시작 여유 시간 : 후속 액티비티의 빠른 시작 시간(Early Start Date)영향을 주지 않고 가질 수 있는 여유 시간을 말한다.
[FFEF(후속 공정의 빠른 시작일 빠른 종료일)]
• 프로젝트 여유 시간 : 프로젝트 전체가 지정된 프로젝트 종료일을 지연시키지 않고 가질 수 있는 여유 시간을 말한다.
6.2 공수 산정(Effort Estimation)
6.2.1 산정 기법
- 산정이란 프로젝트 관리에서 어려운 기술 중의 하나로, 작업자가 실제적으로 수행하는 것과 관련이 있기 때문에 중요하다.
- 산정은 프로젝트 팀원, 즉 실제 작업자에 의하여 이루어져야 한다.
• 산정은 실제 수행을 통해 시행 착오를 거치지 않고서는 익힐 수 없는 기술이기 때문
- 산정은 실제 수행 단계로 넘어가기 전에 리뷰 되어야 하며, 작업자가 직접 산정한 납기일, 비용을 지키지 못하였다고 비난
만해서는 안 된다.
- 산정은 프로젝트의 성격 자체가 새로운 방법으로 새로운 제품 또는 서비스를 제공하는 것이기 때문에 쉽지 않다.
- '어떻게 산정할 것인가' 에 대한 문제는 프로젝트를 계획할 때마다 고민하게 되는 문제이지만 특히 비슷한 프로젝트가 전
에 수행된 적이 없는 완전히 신규인 프로젝트, 액티비티의 산출물을 정확히 정의 내릴 수 없는 프로젝트(예 : R&D), 프로젝
트 팀원이업무에 대한 산정의 경험이 미약한 경우에는 더욱 어렵게 된다.
[Deep Focus] 산정 작업시 PM과 작업자와의 관계
- 프로젝트 매니저가 팀원에게 할당 받은 액티비티가 얼마나 걸릴 것인지 예기하라고 하면 쉽게 답을 내리지 못하면서
PM에게 산정해주기를 바라는 것을 종종 볼 수 있다.
• 이는 산정치와 실제 결과가 달라지는 것에 대한 비난을 염려해서인데, 산정치의 정확도 이전에 작업자가 자신이 할
당받은 액티비티에 대해 책임을 지고 산정하게 하는 것이 중요
• 만약, PM이 산정에 대한 결과로 작업자들을 비난하기 시작한다면 작업자들은 산정 자체에 여유분(Padding)을 더욱
더 많이 고려하게 될 것이다.
• 이렇게 될 경우 전체적으로 프로젝트의 총 산정 기간 및 액수가 늘어나게 되고 신뢰도가 떨어지는 산정치를 얻게 된
다
• 즉, PM이 작업자를 대하는 태도에 따라 결과는 긍정적일 수도, 부정적일 수도 있다.
• 따라서 PM은 팀원들이 산정하는 것에 대해 거부감이 사라질 시기에 얼마나 잘되었는지를 체크해 주어야 한다.
• 또한 PM으로서의 산정에 대한 전문적인 경험을 가지고 지속적으로 팀원들이 향상될 수 있게 조언자로서 도움을 주
도록 해야 한다.
- 보통 산정과 실제 결과치를 가지고 체크하는 경우가 많은데, 그보다 산정 자체를 가지고 액티비티 수행 전에 무엇을 고
려하지 않았는지, 어떠한 산정의 방법을 사용하였는지, 가정과 제약 조건은 어떻게 되는지에 대하여 함께 얘기해 보는
것이 좋다.
[NOTE] 공수의 단위
일반적으로 공수를 맨먼스(man month)나 맨아워(man hour)로 얘기하는데, 무의식 중에 사용하는 이 용어에 공수의 단위가 들어 있음을 볼 수 있다."기간=공수/수행 인원" 이라는 공식의 양변에 수행인원"을 곱하면(간단한 산수다.)*공수기간X수행인원이 된다. 기간의단위는 "hour", "month", "year" 이고 수행 인원의 단위는 “명수(man)" 이므로 공수의 단위는 manxhour, manXmonth가 되는 것이다.
6.2.2 산정 요소들 간의 Trade off
- 공수 산정 요소의 주요 변수는 기간, 생산성, 투입 인력
- 프로젝트 환경에 따라 Trade off의 세 가지 변수들은 제한 요소(Constraint)로 고정
• 예) A 프로젝트에서 납기의 우선 순위가 가장 높아서 '기간'이 고정되어 있을 때, 공수를 줄이거나 투입 인력을 늘림으로
써 기간을 줄일 수 있다.
- 또한 이들 요소들은 각 요소의 변경에 따라 나머지 요소들이 영향을 받는다.
• 예) 투입 인력이 늘면 기간이 단축된다든지, 생산성이 향상되면 투입 인력을 줄여도 된다든지 하는 것
- 공수는 하나의 액티비티를 완료하기 위해 필요한 인적 자원의 투입 시간이고, 기간은 완료를 위해 필요한 물리적 시간
- 공수는 규모를 생산성으로 나눈 것으로, 규모가 일정할 때 생산성이 높아지면 공수가 적게 발생하는 것을 의미
- 수행 기간은 공수를 투입 인력으로 나눈 것으로, 이는 투입 인력이 증가할수록 수행 기간이 단축되는 것을 의미
[NOTE] Trade off
Trade_off(충 관계란 두 개의 정책 목표 가운데 하나를 달성하려고 하면 다른 목표의 달성이 늦어지거나 희생되는 양자간의 관계이다. 선택에는 Trade off가 뒤따른다.
P.A. 새뮤얼슨, R.M. 소로는 물가와 실업률의 대응 관계를 나타내는 필립스 곡선(Phillips curve)을 트레이드 오프 곡선이라고 부르며, 경제 정책에 따라 완전 고용을 목표로 하면 인플레이션은 피할 수 없고, 물가 안정을 목표로 하면 실업은 피할 수 없다고 주장한다. 이 경우 완전 고용과 물가 안정은 Trade off 관계에 있다.
- 규모(Size) : 프로젝트 또는 액티비티의 최종 산출물의 개발 규모
- 공수(Effort) : 프로젝트 또는 액티비티를 완료하기 위해 필요한 인적 자원의 총 투입 시간
- 기간(Time) : 프로젝트 또는 액티비티를 완료하는 데 소요되는 물리적 시간
- 비용(Cost) : 프로젝트 또는 액티비티를 완료하는 데 드는 비용
- 생산성(Performance) : 단위(Unit)이라고도 하며 단위 시간당 업무 수행능력
[Deep Focus] Fisk wal 1,000step 의 규모를 가진 액티비티에 50 step/day의 생산성을 가지는 인력을 4명 투여하면 몇 일이 걸리는가?
공수 = 규모 : 1000 step 생산성 : 50step/manxday 규모 / 생산성 = 20manxdayD기간 = 공수 / 투입 인력 = 5 day
[NOTE] 기간 산정의 예
시스템 디자인을 하는 데 필요한 공수가 48시간이고 투입 인력이 3영이라면 시스형 디자인이라는 액티비티를 완료하는 데 소요되는 시간은? 기간 = 공수 / 수행 인원 = 48시간 / 3명 = 16시간, 즉 이틀이 걸린다.
6.2.3 산정에 영향을 주는 외부적 요소
- 산정에 영향을 주는 외부적 요소는 개인적 성격, 3점 추정, 외부로부터의 압력을 들 수 있다.
• 어떠한 경우라도 산정에 대한 최종 결정은 작업자가 하게 해야 한다.
- PM은 이러한 외부적 요소들을 조율해주는 역할을 담당
- 산정에 영향을 주는 외부적 요소를 자세히 살펴보면 다음과 같다.
□ 개인적 성격(Personality Factor)
- 사람들은 비관적이거나 낙관적인 성격을 천성적으로 가지게 된다. 이 성격이 산정에 영향을 주게 되므로 프로젝트 매니
저는 이를 고려해야 한다.
□ 3점 추정
- 신규로 프로젝트 팀을 구성하여 팀원들에게 산정치를 요구하게 될 때에는 개개인의 낙관/비관 정도를 파악하기가 힘들
다. 이러한 경우 하나 이상의 산정치를 요구한다.
• Optimistic: 낙관적으로 보고 작업을 둘러싼 환경이 순조로울 경우
• Most likely:현실적으로 기대되는 예상치
• Pessimistic : 비관적으로 보고 작업을 둘러싼 환경이 어려운 경우
[NOTE] 3점 추정(Three-Point estimates)
3점 추정법은 PERT의 기간추정 기법을 말한다.
□ 외부로부터의 압력
- 외부의 산정치를 받아들여 작업 담당자에게 적용하여 산정치화 하면 안 된다. 이와 같은 외부의 희망치
(Wishful thinking)는 작업자의 실제 산정치와 분리해야 한다.
[NOTE] 외부로부터의 압력의 예
• 상의매니저 : 2주 내로 이 일을 끝낼 수 있지?
• 영업 부서 : "고객과 3,000만원 이내로 완료하기로 합의했습니다."
6.2.4 공수 산정 방법
- 공수를 산정하는 방법에는 이전 프로젝트에서의 경험을 바탕으로 한 방법, 프로젝트 DB와 방법론 활용, Function Point, 마
지막으로 PERT(Program Evaluation and Review Technique)가 있다.
□ 이전 프로젝트에서의 경험을 바탕으로 공수 산정
- 이전에 비슷한 프로젝트를 수행해본 경험이 있을 경우 그 경험을 바탕으로공수를 산정한다.
□ 프로젝트 DB, 방법론 활용
- 여러 번의 프로젝트 수행으로 구축된 DB나 방법론을 활용할 수 있다.
- 방법론은 해당 개발 환경에서 필요한 액티비티와 산출물, 수행 기간 등에 대하여 자동적으로 가이드 라인을 제공하며,
프로젝트 DB에서 이전 유사 프로젝트에서의 산정과 실제 사례를 검색하여 활용할 수 있다.
□ Function Point
- Function Point와 생산성 측정 지표를 바탕으로 공수를 계산할 수 있다.
- Function Point는 비즈니스 요구 사항과 관련한 소프트웨어의 개발을 수행하는 데 필요한 기능들을 계량화한 것
[NOTE] Function Point
- 소프트웨어의 규모를 외부 입력, 외부 출력, 논리적 내부 파일, 외부 인터페이스, 외부 질의 5가지 유형으로 나누어
점수를 구한 후 프로젝트 특성에 적절한 가중치를 선택, 곱하여 각 요인별 기능 점수를계산, 산출하여 예측하는 기
법이다.
- 소프트웨어의 정보 영역과 복잡도의 주관적인평가의 계수적 측정을 통한 실험적 관계를 통해 얻어진다.
- 어플리케이션이 사용자에게 제공하는 기능을 수치화하여 소프트웨어의 규모를 측정하는 것으로 시스템 규모만 측
정하며어플리케이션 기능, 개발, 기술, 생산성은 고려하지 않는다.
※ Function 계산 방법
- Function을 계산하는 방법은 IFPUG(International Functional Point UsersGroup)에 의해 기술되어 있다.
(http://www.ilpug.org)
□ PERT (Program Evaluation and Review Technique)
- 앞서 언급된 3점 추정으로써, 비관치, 낙관치, 실제 가능치를 고려하여 공수를 산정하는 방법
- 산정에 대한 경험이 부족하거나 개인적 요소를보정하고자 할 때 사용
- PERT는 액티비티 수행 기간 추정에 확률 개념을 반영한다는 점에서 CPM과 구분
- 액티비티 기간 추정의 정확도를 향상시키기 위해 초기 산정에서 위험 정도를 고려할 수 있다.
• 이를 위해 3점 추정에서는 보통치(most likely), 낙관치(optimistic : best-case), 비관치(pessimistic : worst-case)에 근거
• 원래 3점 추정은 PERT 방법론에서 기간 추정법만 가져와 부르는 이름이며, 기간 뿐 아니라 자원/예산 산정에도 활용 가
능
- 평균 공수(Expected Effort)
• t = (낙관치 + 4 × 실제 가능치 + 비관치) / 6
- 개별 공수 표준 편차(Standard Deviation)
• S = (비관치 - 낙관치) / 6
- 3점 추정에서는 보통치의 4배 가중 평균한 예상치를 산정함과 동시에, 비관치와 낙관치의 차이를 6으로 나누어 표준편차
로 활용
• 즉, 3가지 값으로 새로운 추정값을 결정하는 것이 아니라, 추정값에 대한 확률 분포를 도출하는 것
- 실제 활용에 있어서는 추정치들이 확률분포로 표현되므로, 프로젝트의 종료일도 확정치로 나오는 것이 아니라 확률곡선으
로 표현되고, 그러면 특정 일자보다 적게 소요될 확률을 구하기 위해 Monte Carlo Analysis(몬테카를로 분석) 방법을 사용
[Deep Focus] 산정에 있어서의 표준 편차의 의미
- 고등학교 수학시간에 배운 통계 분석에서 표준편차의 의미를 기억하는가. 굳이 골치 아팠던 옛 기억을 꺼내기 싫다면
군대에서 실탄 사격했던 기억을 생각해보자.
- 탄착군이 형성되고 표적에서 떨어진 사수와 표적에 가깝지만 탄착군이 형성되지 않은 사수 중 누가 더 칭찬을 받았던
가. 그렇다.
- 표준 편차가 작은 것이 평균이 실제 값에 가까운 것보다 더 바람직하다.
- 표준 편차가 작아질수록 산정 신뢰도가 높아지게 되고, 평균(t)과 실제 값의 차이(bias error)를 보정해주면 실제 값에 가
까운 정확한 산정이 되는 것이다.
- 조직의 프로세스 개선에 통계적 방법을 사용할 때에도 마찬가지이다.
- 정규분포표에서 넓게 퍼진 산모양보다 뾰족한 산모양의 분포도를 먼저 만드는 것이 프로세스를 통제 가능하게 만드는
일차적인 절차이다.
6.3 일정관리 Tool
6.3.1 마일스톤(Milestone)
- 마일스톤(Milestone)은 일상 생활에서 자주 쓰이는 용어
- 프로젝트의일정 관리에서 마일스톤은 다양하게 이용
- 마일스톤은 프로젝트 기간 중 주요 달성, 완료 표시
- 구체적으로 프로젝트 일정상 발생하는 주요한 이벤트 중심이며(액티비티는 해당하지 않음), 주요한 중간 산출물의 달성일
을 뜻한다.
• 고객이나 상위 관리자가보고 받아야 하는 주요 사안을 표시하고, 프로젝트 일정에 영향을 끼치는 외부 요인의 완료일
- 마일스톤은 할당된 기간이 없으며(Duration = 0), 일반적으로 마일스톤을 중심으로 일정에 대한 토대를 작성한 후 세부일
정을 작성
- 일정표 상에서 '◇' 형태로 기술되며, 프로젝트 상의 중요한 날짜에 대한 주요 Stakeholder(상위 관리자, 고객, 기능 부서장
등)와의 의사 소통에 사용
[NOTE] 마일스톤의 의미
- 마일스톤의 사전적인 의미는 '초석'
• 프로젝트에서 근간이 되는 주요한 이벤트
- 이벤트는 액티비티와 달리 기간이 없으므로 자원도 할당할 수 없다.
• 기간이 없다는 말을 사전적으로 받아들이면 안 된다.
- Key Deliverable의 완료'와 같은 마일스톤은 문장에서 느낄 수 있는 바와 같이 시간축 상에서 점(Point)으로 나타난
다.
• '중간 진행 상황의 보고'와 같은 마일스톤은 상식적으로 보고를 올리고 프리젠테이션하고 피드백을받는 등의 실
제 시간이 소요
• 물론, 이를 액티비티로 기술할 수 있으나, 다른 액티비티와 비교했을 때 기간이 짧고 사안이 중요하다는 점에서
마일스톤으로 기술하는 것이 옳다.
□ 마일스톤의 종류
- 마일스톤의 종류에는 의사 결정, 중간 완료 예정일, 데드라인, 배송일, 이벤트, 마지막으로 프로젝트 종료일이 있다.
- 의사 결정 Go/No-Go, Go-left/Go-Right
- 중간 완료 예정일(Target Date)
• 중간 완료 예정일은 중간 산출물의 완료 일자
• 상위 액티비티 그룹에서는 하나 정도의 중간 산출물 완료 예정일을 두어서 진척을 관리하는 것이 좋다.
- 데드라인(Do-or-Die Date)
• 말 그대로 지켜지지 않으면 안 되는, 강한 제약을 가지는 일자
• 외부와 계약상에 명시된 날짜 등이 이에 속한다.
- 배송일(Deliveries)
• 프로젝트 외부 액티비티가 완료되어 내부로 들어오는 날짜
- 이벤트(Ceremonies)
• 짧은 기간 동안 진행되는 공식적인 행사
• '신규 사이트의 오프닝 행사' 등
- 프로젝트 종료일(Project End Date)
• 프로젝트 최종 종료일
□ 마일스톤 설정법
- 마일스톤을 설정할 때는 크게 4단계를 거쳐 완성
- 각 단계에 포함되는 과정은 다음과 같다.
Step1. 프로젝트의 시작과 종료일의 결정
• 프로젝트 시작일은 각 조직들마다 정의가 틀리지만 통상적으로 프로젝트 팀이 계획 단계를 시작하는 날짜
• 프로젝트 종료일은 스폰서에 의하여 승인된 예상 종료일
Step2. 프로젝트 계획서가 승인되어질 날짜 기록
• 프로젝트 계획서 작성 기간과 고객으로부터의 승인 기간을 고려하여 기록
Step3. 프로젝트에 할당된 데드라인 날짜 추가
• 프로젝트 주요 액티비티의 최종 수행일을 기록
Step4. 부가적 마일스톤의 추가와 완료일 할당
• 프로젝트상에서 주요한 중간 산출물의 완료일
• 10개 정도의 마일스톤을 추가하여 관리
• 너무 많은 마일스톤의 설정은 관리를 어렵게 한다.
[NOTE] 주요 마일스톤 예(SI PJT)
착수, 사업수행계획서 승인, 착수보고회, 분석워크샵, 설계종로, 중간감리 시작, 중간보고회, 개발 종료, 최종감리 시작, 검수, 완료보고회
6.3.2 간트 차트(Gantt Chart)
- 간트 차트(Gantt Chart)는 Bar Chart라고도 하며 진척도 보고나 통제용으로 주로 쓰인다.
- 프로젝트의 시작과 종료 기간을 한눈에 보는 데는 매우 유용하지만, 액티비티 간의 연관 관계는 보여주지 않는다.
- 상위 관리자나 고객에게 진척도를 보고할 시에는 간트 차트보다 주로 마일스톤 차트를 많이 사용
- 간트 차트는 모든 액티비티가 기술된 자세한 도표이기 때문에 프로젝트 팀 내에서 진척도에 대한 의사소통 시 주로 사용
[NOTE] 간트 차트 (Gantt Chart)
액티비티를 막대그래프로 표시한 차트로서, 실제 계획된 업무량 중 얼마만큼 진행되었는지 표시
6.3.3 프로젝트 네트워크 다이어그램(PND, Project Network Diagram)
- 자주 사용하는 프로젝트의 네트워크 다이어그램은 PDM과 ADM의 두가지가 있으며, 조건부 분기를 포함하는
CDM(ConditionalDiagramming Method)도 있다.
- 전통적인 PND는 화살표에 액티비티를 표현하는 AOA(Activity OnArrow) 방식이었으나, ADM의 몇 가지 단점(그리기가 어
렵고, 연관관계 제약이 있음)과 PDM의 장점(작성하거나 수정하기 용이함)으로 인하여 AON(Activity On Node)인 PDM이
더 선호되고 있다.
- 두 가지를 비교해 보면 다음과 같다.
구분 | Precedence Diagramming Method | Arrow Diagramming Method |
특징 | 액티비티가 노드에 위치(AON) Box 표기법 사용 | 액티비티가 화살표에 위치(AOA) I-J 표기법 사용 |
연관관계 | FS, SS, FF, SF의 4가지 표현 가능 | FS(Finish-to-Start) 표현가능 |
dummy | 존재하지 않음 | dummy activity (=arrow) 존재 |
구조 식별 | 어렵다 | 쉽다 |
작성 및 변경 | 쉽다 | 어렵다 |
PERT/CPM적용 | 어렵다 | 쉽다 |
예) 표와 같은 작업 연관관계를 ADM과 PDM으로 나타내면
작업 | 선행작업 | 기간 |
A | 4 | |
B | A | 3 |
C | A | 5 |
D | B | 2 |
E | B, C | 1 |
F | D, E | 3 |
6.4 주요 공정(Critical Path)
6.4.1 주요 공정(Critical Path)
- 주요 공정법(CPM;Critical Path Method)은 프로젝트 관리 계획 및 통제 기법으로서, 1956년부터 1958년까지 미국 듀퐁사
의 건설 계획 추진에 적용
- 주요 공정(critical path)은 내장된 여유 시간을 가지고 있지 않은 일련의 업무와 작업들을 말하는데, 주 공정 내의 어떤 작
업이 기대한 것보다 더 오래 걸린다면, 프로젝트 수행에 소요되는 전체 기간이 늘어나게 된다.
- 주요 공정(critical path)은 프로젝트 납기일에 영향을 미치는 일련의 액티비티의 집합
- 주요 공정법은 프로젝트의 시작과 끝을 나타내는 원모양의 노드(node)와 노드간을 연결하는 화살표 모양의 액티비티로 구
성된 형태로 나타낼 수 있다.
- 여러 경로 중에서 가장 긴 수행 기간이 필요한 경로를 주요 경로라고 하며, 프로젝트 수행 기간은 주요 공정의 수행 기간
과 같다.
※ 위 그림에서 확인할 수 있는 Critical path는 2개이다.
① A-C-E-G:여유 시간이 없는 critical path로 이 경로에 따라 소요되는 25일은 본 프로젝트의 공기가 됨.
② A-D-F : A-C-E-G와 마찬가지로 25일이 소요되며, 여유 기간이 없critical path.
- 주요 공정(Critical Path)에는 여유 시간(Float)이 없다.
- 주요 경로는 프로젝트 시작에서 종료까지 연속적으로 하나가 나타나지만, 일정에 제약 조건이 존재할 경우에는 끊어져서
여러 개가 나타난다.
[NOTE]
- note
• 프로젝트의 시작과 끝을 나타냄
- Activity
• 작업이란 용어에 특별한 뉘앙스를 담을 표현으로, 프로젝트의 주요 활동을 말한다.
• WBS를 개요 수준 방식으로 계속 분해하여 결국 책임성과 적임성을 고려한 자원 배정의 기준이 되는 작업
• 비슷한 의미의 Task란 말이 있는데, 이는 업무 특성을 기준으로 분해한 방식이므로, Task보다는 Activity가 하위
개념
• Activity는 다시 한번 분해하면 workpackage, 즉 단 하나의 자원이 배정된 특정 업무가 된다.
- 불연속적 주요 경로
• 프로젝트 일정 계획은 유연하고 동적으로 작성해야 한다(Dynamic Scheduling)
• MS Project를 사용할 때 많은 사람들이 하는 실수가 시작일과 종료일을 액티비티에 지정해 주는 것
• 이는 액티비티에 일정 제약 조건을 발생시켜서 선/후 액티비티의 기간 변경시에 주요 경로를 깨뜨리고, 불연속적
으로 만드는 결과를 발생시킨다.
• 불연속적인 주요 경로가 여러 개 나타나면 일정을 효과적으로 관리하기 쉽지 않다.
- 일점 추정(One-point estimate)
• 주요 경로에서는 액티비티의 수행 시간을 하나의 값으로 예측하여 가장 많이 발생하는 경우의 추정치인 보통치
(Most likelyestimales)를 사용
- 프로젝트 납기 단축이 필요할 때에는 주요 경로상에 있는 액티비티에 우선순위를 둔다.
• 즉 공기를 단축하려면 주요 경로상의 활동들에 소요되는 활동 일수를 줄여야 한다.
6.4.2 주요 공정법의 특징 및 활용
- 주요 공정법은 자원 제약을 고려하지 않고 각 작업들의 이론상 가장 일찍 시작하고 종료할 수 있는 날짜와 가장 늦게 시작
하고 종료해도 되는 날짜를 찾는 것이다.
• 따라서 작업들의 산정된 기간에 변동이 없는 한, 주요 공정법에서 도출된 프로젝트 예상 종료일보다 빠른 날짜에는 끝낼
수 없다.
- 일정계획시 산출된 날짜가 끝내야 하는 날짜보다 앞선다면, 자원 히스토그램을 확인하여 초과 할당된 자원을 가용 및 관리
가능한 수준으로 맞추는 것이 성공확률을 높이고 원가를 절감하는 방법이다.
• 반대로 산출된 날짜가 끝내야 하는 날짜보다 나중에 있다면, 범위 조정 등으로 일정에 맞는 계획을 세우거나, 자원 추가
투입 또는 병행처리로 종료 일정을 조절할 수 있다.
[Deep Focus] 주요 공정의 중요성
- 주요 공정은 "Critical Path" 라는 명칭에서 알 수 있는 바와 같이 납기에 치명적인 영향을 미치는 액티비티 경로를 말한다.
- 맞물려 있는 일정, 원가, 품질 사이의 Trade-off(이율배반성) 의사 결정은 프로젝트에서 종종 나타난다.
- 개인이나 조직에 따라 중요도는 다르겠지만, 기본적으로 3개의 영역의 중요도는 동일하다.
- 일정 측면에서 보았을 때 프로젝트 매니저는 중요도를 주요 공정상에 먼저 두고 집중적으로 관리해야 한다. 그리고 주요
공정에 대한 예방과 대안 계획을 세워서 프로젝트 납기가 늦어지지 않도록 관리해야 한다.
6.4.3 연관 관계(Dependency)
- 연관 관계는 두 개의 액티비티에서 시작일과 종료일 사이의 관계이며, 역티비티 상호 간의 논리적 관계이다.
- S-S 관계, S-F 관계, F-S 관계, FF 관계의 네 종류가 있다. 자세한 내용은 다음과 같다.
• F-S 관계(Finish-to-Start) : 기초공사가 끝나야 건물 건축을 시작할 수 있다.
• S-S 관계(Start-to-Start) : 바닥 청소가 시작되어야 타일 설치를 시작할 수있다.
• S-F 관계(Start-to-Finish) : 구 시스템의 사용은 신 시스템 사용이 시작되어야종료될 수 있다.
• F-F 관계(Finish-to-Finish) : 검수가 완료되어야 검수테스트를 종료할 수 있다.
[NOTE] 연관관계 사용 빈도
FS : 90% 이상
SS, FF : 5% 내외
SF : 거의 사용되지 않음
- 연관 관계를 이해할 때 지연(Lag)/선행(Lead)을 관련시켜 알아두어야 한다. 지연과 선행은 다음과 같다.
• 지연(Lag) : 작업 종료 후 후행 작업 시작을 위해 기다려야 하는 시간
예) 건축 공사에서 콘크리트 타설작업이 완료되면, 콘크리트가 양생하는데 걸리는 시간만큼 기다려야 다음
작업을 시작할 수 있다.
• 선행(Lead) : 작업 종료 이전에 후행 작업이 시작되어 두 작업이 Overlapping된 시간
예) 기간 단축의 목적으로 액티비티가 종료되지 않았는데 후행 액티비티가 시작되는 경우이다.
6.4.4 주요 공정(Critical Path) 도출법
[NOTE] 주요 공정 도출법
- 몇 개의 액티비티만으로 이루어진 프로젝트에서는 네트워크 다이어그램 상에 일정을 기술하고 가장 시간이 많이 걸
리는 경로를 직접 파악하는 방법이 훨씬 효과적일 수 있다.
- 액티비티가 많은 대형 프로젝트에서는 여유 시간을 계산하여 구하는 것이 바람직하지만, 이 경우에도 많은 계산이 필
요하므로 쉽지 않다. 따라서 MS Project와 같은 cheduling Tool을 사용하여 쉽게 계산할 수 있다.
[NOTE] 선행작업(Predecessor)
- 해당 작업 시작 전에 완료되어야 하는 식업 후속작업(Successor) 형태가 식별이 용이
- 실제 관계상 Predeces가 명화해 더 자주 사용됨
- 주요 공정을 도출하려면 네 가지의 단계를 거쳐야 한다. 각 단계의 내용은 다음과 같다.
Step1. WBS Activity에서 전후 관계 목록을 작성한다.
액티비티 | 코드 | 기간 | 선행작업 |
SW선정 | SS | 4 | |
HW선정 | SH | 3 | |
SW설치 | IH | 5 | SH |
HW설치 | IS | 2 | SS, IH |
스크립트 작성 | DS | 8 | SS |
모듈 테스트 | TM | 12 | IS |
시스템 테스트 | TS | 8 | DS |
시스템 릴리즈 | AS | 1 | TM, TS |
Step2. 네트워크 다이어그램을 작성한다.
Step3. ES, EF를 도출한다.
- 전진 계산(Forward Pass) : 프로젝트의 시작부터 종료까지 액티비티 간시작 날짜와 종료 날짜를 계산하는 것으로, ES와 EF
가 산출된다.
• ES - 빠른 시작 날짜 = EFpretecessor + 1 = 이전 공정의 빠른 종료일 하루 후
• EF = 빠른 종료 날짜= ES + 기간-1
Step4, 프로젝트 종료일을 도출한다.
- 빠른 종료 날짜 중 최종 날짜가 프로젝트 종료일
Step5. LF, LS를 도출한다.
- 후진 계산(Backward Pass) : 앞서 구한 프로젝트의 종료일부터 프로젝트 시작 방향으로 액티비티간 종료 날짜와 시작 날짜
를 차례로 계산하는것으로, LF와 LS가 산출
• LF = 늦은 종료 날짜 = LSsuccessor - 1 = 후속 작업의 늦은 시작일 하루 전
• LS = 늦은 시작 날짜 = LF - 기간 +1
Step6. 여유 시간을 도출한다.
- 빠른 시작/종료일과 늦은 시작/종료일의 차이를 구해 여유시간을 산출
• TF = 늦은 시작 날짜 - 빠른 시작 날짜
늦은 종료 날짜 - 늦은 시작 날짜
Step7 여유시간이 0인 일련의 액티비티를 도출한다.
MS Project에서의 PERT/CPM
MS Project에서의 PND, 날짜계산
[NOTE] 자원 평준화와 주요긍정 연쇄법
Resource Leveling은 특정 기간에 과부하된 자원을 해결하는데 비해, Critical Chain Method는 프로젝트 전체 기간동안 희소자원이 있는 경우 사용에 적합하다.
6.4.5 자원 평준화(Resource Leveling)
- 주요 공정법으로 계산된 일정은 프로젝트 기간중 특정 기간동안 프로젝트의 가용 자원보다 많은 자원을 요구할 수 있는
데, 자원 평준화는 이러한 과부하된 자원을 적절하게 배치하여 가용한 수준으로 만드는 것을 말한다.
- 주요 경로에 할당된 자원을 조정할 경우는 주요 경로의 소요기간 증가로 프로젝트 종료 예정일이 지연되며, 따라서 일
정 지연을 막기 위해서는 초과 할당된 자원중 비 주요경로에 할당된 부분부터 조정해야 한다.
- 프로젝트 관리 툴을 사용하면 초과 할당된 자원을 쉽게 확인할 수 있고 자원 평준화 기능을 활용할 수 있기도 하나, 많은
경우 자원 평준화를 통해 프로젝트기간은 최초 예상보다 늘어나게 되기 때문에 활용하지 않기도 한다. 하지만 자원 평준화
를 수행하지 않은 프로젝트 계획은 과부하된 기간중의 작업은 정상적으로 종료될 수 없음을 이해하고, 전체 기간동안 가용
한 수준 이내로 유지토록 하여야 한다.
6.4.6 주요공정 연쇄법(Critical Chain Method)
- 제한된 자원에 맞게 프로젝트 일정을 변경하는 기법으로 결정론(deterministic)과 개연론(probabilistic)적인 접근 방법을 혼
합했다.
- 처음에는 프로젝트 스케줄 네트워크 다이어그램을 일정 모형에 관련된 연관관계와 정의된 제약으로 일정 모형 내에서 액
티비티 기간에 대해 비보수적인 산정을 한다.
- 주요 경로가 계산되고 나면, 가용 자원이 투입되고 자원 제한적인 일정이 결정된다. 그 결과로 인해 주요 경로가 변경되기
도 한다.
- Critical Chain Method는 계획된 액티비티 기간에 초점을 유지하기 위해작업이 없는 일정 액티비티인 기간 버퍼(duration
buffer)를 추가한다.
- 버퍼 일정 액티비티가 결정되면, 계획된 액티비티가 가장 늦은 시작/종료일로 정해지고, 네트워크 경로의 총 여유시간을
관리하는 대신 CriticalChain Method는 계획된 일정 액티비티에 적용할 버퍼 액티비티 기간과자원 관리에 집중
[Summary]
POINT1 일정 관리 계획
- 일정 관리는 프로젝트가 납기 내에 완료 할 수 있도록 보증하는 것이다.
- 범위 관리가 "무엇(What)”을 정의하기 위한 것이었다면, 일정 관리는 언제(When)와 어떻게(How)"를 정의하기 위한 것
- 일정 관리는 범위 관리 및 원가 관리와 밀접하게 통합된다.
POINT2 일정 관리 Tool
- 마일스톤(Milestone)은 프로젝트 일정상 발생하는 주요한 이벤트 중심으로 그려지며, 프로젝트 상의 중요한 날짜에 대한
주요 Stakeholder (상위 관리자, 고객, 기능부서장 등)와의 의사소통에 사용
POINT3 주요 공정(Critical Path)
- 지연(Lag)은 작업 종료 후 후행 작업 시작을 위해 기다려야 하는 시간을 말하며, 선행(Lead)은 작업 종료이전에 후행 작업
이 시작되어 두 작업이 Overlapping된 시간을 말한다.
- 주요 공정(Critical Path)은 내장된 여유 시간을 가지고 있지 않은 일련의 업무와 작업들을 말하는데, 프로젝트 납기일에
영향을 끼치는 일련의 액티비티의 집합
- 주요 공정(Critical Patin)에는 여유 시간(Float)이 없다.
POINT4 공수 산청(Effort Estimation)
- 산정은 프로젝트 팀원에 의해 이루어져야 한다.
- 산정은 실제 수행을 통해 시행 착오를 거치지 않고서는 익힐 수 없는 기술이다.
- PERT(Program Evaluation and Review Technique)는 비관치, 낙관치, 실제 가능치를 고려한 3점 추정 방식을 사용하여 공
수를 산정하는 방법
- 산정에 대한 경험이 부족하거나 개인적 요소를 보정하고자할 때 주로 사용
[KeyWord]
• 일정 관리(Time Management)
• 간트차트(Gant Charl)
• S-S, S-F. F-S, F-F
• 산정(Estimation)
• 마일스톤(Milestone)
• 주요 공정(Critical Path)
• 지연(Lag) / 선행(Lead)
• PERT
[Case Study]
프로젝트에서 수행할 업무의 목록이 식별되면, 산정된 업무의 수행 소요 기간과 업무들간의 연관관계를 고려해, 산정된 전체 프로젝트 수행 기간과 각각의 작업 수행 일정을 수립하게 된다.
Microsoft Office Project를 활용하여 아래의 내용을 바탕으로 일정계획을 수립하여야 한다.
1) 프로젝트 기간: 1월 1일 ~ 7월 31일(7개월)
2) 근무형태 : 월~금 주간 및 토요일 오전 근무
3) 공휴일 : 국가 공휴일
현재 산정된 일정은 다음과 같다.
작업 이름 | 수행기간 | 선행작업 | 연관관계 |
프로젝트 관리 | |||
착수 | 1달 | ||
통제 | 전체기간 | ||
종료(검수) | 마지막달 | ||
프로그램(S/W)개발 | |||
분석 | |||
현황평가 | 1달 | ||
요구사항 정의 | 1주 | 현황평가 | 종료 후 시작 |
신논리 모델 구축 | 1주 | 요구사항 정의 | 50% 완료 후 시작 |
컨텐츠 정의 | 0.5주 | 신 논리 모델 구축 | 종료 후 시작 |
사례조사 | 2주 | 현황평가 | 종료 후 시작 |
설계 | |||
컨텐츠 설계 | 2주 | 요구사항 정의 | 종료 후 시작 |
페이지 설계 | 3주 | 컨텐츠 설계 | 50% 완료 후 시작 |
시스템 설계 | 1달 | 페이지 설계 | 종료 후 시작 |
테스트 설계 | 1.5주 | 시스템 설계 | 종료 2주 전 시작 |
개발 | |||
웹페이지 제작 | 2.5달 | 시스템 설계 | 종료 2주 전 시작 |
코딩 및 단위테스트 실시 | 2달 | 웹페이지 제작 | 시작 2주 후 시작 |
테스트 실시 | 2주 | 코딩 및 단위테스트 실시 | 종료 후 시작 |
구현 | |||
구현계획 수립 | 1주 | 테스트 실시 | 종료 후 시작 |
릴리이즈 | 1주 | 구현계획 수립 | 종료 후 시작 |
시스템사용 교육 | 2주 | 구현계획 수립 | 종료 후 시작 |
시범 운영 | 1달 | 시스템사용 교육 | 종료 후 시작 |
종료 | |||
프로젝트 종료 | 1달 | 종료(검수) | 동시에 시작 |
작품 및 작가DB 구축 | |||
사전준비 | 1달 | ||
자료분류 | 2달 | 사전준비 | 종료 후 시작 |
자료제작 | 3달 | 자료분류 | 시작 1달 후 시작 |
자료입력 | 2달 | 자료제작 | 종료 1달 전 시작 |
검수 | 0.5달 | 자료입력 | 종료 후 시작 |
기반인프라구축 | |||
설계승인 | 0.5달 | ||
발주 | 1달 | 설계승인 | 종료 1달 후 시작 |
납품설치 및 통합 | 2달 | ||
발주 | 종료 1달 후 시작 | ||
교육 | 0.5달 | 납품설치 및 통합 | 종료 1달 후 시작 |
품질보증 활동 | |||
보증계획 수립 | 0.5달 | ||
품질보증 활동 | 전체기간 | ||
테스트 | 마지막 2달 | ||
사후관리 시작 | 미자막날 | ||
이행 | |||
시범운영 | 1달 | 릴리즈 | 종료 후 시작 |