Some of you reading this chapter are probably wondering, I thought this was a non-fiction book. What's scheduling doing in here? Game developers really don't follow schedules do they? Many schedules for computer games are created by some producer with the ultimate goal of signing a deal, rather than creating a decent inventory and ordering of tasks assigned to people who can accomplish them. Schedules should be accurate and truthful estimates, not wishful thinking or even worse—guesses.
By the time you finish reading this chapter, you'll know how to create a schedule for a game development project, and one you can trust. This chapter covers milestones and how to define them, hidden things that effect every schedule that everyone always forgets, and how to break down your game project into reasonable chunks that any programmer worth his salt can handle and handle on time. Every project I've scheduled since 1997 has come in on time and on budget. As of this writing, that's five titles in five years with three different teams. The process works, and it doesn't involve crystal balls.
One of the best programmers I ever knew was famous for predicting how long he'd take to get something working. This made him one of the best guys to have around because he'd take the hardest and most complicated tasks and somehow always get them working on time. Once they were working he'd never have to touch them again. I think he was able to do this consistently because he could see the entire problem all the way down to its smallest components. This is, in essence, what scheduling is all about: discover all of the details of your problem and determine time estimates for all of them.