본문 바로가기

지식/독서

프로젝트 관리에 적용되는 TOC 이론 "한계를 넘어서(Critical Chain)"

한계를 넘어서 - 8점
엘리 골드렛 지음, 이정숙 옮김, 함정근 감수/동양문고

총평

2007년 9월 10일 읽은 책이다. TOC(Theory of Constraints, 제약이론)의 창시자인 엘리 골드렛의 네번째 책이다. <The Goal>이후의 두 권의 책은 아직 읽지 못했지만 책 내용이 연결되는 것은 아니어서 어떤 것을 읽어도 크게 상관은 없을 듯 하다. 이 책은 TOC 이론을 프로젝트 관리에 적용시켜 <The Goal>과 같이 소설로 풀어나가고 있다.

이번에 책을 읽으면서 느끼는 거지만 이렇게 소설로 어떤 이론을 풀어나가는 것이 이해가 쉽기는 해도 정리를 하지 않으면 나중에 헷갈린다. 소설을 읽으면서 그 내용을 따라가야 다시 이해가 되는... 책에는 별도로 정리된 것들도 없고 해서 시간날 때 정리하느라 늦게야 리뷰를 적는다.

책 속에서도 보이는 부분이지만 프로젝트 관리라고 해서 어떤 수학적 기법을 적용하는 것이 아니라 논리적인 접근을 통해서 왜 프로젝트는 항상 늦는지에 대해서 풀어나가고 있고 기존의 TOC 이론이 그러했듯이 그 해결책 또한 논리에 근거하고 있기 때문에 쉽고 재미있고 설득력이 있다.

Just-In-Time이나 TQM도 수학에 기초한 것들은 아니다.
상식 또는 논리적인 절차에 기초하고 있기 때문에 강력한 것이다.

기존에 TOC 이론을 알고 있다면 기존의 적용된 것과 어디서 차이가 나는지에 대해서 비교해볼 수 있을 것이다. 생산관리에 접목된 TOC 이론에서는 재고라는 것이 중요하게 언급되면서 실마리를 풀어나가는 반면에 프로젝트 관리에서는 시간이라는 것을 중요하게 언급하면서 실마리를 풀어나가고 있다. 재고는 한 번 쌓이면 없어지지 않지만 시간이라는 것은 한 번 지나가면 다시 돌아올 수 없다는 점에서 생산관리와 프로젝트 관리에서의 TOC 이론 적용의 접근이 차이가 있다.

프로젝트 관리라는 것이 매우 광범위하게 쓰이고 있고 또 책 내용이 기존과 연결되는 것이 아니기 때문에 TOC 이론을 몰라도 이해하는 데에는 지장이 없을 것이다. 강력히 추천하는 책이다. 그 어떤 프로젝트 관리 관련 책들이나 이론서보다 가슴에 와닿는 얘기가 많았던 책이다.


Critical Path 와 Buffer의 개념

사용자 삽입 이미지
우선 Critical Path 에 대해서 간단히 언급을 하면 위와 같은 경우에 전체 공정은 150일이 되고, Critical Path는 "건물 신축 -> 설비 공사 -> 공장에 기계 설치"가 된다. 즉 연결된 단계 중에서 가장 시간이 긴 패스를 의미한다.

문제는 다음부터이다. 위와 같은 경우에 Non-Critical Path인 아래쪽은 언제 시작하느냐에 따라 달라진다는 것이다. 보통의 경우는 늦게 시작을 한다. 그림으로 나타내면 다음과 같다.

사용자 삽입 이미지
늦게 시작을 하게 되면 문제가 발생하는 것이 Non-Critical Path인 아래쪽 Path가 Critical Path가 될 수 있다는 것이다. 늦게 시작해서 15일, 90일만에 일이 끝나면야 상관이 없지만 1일이라도 늦게 되면 전체 프로젝트가가 150일에서 151일로 늦어지기 때문이다.

