기본 콘텐츠로 건너뛰기

글

라벨이 PERT/CPM인 게시물 표시

CCPM에 대한 단상

'린 소프트웨어 개발의 적용'이라는 책을 보면 뒷부분에 제약이론에 대해 소개하고 있다. 그 중에는 제약이론의 CCPM에 대하여 아래와 같은 문구가 있다. '소프트웨어 개발에 에로사슬을 사용하는데 있어서의 부가적인 문제는, 개발을 완료할 모든 업무를 사전에 알고 있어야하고 그들 간의 의존관계를 잘 파악하고 있어야 한다는 가정에 있다. 앞서 살펴본 바와 같이 이러한 가정들은 대다수 소프트웨어 개발에 적절치 않다.' - 린 소프트웨어 개발의 적용 - 나도 처음에 CCPM을 배울 때 위와 같은 생각을 했었다. CCPM을 하려면 프로젝트 전체 기간의 모든 작업과 모든 일정을 모두 알아야 하는 것이 아닌가? 그런게 정말 가능하긴 한걸까? 우리의 추정이 과연 그 먼 기간까지 유효할 수 있을까? 표면적인 CCPM의 모습은 기존의 PERT/CPM이나  Gantt chart와 별반 다를바가 없어 보인다. CCPM이라는 것이 기존의 WBS 관리 방법의 제약을 해소하고자 하는 사고 프로세스의 산물이기 때문에 CCPM을 작성하기 위해서는 기본적으로 최소한 Gantt chart와 같은 방법으로 WBS를 관리하고 있어야 한다. 이것은 기존의 일정관리가 안고 있던 여러 가정들을 그대로 승계하게 된다. 하지만 CCPM에서 정작 가장 중요하게 강조하는 것은 자원 경합의 해소이다. 기계이든 사람이든 작업을 수행하는 주체가 하나의 작업에 온전히 집중할 수 있도록 일정을 관리하고자 하는 것이 CCPM의 핵심이다. 만약 Agile 방법론에서 말하는 것과 같이 팀의 모든 구성원들이 모든 역할을 수행할 수 있다면 자원의 경합은 더 이상 문제가 되지 않을 것이다. 하지만 실제 프로젝트에서 그런 경우는 거의 없다. 자원의 경합은 언제 어디서나 쉽게 찾아볼 수 있다. CCPM에 문제가 있다면 우리는 그것을 더욱 더 개선할 수 있다. TOC의 입장에서 본다면 Agile 은 폭포수 모델에서 TOC를 적용하여 궁극적으로 도달하는 하나의 지향점이라고 ...

PERT/CPM 그리고 CCPM

우선 이 글은 제 개인적인 이해를 적당히 정리한 글입니다. 세부적인 내용은 지금도 학습하는 중으로 물어보신다 하여도 대답해 줄만한 능력은 아니됩니다. 물론 제 개인적인 이해이기 때문에 잘못된 개념이 있을 수도 있으며 그런 부분에 대해 트랙백이나 댓글로 친절하게 알려주었으면 하는 바입니다. 지금부터 하고자 하는 얘기는 일정의 추정에 대한 얘기입니다. PMP 자격증을 취득하셨거나 중비중인 모든 분들은 기본적으로 PERT/CPM에 대해 알고 계실 것입니다. 고로 아래 내용은 다 아실 것이라 생각합니다. 다시 한번 말씀드리면 혹시 틀린 내용이나 이해를 잘 못하고 있는 부분이 있다면 친절히 알려주셨으면 하는 바입니다. 일정을 추산하는데 사용하는 분포는 크게 3가지로 나뉩니다. 베타 분포, 정규 분포, 삼각 분포 가장 먼저 볼 것은 정규 분포입니다. 아래 보는 것과 같은 그래프가 가장 대표적인 정규 분포 곡선이며, 6시그마에서 많이 볼 수 있는 곡선이기도 합니다. 위와 같은 정규분포 곡선에 따라 일정을 추산해 본다면 평균치는 현재 5일입니다. 어떤 작업을 수행할 때 평균적으로 5일을 소요하는 경우가 가장 많다라는 것입니다. 그렇다면 우리는 실제로 일정을 추산할 때 5일로 추산할까요? 절대로 그럴리가 없습니다. 우리는 여러 이유로 안전시간이라는 것을 삽입합니다. 만약 우리가 일정으로 5일로 추산한다면 일정에 맞춰 작업을 완료할 확률은 50%입니다. 때문에 우리는 일정에 맞춰 작업을 완료할 확률이 대략 90% 쯤 되는 날짜를 추산하게 됩니다. 대략 7일쯤을 적는 것이지요. 하지만 이렇게 일정을 추산하고 나면 사람은 역시 게을러지게 됩니다. 추가로 이틀의 시간을 안전시간으로 집어넣었기 때문에 파킨슨 법칙과 학생증후군의 환상 조합에 따라 7일이 다시금 평균값이 되고 일정이 완료되는 것은 9일경이 될 것입니다. 문제는 이러한 것이 각각의 작업 단위마다 발생된다면 전체 일정은 각 작업 단위의 지연이 모두 합쳐지기 때문에 눈덩이처럼 지연된다는 것입니다. 또다른 문제는 이것은 표준정규...