Page 195 -
P. 195
166 PART TWO MANAGING SOFTWARE PROJECTS
QUICK created in a manner that enables work, (2) effort and timing are intelligently allo-
LOOK the software team to meet the cated to each task, (3) interdependencies between
delivery deadline established. tasks are properly indicated, (4) resources are allo-
What is the work product? The project schedule and cated for the work to be done, and (5) closely
related information are produced. spaced milestones are provided so that progress
How do I ensure that I’ve done it right? Proper sched- can be tracked.
uling requires that (1) all tasks appear in the net-
"Everything's going well," said the youngster, “but I've run into a few small snags.
I'll get them ironed out and be back on track soon."
"How does the deadline look?" the boss asked.
"No problem," said the engineer. "I'm close to 90 percent complete."
If you've been working in the software world for more than a few years, you can fin-
1
ish the story. It'll come as no surprise that the young engineer stayed 90 percent
complete for the entire project duration and finished (with the help of others) only
one month late.
This story has been repeated tens of thousands of times by software developers
during the past three decades. The big question is why?
7.1 BASIC CONCEPTS
Although there are many reasons why software is delivered late, most can be traced
to one or more of the following root causes:
• An unrealistic deadline established by someone outside the software devel-
opment group and forced on managers and practitioner's within the group.
• Changing customer requirements that are not reflected in schedule changes.
“Excessive or • An honest underestimate of the amount of effort and/or the number of
irrational schedules resources that will be required to do the job.
are probably the • Predictable and/or unpredictable risks that were not considered when the
single most
destructive influence project commenced.
in all of software.” • Technical difficulties that could not have been foreseen in advance.
Capers Jones
• Human difficulties that could not have been foreseen in advance.
• Miscommunication among project staff that results in delays.
• A failure by project management to recognize that the project is falling
behind schedule and a lack of action to correct the problem.
Aggressive (read "unrealistic") deadlines are a fact of life in the software business.
Sometimes such deadlines are demanded for reasons that are legitimate, from the
1 If you’re wondering whether this story is autobiographical, it is!