기본 콘텐츠로 건너뛰기

[용어] PERT

공정관리에 대한 간단한 역사와 정의에 대해서 아는 것은 매우 중요합니다. 중고등학교 교육처럼 역사와 년도 등을 외울 필요는 없습니다. 그러나 간단하게 알고 있어야 합니다.
PERT (Program Evaluation and Review Technique)
​1958년 미해군이 폴라리스잠수함용 미사일의 개발을 관리하기 위해서 부즈알렌앤드해밀턴사가 개발했다고 합니다. 제가 공부했던 교재에 나와 있던 내용입니다.
​PERT는 액티비티의 작업시간(기간)을 추정하기 위한 기법이라고 이해하세요. PERT는 단순한 액티비티의 작업시간(기간)을 산정하기 위한 기법은 아닙니다. 그러나 공정표와 공정관리이 시작 시점에서의 PERT기법은 액티비티의 작업시간(기간)을 추정하기 위해 방법이라고 이해하시고, 다음과 같이 액티비티의 작업시간(기간)을 추정하시기 바랍니다. 그리고 CPM기법과 함께 사용할 때 PERT기법은 더욱 효과가 있습니다.
기대시간(expected time, te) 3가지로 정리할 수 있습니다. 낙관치(optimistic time, o), 정상치(most likely time, m), 비관치(pessimistic time, p). 이 세가지 값을 이용해서 아래와 같은 수식에 의해 기대시간(expected time)을 산정하는 방식이 바로 PERT 기법입니다.
* PMBOK 5판까지
기대시간(expected time, te) = ( o + 4m + p ) / 6
​* PMBOK 6
기대시간(expected time, te) = ( o + m + p) / 3
액티비티의 기대시간(expected time, te)를 산정하기 위해 낙관치(optimistic time, o), 정상치(most likely time, m), 비관치(pessimistic time, p)를 사용한다고 설명했습니다. 그런데 낙관치, 정상치, 비관치에 대한 의미를 먼저 알아야 합니다. 그리고 기대시간(te)이라는 의미도 알아야 합니다.
* 낙관치(optimistic time, o)는 모든 것이 예상보다 긍정적으로 진행될 것이라는 가정을 했을 때 예상되는 기간입니다.
* 비관치(pessimistic time, p)는 모든 것이 예상처럼 진행되지 않을 것이라는 가정을 했을 때 예상되는 기간입니다.
* 정상치(most likely time, m)는 모든 것이 정상적으로 진행된다는 가정을 했을 때 예상되는 기간입니다.
* 기대시간(expected time, te)는 최선의 추정치라는 것을 잊지 말아야 합니다. 어떤 수식을 써서 계산을 하더라도 최선의 추정치를 산정하는 것이지 정확한 기간을 산정하는 것이 아닙니다. 같은 액티비티를 여러번 반복한다면 평균적인 시간이 될 가능성이 높다는 의미입니다. 여기서 한국사회(한국 건설업)의 생각과 PERT기법의 차이가 나타납니다. 한국 사회는 정답을 찾으려고 노력을 하고, PERT CPM을 이용하면 정답을 찾을 수 있을 것이라고 생각하는 성향이 있습니다. PERT CPM은 정답을 찾기 위한 기법이 아닙니다. CPM도 마찬가지지만, PERT도 최선의 기대시간을 찾고, 반복했을 때 평균값이 될 가능성이 높다는 것입니다.
낙관치, 비관치, 정상치를 이용하고, 기대시간 산정식 중 하나를 선택해서 액티비티의 기간을 산정하는 것이 PERT기법입니다. 이렇게 산정된 액티비티 기대시간(expected time, te) CPM공정표의 Original Duration(OD)에 적용하면 CP(Critical Path)를 찾을 수 있고, Critical Activites의 기대시간(te)의 합이 프로젝트의 필요한 총 추정시간이 되는 것입니다.

