세밀한 계획을 고집하지 말라

Editor's Comment

- 본 콘텐츠는 2019년 9월에 발간된 <카이젠 저니>의 본문 내용을 큐레이터의 시선으로 발췌하여 구성하였습니다.

시간이나 노력, 자금이 충분하다면 프로젝트의 최후까지 변경이 없는 정확한 계획을 세울 수 있을까? 그런 계획을 세울 수 있는 사람은 거의 없을 것이다. 초기 단계에 긴 시간을 투입해서 사용할 수 없는 세밀한 계획을 작성하는 것보다는 현장에서 활용할 수 있는 사용 가능한 계획을 지속적으로 만드는 것이 중요하다.

 

프로젝트가 진행되면 정보량이 늘어난다. 개발팀의 경험을 얼마나 활용할 수 있는지 등 다양한 정보를 발견하게 된다. 일반적으로 제품이 성장해 나가는 시간의 흐름과 함께 고객의 희망 사항도 증가한다. 항상 프로젝트 기간보다 할 일이 많아지게 된다. 결과적으로 멀티태스크가 되어, 전환 비용이 증가하고 소요 시간이 서서히 늘어나고 체력이 소모되고 실패가 늘어나며 재작업을 하게 되는 악순환이 발생한다.

 

프로젝트가 진행되면서 당초 계획의 윤곽과 달라지는 경우, 실행 불가능한 계획에 집착하기보다는 새로 획득한 지식을 계획에 적용해서 가치를 제공하는 데 주력하자. 초기 릴리스 계획을 작성했다고 해서 완성되는 것이 아니다. 스프린트별로 매번 릴리스 계획을 수정한다고 해도 과언이 아니다. 따라서 적극적으로 변경하기 위해 노력해야 한다.

추정을 통한 계획 만들기

계획을 세우는 기본적인 흐름은 아래 그림과 같다.

ⓒ제이펍

위 순서로 추정을 통한 계획 만들기를 수행하는데, 규모와 기간을 구분하는 것이 포인트다.

 

우선 규모에 관해 생각해보자. 사용자 스토리로서 정리된 요구 사항은 범위가 정해지면 필요한 작업은 누구에게나 거의 동일해진다. 한편 기간은 팀 스킬이나 경험, 사람 수 등의 배경에 따라 달라진다. 그렇기 때문에 이 두 가지를 동시에 생각하는 것이 아니라 나눠서 고려해야 한다.

 

사용자 스토리의 규모를 나타내는 단위를 스토리 포인트(story point)라 부르며 규모를 추정할 때는 절대적인 공수나 시간이 아닌 상대적인 값을 사용한다. 절대적인 공수나 시간을 적용하는 것은 어려울 뿐 아니라 시간도 많이 걸린다. 하지만 크고 작음의 상대적인 관계나 2배 또는 몇 배 정도의 감각적인 파악은 대부분의 사람이 잘할 수 있다.

 

전체 사용자 스토리를 스토리 포인트로 추정한 후 포인트 전체를 더한다. 이어서 첫 번째 스프린트에서 개발할 수 있는 속도인 벨로시티(velocity)*를 사용한다. 개발이 시작되지 않는 경우에는 팀의 규모를 기준으로 벨로시티를 예상하고, 개발이 진행된 경우에는 과거의 벨로시티 평균값을 이용한다.