270 THE GAME PRODUCTION HANDBOOK, 2/E
which is added to the project schedule. This process gives team members more
ownership of their tasks, instead of feeling like they are just assigned an arbitrary
deadline that must be achieved no matter what.
If there is some difficulty in determining how long a task will take, the lead
should make an educated estimate based on experience. Don’t leave the dura-
tion for any task blank, as this will not give a true picture of the overall schedule.
Accurately estimating tasks is very subjective and improves with experience. It is
good to build some extra time in the schedule to accommodate any work that
takes longer than originally estimated. Some people like to add this extra time on
a per-task basis, although this is not recommended as it does not give an accurate
picture of the overall schedule. However, adding some slack at the end of the
schedule provides a good padding for accommodating any task overruns.
One technique to use for estimating tasks is called time-boxing. A time-box
is a fixed period of time during which someone attempts to complete a well-de-
fined task. The task should have each of its requirements prioritized from highest
to lowest, so that that most critical work is completed first. To use this technique,
assign start and end dates to a given task, assign someone to work on it, and then
measure how much is completed in the allotted time. After the agreed-upon pe-
riod of time is over and the feature is not fully implemented, assess the work that
is completed and determine whether further work should be done, whether the
work done already is good enough, or whether the feature should be cut because
the effort already put into it indicates the feature will take too long to implement
in the given schedule. This method can help you maintain more control over the
schedule, instead of just letting a feature continually run over schedule.
For example, if the lead engineer makes an educated estimated of three
weeks to implement normal mapping into the graphics pipeline, check with the
engineer on a regular basis to check his progress. At the end of three weeks see
how much normal mapping functionality is implemented. At this point, the fea-
ture might be good enough to ship, or further work might be needed. If you are
going to have the engineer invest more time in the feature, determine a new set
of feature priorities and define a new time box.
When durations are assigned to the schedule, add in time for sick days,
holidays, and vacations. You can’t assume that everyone will be in the office
every single work day. Also, don’t schedule overtime. This is a bad practice and
will quickly cause you to have an unhappy and, therefore, unproductive team.
Instead, limit the scope of the project so that everything can be completed in a
reasonable amount of time. In fact, all the task durations should be based on ac-
complishing about five to six hours of work during a normal eight-hour work day.
The other two to three hours per day account for time people spend checking
email, going to meetings, and dealing with general nontask related work.
Keep in mind that task dependencies and assigned resources can dramati-
cally affect a schedule. For example, if it takes several days to get the prototype