또한 120일 즈음에는 상하 두 공정 모두 마무리를 지어야 하기 때문에 둘 다 중요한 공정이 되어 버리고 그만큼 어느 공정에 신경을 더 쓸 수 있는 여유가 없어 집중도가 떨어지게 된다. 이로 인해 상하 두 공정 어느 곳에서의 지연이 발생하게 되면 그만큼 프로젝트 전체 지연이 발생하게 되고 이는 곳 수입발생의 지연이라는 결과를 초래하게 되는 것이다.

사용자 삽입 이미지
그래서 늦은 시작이 아니라 이른 시작으로 하게 되면 위 그림과 같이 된다. 그럼 이렇게하면 능사일까? 그건 아니라는 것이다. 프로젝트 매니저가 초기 시작부터 신경 써야할 중요한 일들이 많아지고 그것은 결국 하나에 집중 못하게 된다는 것을 뜻하며, 그로 인해 전체 프로젝트가 지연될 수도 있다는 것이다. 즉 상하 두 공정 모두 전반적으로 느려질 수 있다는 점이다.

그래서 진행 상태를 중간에 점검하는 것이 필요하다는 것이다. 지연 발생을 미리 알기 위해서다. 그런 것이 없이는 지연이 되었다는 것을 알게될 때 이미 지연은 돌이킬 수 없는 것이 되기 때문에 수시로 점검을 해야한다는 것이다. 무엇을 중심으로? Critical Path를 중심으로...

Non-Critical Path에서 이른 시작이나 늦은 시작 모두 단점은 존재하지만 이른 시작이 더 낫다. 이유는 늦은 시작으로 마지막에 집중해야할 일들이 많아지는거나 이른 시작으로 처음에 집중해야할 일들이 많아지는 거나 매한가지이지만 이른 시작을 하게 되면 해당 Non-Critical Path의 지연이 발생하더라도 전체 프로젝트 공정에는 영향을 미치지 않는 여유 시간이 있기 때문이다.

여기서 이른 시작으로 생기는 여유 시간 이것을 책에서는 buffer(버퍼)라고 명하고 있다. 여유가 없는 프로젝트에서 그런 안전 여유 시간을 확보하는 것이 가능한가? 가능하다. 왜냐면 이미 프로젝트를 계획할 때 여유 시간을 각 단위별로 두면서 계획을 잡기 때문이다. 더 자세한 사항은 다음을 확인하기 바란다.

- Critical Chain I - 왜 프로젝트는 여유가 안 생기는가?

이런 buffer들의 종류로는 책 전체에 걸쳐서 세가지로 얘기하고 있다. 각각을 간단히 설명하자면,
Feeding Buffer(공급버퍼) : 위 그림과 같이 Non-Critical Path에서 안전 여유 시간을 말한다.
Project Buffer(프로젝트 버퍼) : 프로젝트 전체의 안전 여유 시간을 말한다. 공급버퍼를 두었다고 해도 지연이 될 경우 프로젝트 버퍼가 있기 때문에 전체 일정 지연이 발생하지 않도록 하는 것이다.
Resource Buffer(자원 버퍼) : 이것은 Critical Chain 에서 설명한다.
Bottleneck Buffer(보틀네트 버퍼) : 여러 프로젝트들이 서로 맞물려서 돌아갈 때 생기는 병목지점에 대한 안전 여유 시간을 말한다.

결국 따지고 보면 미리 시작해라는 것이다. 다른 말로 안전 여유 시간을 확보해라는 것이다.이 모든 버퍼의 기본 전제는 위의 <Critical Chain I>에서 얘기하듯이 우리가 잡는 프로젝트 계획에는 이미 이런 여유시간을 다 반영했다는 사실과 함께 프로젝트를 완성할 확률을 80~90% 정도 수준에서 계획하는 것은 여유시간이 100% 남는다는 즉 평균보다 두 배의 시간을 할당한다는 것을 뜻한다는 설득력 있는 전제 하에서 얘기하는 것이다.

