목요일, 6월 15, 2006

[독서광] 한계를 넘어서(엘리 골드랫)



종종 어떤 책을 읽다보면 분명히 어디선가 본 듯한 내용이 담겨있음을 느낄 때가 있다. 어리석은 기억력을 탓하면서 서가로 간 다음에 비슷하리라고 생각하는 책을 뒤지는 수고를 하는 도중에 운이 좋다면 어디서 이런 데자뷰가 시작했는지 찾아낼지도 모른다. 이번에 블로그 애독자 분께서 다양한 추천해주신 다양한 책 가운데 '한계를 넘어서'를 살펴보기로 하자.



지난번에 읽었던 골드랫의 초기 작품 '더 골'에 이어 한계를 넘어서를 손에 든 이유는 좀더 소프트웨어 개발과 관련이 있는 내용을 다루기 때문이다. 솔직히 소프트웨어를 개발하다보면 십중 팔구(아니 99.99%의 확률로) 일정이 개판 5분전이 되는데, 이는 천재지변이나 김사장이 말하는 '개발자의 게으름(!)'과는 무관하게 대부분 프로젝트 관리 실패가 주요 원인이므로 이를 극복하기 위한 하나의 수단으로 등장한 TOC(제약 이론)에 관심이 가지 않으면 그게 더 이상할 지경이다.



'한계를 넘어서'도 역시 '더 골'과 마찬가지로 소설식 구성 방법을 택해서 딱딱한 내용을 풀어서 설명하므로 무척 흥미롭게 읽을 수 있었다. 그런데, 책에 나오는 공급버퍼(FB, feeding buffer) 그림을 보면서 갑자기 jrogue군이 이 책 내용을 알고 있다는 생각에 이르렀다. 처음에는 '더 골'과 유사한 내용이 나오므로 그렇다고 생각했는데, 시간이 지남에 따라 분명히 다른 곳에서 유사한 내용을 본 적이 있다는 결론을 내리고 서가 탐색 작업을 시작했다.



서가에서 이리 뒹굴 저리 뒹굴하면서 이 책 뽑았다 저 책 뽑았다 한 시간 동안 난리를 친 결과, 결국 범인을 찾아내는 데 성공했다. 오래전에 jrogue군이 요돈 큰형님이 지으신 Death March, 2nd Ed를 읽은 적이 있는데, 이 책 7장 제목이 'Critical Chain Scheduling and the Theory of Constraints'였다. 7장 마지막에 나온 참고 문헌을 보니 '더 골'이랑 'Critical Chain'이 바로 눈에 들어왔다. 스토커 뺨치는 추적에 성공했구나. 빙고!



'한계를 넘어서'에 나오는 가장 중요한 내용은 프로젝트 관리자의 직관에 반하게 작업 버퍼를 프로젝트 수행 중에 지연될 가능성이 높은 과업 앞에 놓아두는 정책이다. jrogue군도 프로젝트 지연을 막기 위한 버퍼를 항상 문제가 생길 소지가 높은 과업 뒷부분에 놓아둔다고 이해하고 있었는데, 이 책을 읽고나서 갑자기 깨달음의 순간이 오고 말았다. 아래 그림을 보면 녹색 과업을 위해 적색과 황토색 과업을 먼저 수행해야 하는데, 황토색 뒤에 공급 버퍼(FB)를 둬서 녹색 작업 시작 시점을 예상에 맞춰 진행하도록 만들고 있음을 한 눈에 확인할 수 있다. 얼핏 보면 별 거 아닌 듯이 느껴질지도 모르겠지만 여러 작업이 이리 얽히고 저리 얽혀있을 경우 어마어마한 위력을 발휘한다. 마지막에 붙어있는 프로젝트 버퍼는 다시 그림에 나오는 과업이 다른 과업을 위한 선행 조건일 경우 공급 버퍼(FB)로 동작하므로 재귀적인 형태를 보인다.





