개발 과제의 일정을 수립할 때 고려하는 기준을 설명
개발 일정을 수립할 때 가장 먼저 하는 건 전체 과제를 실행 가능한 단위로 쪼개는 것이었습니다. 큰 과제 하나로 일정을 잡으면 진행 상황을 파악하기 어렵고 지연이 생겨도 늦게 알게 됩니다. 태스크를 분해한 다음에는 어떤 것이 앞서야 다른 것을 시작할 수 있는지 의존성을 파악했습니다.
병렬로 진행 가능한 작업과 순차적으로 처리해야 하는 작업을 구분하면 전체 일정이 실제로 얼마나 걸리는지 보이기 시작했습니다. 각 태스크에 걸리는 시간 추정은 항상 낙관적으로 잡히는 경향이 있어서, 의도적으로 완충 시간을 포함했습니다. 처음엔 버퍼를 넣으면 늦게 일하는 것처럼 보일까 봐 빡빡하게 잡았는데, 결국 추가 일정이 생기는 경우가 더 많았습니다. 일정 수립 이후 주기적으로 실제 진행 상황과 비교하는 것이 계획의 마지막 단계였습니다.