프로그래밍 | 2010. 4. 23. 21:28
전에 해본적이 없는 일이라면 시간이 얼마나 걸릴지 생각해 내기 더 어려울 것이다.그렇다. 일정예측, 시간 추정을 했는데 제대로 못했다고 지쳐있을 필요는 없다.
추정에 기초로 사용할 사전 경험이 없기 때문이다.
시간 추정 방법처음에 일정을 예측할때는 코드를 작성하는 시간만을 고려했는데 작업을 하다보니 그것이 아니었다.
- 일을 가능한 한 가장 작은 덩어리로 나누어라.
- 이것은 시스템 설계의 실질적인 첫번째 단계이다.
- 이해하기 쉬운 적당한 크기의 구성요소들로 잘게 나누었으면, 각각의 덩어리에 대해 맨아워(man-hour)또는 맨데이(man-day) 단위로 소요 시간을 추정하라
- 각각의 소요시간을 모두 추정하고 난 다음에는 그것을 연속해서 늘어놓고, 기간을 합산하라.
- 합산된 시간이 바로 소요시간이다.
추정 시간은 소프트웨어 납품에 필요한 모든 활동을 고려해야 한다프로젝트는 혼자서 하는게 아니기 때문에 팀원은 일정의 진행 상황을 팀장에게 보고 해야만 한다.
- 충분한 생각을 거친 설계 수행
- 필요한 탐구 작업 또는 프로토타이핑 모두
- 실질적인 코드 구현 작업
- 디버깅
- 단위 테스트 코드 작성
- 통합 테스트
- 문서 작성
- 프로젝트 수행 기간 동안 착수할 모든 연구와 훈련
스케쥴 치킨(schedule chicken) 게임
중요한 프로젝트가 5명의 프로그래머로 구성되어 있고,
그 프로그래머들이 각자 자기가 한 일의 진행상황을 반드시 보고해야 한다면,
그 중 어느 누구도 자기가 스케쥴에 뒤처진 첫 번째 사람이 되는 것을 인정하고 싶지 않을 것입니다.
그 결과 모든일이 잘 되고 있는 것처럼 보이다가, 갑자기 프로젝트가 엄청나게 늦어집니다.
한 번에 하루씩 늦어지고 있었찌만 아무도 인정하고 싶지 않았던 것입니다.
이런 악순환을 깨고 가능한 한 빨리 경고 사인을 널리 알리십시오
Lua Binding (0) | 2010.05.30 |
---|---|
코딩도장 - 단어찾기 (0) | 2010.04.27 |
소스코드 관리 시스템(SCM)에 로그 제대로 남기기 (0) | 2010.04.21 |
적절한 Test case를 선택하여 프로그램 테스트하기 (0) | 2010.03.20 |
[CodingDojo] WhildThing (0) | 2010.02.20 |