이 그림은 또 한 가지 중요한 사실을 깨닫게 만들어주는데, 개발자 효율을 극대화시키기 위해 프로젝트 중간에 개발자가 누릴 여유 시간(slack이라고 부른다)을 남겨 놓지 않을 경우 공급 버퍼로 사용할 여분이 없어진다는 사실이다. jrogue군은 프로젝트에 치명타를 가할 수 있는 중요 과업을 수행하는 핵심 개발자라면 매일 야근 시키는 대신에 프로젝트 중간 중간에 숨 쉴틈을 줘야 한다는 이야기를 계속해서 강조하는 데, 이론적인 기반으로 공급 버퍼를 생각하셔도 되겠다(지금 프로젝트 관리자 분들께서는 jrogue군의 말도 안되는(?) 황당한 이론에 대해 반론을 준비하시느라 바쁘실텐데, 인신 공격이 아닌 반대 의견은 언제든지 환영이다).



뭐 '공급 버퍼' 하나만으로도 책 구매에 들어간 본전을 찾고도 남을테니까 특히 소프트웨어 프로젝트를 진행하시는 관리자라면 반드시 읽어보시기 바란다. 책을 읽기 전에 미리 공급 버퍼와 제약 이론에 대한 맛배기를 보고 싶은 분을 위해 참고자료를 하나
소개해드린다. 파워포인트 발표 자료이므로 시간이 없으신 분께서 맛배기로 훑어보시기 바란다.



EOB

댓글 3개:

  1. 흐흐.
    전 아직 저런 단계가 아닌가 봅니다. 이해가 안되고 느낌도 안오는군요 ㅠㅠ

    답글삭제
  2. 컴사랑님, 저도 death march를 읽으면서 제약이론과 공급 버퍼 이론이 무슨 소리인지 전혀 모르고 넘어갔었습니다. 솔직히 별 관심도 없었지요. 하지만 The goal과 Critical Chain을 읽으면서 갑자기 시야가 넓어져 버렸답니다.

    답글삭제
  3. 며칠전에 '한계를 넘어서'를 샀습니다. 간만에 고향집에 내려오면서 들고왔는데, 밤에 티비보기가 싫어서 책을 읽어내려갔습니다. 약간 헷갈리는 부분도 있고, 100% 공감하지 못하는 부분이 있기도 했지만, 한번에 쭉~ 읽어내려갔습니다. 오래간만에 책 한권을 한번에 읽어보았네요. ㅎ.
    저희 회사에서는 '제품 양산'을 다른 업체의 공장에서 하기 때문에, 구분할 수 있는 업무 단계가 많지 않습니다. 회사의 - 특히 엔지니어-의 일이 거의 제품 개발에 몰려있기 때문에, 순서를 나누어서 파이프라인처럼 처리할 수 있는 일도 많지 않고요. 책의 내용은 아주 좋은 것 같은데, 아직은 제가 관여된(매니저는 아니지만) 플젝에 적용할 내용이 많지는 않은듯..
    그럼에도 이 책은 몇가지를 잊지못하게 할 것 같네요.

    1. (대부분의 '관리'관련 책에서 이야기하지만...)
    일단 어떤 일에 착수해야한다고 결정이 되면 가능하면 빨리 일을 해치워야만 한다.

    2. Buffer 시간의 배치는 기존의 생각처럼 가장 문제가 되는 부분의 뒤에 두는 것이 아니다. (오히려 해당 부분의 앞)
    (그때그때 달라요~~~)

    3. 회사가 좀 더 커져서, 시간축으로 서로 종속되는 일들이 늘어나는 때가 되면, 다시 이 책을 읽어보자~!!!!

    내일 성남으로 돌아가면 APM 을 사봐야겠습니다. ㅋㅋ.

    #############

    요즘 홈쇼핑 보시면, 7인치 DMB 네비게이션 중에서 '맥스텍'이라는 이름으로 나오는 녀석이 있습니다. 화면 좌측 아래에 보면 나오는 '제조사:모바일어플라이언스/한국'이 저희 회사입니다. ㅋㅋ.

    참~... 시중가 399K 짜리를 1인당 2개 한정으로 사내에서 330K 에 판다고 하는데, 관심있으신 분들은..ㅋㅋ.
    (제품 안팔려서 다른 사람 블로그에서까지 홍보하려는 것은 아니고요.. 여기에서 좋은 정보 많이 알아가는데, 제가 다른 분들에게 뭐 기여할 것은 없나... 해서 올려보는 것입니다. 요 부분은 삭제해도 무관합니다, jhrogue님.. ㅎ. )

    답글삭제