누구도 일정을 짜지 않는 이유#
- 일정을 짜는 작업 자체가 고통스럽다.
- 아무도 일정을 짜는 작업에 의미가 있다고 생각하지 않는다.
일정을 손쉽게 잘 짜는 방법#
- 마이크로소프트 엑셀을 사용합시다
- 단순하게 만듭니다
- 각 기능은 과업 여러 개를 포함해야만 합니다
- 담당 프로그래머만이 제대로 일정을 짤 수 있습니다
- 과업을 세부적으로 나누십시오
- 과업을 세부적으로 쪼개다보면, 어떻게 진행할지 구체적인 단계를 생각하게 된다.
- 세부적으로 과업을 나누다보면 기능을 설계하지 않을 수 없게된다.
- 경험적인 규칙에 따르면, 각 과업은 적게는 2시간에서 많게는 16시간 이내에 처리할 수 있어야한다.
- 초기 예측과 현재 예측을 동시에 유지하십시오
- 실수를 통해 과업을 얼마나 제대로 예측하는지 배우는 최선의 방법이다.
- 평범한 프로그래머는 1년 정도만 경험하면 훌륭하게 일정을 작성해온다.
- 경과(Elapsed) 열을 매일 갱신하십시오
- 일정에 휴가나 휴일 같은 항목을 넣으십시오
- 휴가나 휴일, 그 밖에 개발자가 필요한 시간을 특별 항목으로 정해 일정에 포함해야만 합니다.
- 일정에 디버깅 시간을 넣으십시오
- 시간이 늘어날 경우를 대응할 목적으로 일찌감치 여유시간을 할당해 놓아야 한다.
- 대체로 개발자는 코드를 작성하는 동시에 디버깅도 함께 수행한다. 프로그래머는 결코 수정할 버그가 남은 상태에서 새로운 코드를 작성해서는 안된다.
- 코드를 작성한 당일에 버글르 수정하는 작업이 훨씬 쉽다.
- 버그를 찾아 해결하는 시간은 예측이 불가능하다.
- 일정에 통합 시간을 넣으세요
- 통합과정에서 발생하는 오류는 반드시 고쳐야 하므로, 일정에 통합 시간을 정식 항목으로 끼워넣어야 합니다.
- 일정에 여유 기간을 두십시오
- 고려해야 할 두가지 여유 기간
- 초기 예측치보다 작업 시간이 더 길어지는 과업에 필요한 여유 기간
- 기존에 계획하지 않았던 과업이 불쑥 튀어나올 때를 대비한 여유 기간
- 관리자가 프로그래머에게 일정을 단축하도록 절대 강요하지 못하게 하십시오
- 일정은 장난감 블록과도 같습니다
- 일정을 유지하려는 노력 과정에서 얻는 또 다른 부수 효과는 기능 제거 작업을 수행하도록 압박하는데 있다.
- 일정을 짜놓지 않았다면, 프로그래머는 쉽고/재미있는 기능부터 먼저 구현할 것이다. 그러고 나면 시간이 부족해지니까, 유용하고/중요한 기능을 구현하기 위한 일정을 늦출 수밖에 없다.
comments powered by