Page 198 -
P. 198
CHAPTER 7 PROJECT SCHEDULING AND TRACKING 169
It is important to note, however, that the schedule evolves over time. During early
stages of project planning, a macroscopic schedule is developed. This type of sched-
ule identifies all major software engineering activities and the product functions to
which they are applied. As the project gets under way, each entry on the macroscopic
schedule is refined into a detailed schedule. Here, specific software tasks (required to
accomplish an activity) are identified and scheduled.
“Overly optimistic Scheduling for software engineering projects can be viewed from two rather dif-
scheduling doesn’t ferent perspectives. In the first, an end-date for release of a computer-based system
result in shorter has already (and irrevocably) been established. The software organization is con-
actual schedules, it
results in longer strained to distribute effort within the prescribed time frame. The second view of soft-
ones.” ware scheduling assumes that rough chronological bounds have been discussed but
Steve McConnell that the end-date is set by the software engineering organization. Effort is distributed
to make best use of resources and an end-date is defined after careful analysis of the
software. Unfortunately, the first situation is encountered far more frequently than
the second.
Like all other areas of software engineering, a number of basic principles guide
software project scheduling:
Compartmentalization. The project must be compartmentalized into a
number of manageable activities and tasks. To accomplish compartmental-
ization, both the product and the process are decomposed (Chapter 3).
Interdependency. The interdependency of each compartmentalized activity
or task must be determined. Some tasks must occur in sequence while others
can occur in parallel. Some activities cannot commence until the work prod-
When you develop a
schedule, compartmen- uct produced by another is available. Other activities can occur independently.
talize the work, Time allocation. Each task to be scheduled must be allocated some num-
represent task inter- ber of work units (e.g., person-days of effort). In addition, each task must be
dependencies, allocate assigned a start date and a completion date that are a function of the interde-
effort and time to each
task, define respon- pendencies and whether work will be conducted on a full-time or part-time
sibilities for the work basis.
to be done, and define Effort validation. Every project has a defined number of staff members. As
outcomes and time allocation occurs, the project manager must ensure that no more than
milestones.
the allocated number of people have been scheduled at any given time. For
example, consider a project that has three assigned staff members (e.g., 3
5
person-days are available per day of assigned effort ). On a given day, seven
concurrent tasks must be accomplished. Each task requires 0.50 person days
of effort. More effort has been allocated than there are people to do the work.
Defined responsibilities. Every task that is scheduled should be assigned
to a specific team member.
5 In reality, less than three person-days are available because of unrelated meetings, sickness,
vacation, and a variety of other reasons. For our purposes, however, we assume 100 percent
availability.