그럼 안전 여유 시간 확보가 가능한가? 가능은 한데 어떻게 설득을 시킬 것인가라는 거다. 그건 매우 간단하다. 개별 공정의 완료 예정일을 없애면 된다는 거다. 완료 예정일이 있으면 그것에 맞춰서 하려고 하기 때문에 공정이 늦어지기 쉽다는 것이다. 물론 그 이전에 프로젝트 참여자들에게 최대한 리드 타임을 줄이자는 설득과 합의를 이끄는 것이 우선이겠고 프로젝트를 진행하면서 수시로 진행되는 상황 보고를 통해 예상 완료 일자를 점검해야하는 것도 필요하겠지만 말이다.


Critical Chain

이 책에서는 Critical Chain 이라는 것을 Critical Path 라는 것과 달리 얘기하고 있는데 Critical Path 만으로는 해결이 안 되는 부분이 발생하고 그것의 핵심에는 자원 경합 문제에 있다. 책 내용을 보다 보면 자원 버퍼를 언급한 부분에서는 아주 간략하게 언급 정도 수준에서만 넘어가고 Critical Chain을 설명하는 부분에서 집중적으로 설명하고 있다.

프로젝트이니 자원을 뭐 팀 또는 사람이라고 생각한다면, 한 명이 할 수 있는 일이 여러 개일 경우에 어떤 특정 시점에서 한 사람이 해야할 일들이 동시에 발생하게 되면 동시에 그 일을 다 처리할 수 없기 때문에 하나씩 처리할 수 밖에 없는 상황이 생기고 이는 프로젝트의 지연을 발생한다는 것이다.

고로, 자원에 대해서 고려를 하고 최적화를 시키라는 것인데, 그게 내 개인적인 생각에는 그리 만만하지가 않을 것이라는 생각이다. 그것은 처음에 아무리 고려한다 하더라도 상황적 변수에 따라 발생할 여지가 많이 생길 수도 있기 때문이다. 그래서 수시로 점검을 하면서 파악을 해야하는 부분이 아닐까 하는 생각이라 책에서도 수시로 점검하라는 부분을 Critical Chain을 설명하기 이전에 보여준 것이 아닌가 한다.

사용자 삽입 이미지
그림에서 X 라고 표시된 부분은 한 사람이 처리해야하는 일이다. Critical Path에서 한 사람이 X의 일을 하고 난 다음에 다른 사람에게로 일이 이전이 되면, 그 사람은 해야할 일이 네 개가 생기는 거다. 그 네 개의 일을 동시에 처리할 수 없기에 아무리 Non-Critical Path마다 공급버퍼를 둔다 해도 한 사람이 단위 시간에 할 수 있는 일은 한정되어 있기에 이로 인해 프로젝트 지연이 생긴다는 것이다.

사용자 삽입 이미지
결국 이런 개념에서 나오게 된 것이 Critical Chain이다. Critical Path가 자원 경합 문제로 인해서 결코 그것이 Critical Path가 될 수가 없다는 것이다. 이런 자원 종속성 문제를 인지한다면 Critical Path가 모든 문제의 실마리를 제공할 수는 없다는 것이 요지다. 그래서 Critical Chain이라는 용어를 만들어냈는데, 이는 원가 세계가 아닌 쓰루풋 세계에서의 이해에서 비롯된다.

- Critical Chain II - 원가 세계와 쓰루풋 세계

즉 각각의 공정들을 두고서만 이해해서는 안 되며, 각 공정들의 종속성, 상호 의존성을 고려한 관계 속에서 이해를 해야하는 부분이라서 Critical Chain이라고 명명한 것이다.


엘리 골드렛 저서

지금까지 두 권의 저서(The Goal, Critical Chain)를 읽어봤는데 다 괜찮아서 나머지 두 권의 저서도 읽어봐야할 듯 하다.
 
It's Not Luck (더 골2)
엘리 골드렛 지음, 강승덕,김일운 옮김/동양문고

신기술 도입의 함정
엘리 골드렛 지음, 이정숙.정남기 옮김/동양문고