위와 같이 PERT기법을 이용하여 액티비티의 기대시간을 산정하고, CPM공정표의 액티비티에 Original Duration으로 적용(확정)하여 CP를 찾는 방법을 PERT/CPM이라고 부르는 것입니다.
대부분의 건설 프로젝트는 불확실성이 많으므로 유사 프로젝트의 수행 사례를 이용해서 액티비티의 공기(Original Duration)을 산정할 때 PERT기법을 사용할 수 있습니다. 프로젝트 착수단계에서 PERT기법을 이용하기 위해서는 유사한 프로젝트의 실제 수행 기록이 있어야 합니다. 또한 PERT기법을 적용할 액티비티의 정의가 동일해야 한다는 조건을 만족해야 합니다. 그러나 이렇게 실적을 정확하게 관리하는 조직(프로젝트, 회사)는 거의 없고, 각 프로젝트의 액티비티의 정의 또한 각각 다릅니다. 이렇게 기록이 없고, 기준이 모호한 상태에서 유사 프로젝트의 수행 사례를 이용해서 PERT기법을 적용한다는 것은 어렵습니다. 따라서 프로젝트 초기에는 PERT기법으로 공기를 산정하는 것 보다는 Original Duration을 결정(확정)하는 것이 더 좋은 방법이다. 그리고 프로젝트를 수행하면서 실적을 기록하고, 기록된 실적 정보와 PERT기법을 적용하여 잔여 액티비티의 기대시간을 산정하고, 적용하는 방법이 가장 좋은 방법입니다.
PERT를 이용하여 기대시간을 산정해 보겠습니다.
Activity
낙관치
(optimistic time, o)
정상치
(most likely time, m)
비관치
(pessimistic time, p)
기대시간
(expected time, te)
A
2
4
6
B
3
5
9
위와 같은 정보가 있다면 이제 선택을 하시면 됩니다. '​기대시간(expected time, te) = ( o + 4m + p ) / 6'으로 계산하셔도 되고, '​기대시간(expected time, te) = ( o + m + p) / 3'으로 계산하셔도 됩니다. 이것은 정해진 것이 아니라 선택의 문제입니다. 그 다음 선택해야 할 것은 정수를 사용할 것인가, 소수점을 사용할 것인가, 정수를 사용한다면 올림을 할 것인가, 반올림을 할 것인가, 버림을 할 것인가를 결정하는 것입니다.
만약 '​기대시간(expected time, te) = ( o + 4m + p ) / 6'으로 결정했고, 정수로 사용하기로 결정했고, 올림으로 결정했다면 아래와 같은 결과가 만들어질 것입니다.
Activity
낙관치
(optimistic time, o)
정상치
(most likely time, m)
비관치
(pessimistic time, p)
기대시간
(expected time, te)
A
2
4
6
4
B
3
5
9
6
그런데 프로젝트는 이렇게 단순하지 않습니다. 프로젝트는 우리에게 단순한 정보를 제공해 주지 않습니다. 액티비티를 잘 만들고, 기록관리를 잘 했다면 아래와 같은 정보를 구할 수 있습니다.
Activity
1st
2nd
3rd
4th
5th
6th
7th
8th
C
1
6
4
5
6
5
6
4
D
5
3
8
13
4
8
3
7
C D는 총 8번 반복해서 수행되었고, 각각의 실적 정보는 위와 같습니다. C 액티비티의 낙관치(optimistic time, o)는 얼마인가요? 가장 작은 값인 2일까요? 비관치(pessimistic time, p)는 얼마인가요? 가장 높은 값인 6일까요? 정상치(most likely time, m)는 얼마인가요? 평균인 4.625일까요? 아니면 빈도수가 가장 많은 6일까요? 이것을 결정하기 어렵기 때문에 기대시간(expected time, te) 역시 계산하기 어렵습니다.
아래와 같은 표를 만들 수 있어야 PERT를 이용해서 기대시간을 산정할 수 있습니다.
Activity
낙관치
(optimistic time, o)
정상치
(most likely time, m)
비관치
(pessimistic time, p)
기대시간
(expected time, te)
C
4
5
6
D
3
6
8
C 1을 버렸고, D 13을 버렸습니다. 낙관치는 그 외의 값 중 가장 낮은 값을 사용했고, 비관치는 가장 높은 값을 사용했습니다. 정상치는 평균값을 올림을 해서 적용했습니다. 이런 정의는 원칙이 아니라 선택입니다. 어떤 값을 버릴 것인가? 어떤 값을 낙관치, 비관치, 정상치로 사용할 것인가? 정수를 사용할 것인가? 올림을 할 것인가? 등을 선택해야 위 표를 만들 수 있고, 위 표가 만들어져야 또 다른 선택인 계산법을 선택할 수 있는 것입니다.
기대시간을 계산하기 위한 PERT의 이론은 어렵지 않지만, 자료를 기록하고, 다양한 선택을 하는 것은 어렵습니다. 이런 선택을 했다고 해서 최적의 기대시간을 산출할 수 있다는 보장도 없습니다. 또한 기대시간을 산정했다고 해도 CPM 공정표가 잘 작성되어 있지 않다면, 최적의 준공 시간을 예상할 수 없는 것입니다.
공정관리 중 PERT/CPM은 한 두가지를 잘 한다고 할 수 있는 것이 아닙니다. PERT CPM에 대한 이론도 알아야 하고, 적절한 Activity를 만들 수 있어야 합니다. Activity의 선후행을 명확히 설정하고 CPM이론을 적용하여 공정표를 만들어야 합니다. 확정된 공기를 적용하고 꾸준하고 정확한 기록을 통해 정보를 수집해야 합니다. 그 다음은 위에서 설명한 선택을 할 수 있는 능력과 권한이 있어야 할 수 있는 것입니다. PERT/CPM을 이용한 공정관리를 하고 싶다면, 제가 설명한 조건이 선행되어 있는지 점검을 해 봐야 합니다. 이 중 한가지라고 부족하다면 구현이 불가능하다고 보는 것이 타당합니다. 이런 조건이 잘 갖춰져 있다면, 비로소 PERT/CPM의 기초적인 부분을 시도해볼 수 있는 것입니다. 조건을 만족한다고 1만개의 액티비티로 공정관리를 할 수 있다는 말이 아닙니다.
욕심을 버리고 프로젝트의 가장 쉬운 작업에 대해 간단한 공정표를 만들어서 시도를 해 보시기 바랍니다. 그것도 정확하게 기록하고, 꾸준히 관리하고, 기록된 정보를 이용해서 기대시간을 산정하고, 다시 CPM공정표에 적용해서 완료시점을 분석하는 일을 쉽지 않을 것입니다.

