'계획'에 해당되는 글 1건

  1. 2008/11/18 불확실성과 화해하는 프로젝트 추정과 계획

프로그램팀을 맡았을때 가장 힘든 일 중 하나가 일정 예측이다. 윗분들께서는 시간대별로 뭔가 주르륵 나열이 되어 있는 표를 원하는데, 그 표를 만드는 과정은 창조와 다를바가 없다. 그리고 대부분의 사람들이 잘 알듯이 창조라는 재능은 아무에게나 허락된 것이 아니다.

지난 일들을 돌이켜보면 일의 시작은 언제나 일정 예측으로 시작을 하지만 그 많은 반복속에서 일정을 예측하는 법 자체에 대해서는 그리 고민을 해본 적도, 발전도 없었던 것 같다. 물론 경력이 쌓이면서 대충 얼마나 걸릴지 감은 온다. 그러나 대부분의 경우에는, 너무 짧게 일정을 잡고 지키지 못하면 무능한 사람으로 찍히게되니 적당히 부풀려 *파킨슨의 법칙을 충실히 따르며 일을 하게된다.

팀장은 그런 추정을 모아서, 정확하지는 않지만 정밀한 일정표를 만들어 낸다. 그리고 그 정밀함은 이삼일 후부터 정확히 틀리기 시작한다.

이 책은 이러한 창조의 과정을 대체할 방법에 대해 처음부터 끝까지 얘기한다. 일의 순서를 정하고 현재로부터 타당한 미래를 예측해 내는 방법이 곳곳에 포진하고 있다. 읽는 동안 "오 이렇게 하면 정말 될거 같아!"라는 생각이 쉴새없이 들기도 한다.

그러나 책을 덮고 생각해보니 이 책에서 제안하는 방법에도 약점이 있어 보인다. 추정의 핵심 요소로 사용자 스토리의 상대적 규모를 정하는 스토리 점수를 사용하는데, 이를 정하기 위해서는 어느 정도의 경험이 필요하다. 그러니까 이 일이 어느 정도의 규모인지 파악조차 할 수 없다면 당연히 계획도 불가능하다(당연한건가). 책의 23장에 등장하는 Bomb Shelter Studio의 사례 연구도 많은 부분이 지난 프로젝트의 경험에 의존해 진행된다. 이외에도 아주 복잡한 알고리즘의 개발이 필요하거나 신기술의 도입이 필요하다면 이 또한 예측 불가능하다.

또 하나의 불만은 의존성에 대해서 너무 과소평가하고 넘어간게 아닌가 하는 점이다. 온라인 게임을 개발하는 나를 가장 괴롭히는 것중에 하나가 클라이언트/서버간의 의존성이다. 클라이언트든 서버든 한쪽이 말썽을 부리기 시작하면 전체 일정은 도무지 종잡을 수 없다. 몇년동안이나 의존성을 줄이기 위한 효과적인 방법을 찾아 해매고 있지만 만족할만한 해결책을 찾는데 실패했다.

사소한 불만을 뒤로하면 이 책은 대단히 유용하다. 특히나 의미없는 일방적인 추정을 줄여가는 체계적인 방법은 반드시 한번 적용해 볼 가치가 있어 보인다. 까마득한 미래를 막연히 예측하는 것보다는 어제의 정보로 오늘을 예측하는게 언제나 더 정확할테니 말이다.

한줄평: 카드를 꺼내라.

*파킨슨의 법칙: 일은 그것을 처리할 시간만큼 늘어난다는 법칙. 그러니까 10시간이 주어지면 10시간동안 하고, 20시간이 주어지면 20시간에 맞춰 하게된다.
Posted by 조성경 트랙백 0 : 댓글 0