Page 211 -
P. 211
182 PART TWO MANAGING SOFTWARE PROJECTS
project; (2) establish “most likely” time estimates for individual tasks by applying sta-
tistical models; and (3) calculate “boundary times” that define a time "window" for a
particular task.
Boundary time calculations can be very useful in software project scheduling. Slip-
page in the design of one function, for example, can retard further development of
other functions. Riggs [RIG81] describes important boundary times that may be dis-
cerned from a PERT or CPM network: (1) the earliest time that a task can begin when
all preceding tasks are completed in the shortest possible time, (2) the latest time for
task initiation before the minimum project completion time is delayed, (3) the earli-
CASE tools est finish—the sum of the earliest start and the task duration, (4) the latest finish—
project/scheduling and the latest start time added to task duration, and (5) the total float—the amount of
planning
surplus time or leeway allowed in scheduling tasks so that the network critical path
is maintained on schedule. Boundary time calculations lead to a determination of
critical path and provide the manager with a quantitative method for evaluating
progress as tasks are completed.
Both PERT and CPM have been implemented in a wide variety of automated tools
that are available for the personal computer [THE93]. Such tools are easy to use and
make the scheduling methods described previously available to every software proj-
ect manager.
7.7.1 Timeline Charts
When creating a software project schedule, the planner begins with a set of tasks (the
work breakdown structure). If automated tools are used, the work breakdown is input
as a task network or task outline. Effort, duration, and start date are then input for
each task. In addition, tasks may be assigned to specific individuals.
As a consequence of this input, a timeline chart, also called a Gantt chart, is gen-
A timeline chart erated. A timeline chart can be developed for the entire project. Alternatively, sepa-
enables you to rate charts can be developed for each project function or for each individual working
determine what tasks
will be conducted at a on the project.
given point in time. Figure 7.4 illustrates the format of a timeline chart. It depicts a part of a software
project schedule that emphasizes the concept scoping task (Section 7.5) for a new
word-processing (WP) software product. All project tasks (for concept scoping) are
listed in the left-hand column. The horizontal bars indicate the duration of each task.
When multiple bars occur at the same time on the calendar, task concurrency is
implied. The diamonds indicate milestones.
Once the information necessary for the generation of a timeline chart has been
input, the majority of software project scheduling tools produce project tables—a tab-
ular listing of all project tasks, their planned and actual start- and end-dates, and a
variety of related information (Figure 7.5). Used in conjunction with the timeline chart,
project tables enable the project manager to track progress.