댓글

이 블로그의 인기 게시물

상세공정표와 CPM 공정표

한국 건설인들이 공정관리에서 가장 혼동하는 것이 상세공정표와 CPM 공정표의 차이다. 즉, 공정관리에 대해서 잘 모르고 있다는 것이다. 한국 건설인들은 주로 시공공정표를 만들어 왔다. 시공공정표는 본인들의 진행해야 할 작업의 착수, 완료 목표를 알려주는 공정표다. 이 공정표는 선후행관계에 의해 작성되는 것이 아니라, 본인들의 목표를 바챠트로 그리면 되는 것이다. 따라서 목표만 있다면 작성은 어렵지 않았다. 그리고 세상의 중심은 자신이기 때문에 자신이 정한 목표에 대한 선행작업들은 그 목표에 맞게 진행이 되어야 했던 것이다. 선행작업이 지연된 것은 자신의 잘못이 아니라, 선행작업을 진행했어야 할 다른 직원들이 잘못인 것이었다. [그림1. 시공팀의 바챠트 공정표] 위 공정표는 분명 작성자의 의도가 숨어있을 것이다. 4월 1일에 착수해야 준공을 준수할 수 있다는 경험치가 반영되어 있을 것이다. 그런데 믿도 끝도 없이 이렇게 작성해 놓으면 되는 것일까? 터파기를 착수하려면 인허가, 하청사 선정, 장비 및 인원 동원, 시공계획서 작성 및 승인 등이 되어야 할 것인데, 이 공정표를 작성한 시공담당자는 그런 일 들은 본인의 업무가 아닐 것이다. 인허가는 발주자가, 하청사 선정은 공무가, 장비 및 인원 동원은 하청사가, 시공계획서는 아래 직원이 당연히 완료해 놓아야 한다는 신념이 있을 것이다. 그 중 하나가 지연된다면 해당 담당자가 잘못한 것이지, 본인이 잘못한 것이 아니라는 믿음도 있을 것이다. [그림2. 시공팀의 상세공정표] 시공담당자는 이런 상세공정표를 만들기도 한다. 위 공정표의 숨은 의도는 아래와 같을 것이다. [그림3. 시공팀의 의도] 위 그림과 같이 철근의 작업조 기준으로 진행될 것을 긍정적으로 예상하고 만든 공정표 일 것이다. 시공계획에서는 이런 식으로 만들 수 있고, 시공팀의 목표로 진행하는 것에 대해서 반대할 이유는 없다. 그러나 위 공정표를 CPM으로 구성한다면 아래와 같이 만드는 것이 좋다. [그림4. 시공팀의 의도와는 다른 CPM

[PK] 공정표의 활용

PMBOK 제6판 '그림 6-21. 프로젝트 일정도표 - 예'를 이용해서 공정표를 한 번 만들어 보자. 1. WBS/WBS Level 1 (프로젝트) : 신제품 Z 개발사업 WBS Level 2 (패키지) :   - 제품 개발 및 인도   - 작업패키지 1   - 작업패키지 2   - 작업패키지 3 2. Activity List PMBOK에서는 아래와 같은 예를 보여주고 있다. PMBOK 제6판 219페이지 * 위 그림에서 마지막 4번째 줄과 5번째 줄은 액티비티 이름이 바뀌었다. '1.1.3.T 구성요소 1과 2 통합완료'와 '1.1.3.M1 통합구성요서를 제품 Z로 테스트'가 서로 이름이 바뀌었다. Primavera로 구현한 내용은 아래와 같다. 여기서 일정도를 표시하기 위해 PMBOK는 실적을 반영한 모습을 보여주고 있다. 공정표는 위와 같이 항상 마일스톤과 요약된 내용을 확인할 수 있어야 한다. 이것을 공정관리(공정표 관리)의 기본이다. 프로젝트의 공정표를 만들 때 액티비티를 늘리는 것은 좋지 않다. 아무리 복잡한 프로젝트라 하더라도 최대 3,000개를 넘지 않는 것이 좋다. 프로그램이 있다 하더라도 실적을 입력해야 하는 건 1명의 사람이다. 사람은 물리적인 시간에 구속을 받게 되어 있다. 또한 단순 반복 작업은 오래할 수 없는 특성도 있다. 3,000개의 액티비티의 움직임을 확인하는 것도 현실적으로 쉽지 않다. 그런데 그 이상이라면? 그것은 공정표를 보지 않겠다는 의미와 같다는 것이다. "난 1만개, 2만개도 관리해 봤어"라고 말하는 건 자랑이 아니라, 본인 스스로 공정표를 효과적으로 관리해 보지 않았다는 증거를 떠들고 있는 것이다. 아무리 액티비티를 줄이려고 해도 한계는 있다. 3,000개의 액티비티를 하나씩 확인하면서 공정관리를 진행한다는 것은 매우 어렵다.

[용어] PERT/CPM

공정관리에 대한 간단한 역사와 정의에 대해서 아는 것은 매우 중요합니다 . 중고등학교 교육처럼 역사와 년도 등을 외울 필요는 없습니다 . 그러나 간단하게 알고 있어야 합니다 . ​ ​1. Pert (Program Evaluation and Review Technique) ​​1958 년 미해군이 폴라리스잠수함용 미사일의 개발을 관리하기 위해서 부즈알렌앤드해밀턴사가 개발했다고 합니다 . 제가 공부했던 교재에 나와 있던 내용입니다 . ​​PERT 는 액티비티의 작업시간 ( 기간 ) 을 추정하기 위한 기법이라고 이해하세요 . 작업시간 , 즉 Original Duration 은 3 가지로 정리할 수 있습니다 . 낙관치 (a), 정상치 (m), 비관치 (b). 이 세가지 값을 이용해서 아래와 같은 수식에 의해 기대시간 (Original Duration) 을 산정하는 방식이 바로 PERT 기법입니다 . ​ * PMBOK 5 판까지 ​ 기대시간 (Original Duration) = ( a + 4m + b) / 6 ​* PMBOK 6 판 ​ 기대시간 (Original Duration) = ( a + m + b) / 3 ​ ​2. CPM (Critical Path Method) ​​1956 년 Dupont 사와 Remington 사가 Plant 의 설계 및 건설을 위해 공동개발했다고 합니다 . 제가 공부했던 교재에 나와 있던 내용입니다 . ​​ 확정된 공기 (Original Duration) 을 이용해서 작업간의 연관관계를 연결해주고 , 이 연관관계를 전진계산 , 후진계산을 통해 전체여유 (Total Float) 을 계산하는 방식입니다 . 여기서 계산된 전체여유 (Total Float) 이 0 보다 작은 경우를 Critical Path 라고 합니다 . ​ 3. PERT/CPM ​​ 즉 , 공기산정은 PERT 기법을 통해서 , 연관관계를 통한 Critical Path 는 CPM 방식을 통해서 하기 때문에 이 두가지를 합쳐서 PERT/CPM 이라고 부르는