Professional Documents
Culture Documents
The Problem
Paul Anderson
Introduction
In 1976, early in my career, I became interested in effort and schedule
estimation as a result of a confrontation with a vice president at a
company for which I worked. Unknown to me, the organization had an
unstated effort and schedule in mind. I was a software project manager
while working on my MBA. There were no software estimation models
available to me at the time. I was told to prepare an estimate for a four-
terminal cluster system. Using the techniques learned through my MBA
and my knowledge and experience as a software developer and
project manager, I developed the estimate manually. It included a range
of effort accom- panied with estimates for risk and uncertainty.
When presenting the estimate to the VP, I was told, “This estimate is
too high, go cut it by a third.” When I said “I can’t,” the VP then said,
“You have assumed people would work only eight hours per day.
Go away and assume they will work twelve hours.” I said something to
the effect of, “I did assume eight hours per day. I assumed the other
four hours would cover the things that go wrong that I haven’t
thought of.”
1
The Problem ■ 2
Despite the rocky start the project was funded and the
team was hired, although staffing took four months longer
than projected and project experience was minimal. As the
schedules started to erode, management took a “hands on”
role in resolv- ing the problems. Critical functions such as
risk management, inspections, trade-off studies and
independent QA were gutted or not done at all in the name of
schedule and cost reduction. The result is the situation we
are now in; too much work that is expanding at a rapid
pace due to unanticipated rework and too many defects, not
enough money or time to do even the basic things necessary
to get the project back on schedule and keep it on track.
Management’s attempts at restructuring the project by
moving tasks in parallel have compounded the prob- lem by
further compressing the schedule. It’s so bad now we seem to
lose a half day every day we work because of new tasks
we identify or defects we uncover. I can’t see this problem
getting any better soon.3
This engineer had a far more realistic view of what goes on in real-
world projects than many managers or experts in the field. He
understood that estimates are only as good as the size projections that
they are based on. He also understood that projections of productivity
must consider all the costs and tasks associated with a project — not
only those related to production.
As Tom DeMarco4 pointed out, “Are overruns and busted budgets
happening too frequently? When performance doesn’t meet the
estimate, there are two possible causes: poor performance or poor
estimates. In the software world, we have ample evidence that our
estimates stink, but
virtually no evidence that people in general don’t work hard enough or
intelligently enough.”
In the situation noted above, the management team lost sight of the
fundamental elements of successful project management: that
estimates for project cost and schedule should be based on reality, and
there is a minimum time required for any software development.
Successful project management also requires an estimate that
corresponds to and is driven by (a) how the process is to be managed,
monitored, and controlled, and
(b) how risks are to be identified, managed, and mitigated.
Effort (Size
Complexity)
Productivity
At the beginning of any project the three variables in the equation are
unknown. A baseline set of validated requirements is lacking so what
needs to be built cannot be accurately defined; the trade-off analyses and
architecture are not complete, so complexity is still unknown; and
the team has not been formed or, if it has, the team members have not
yet gone through the “forming, storming, norming, and performing” 10
steps that are essential for team success. All these unknown factors
mean productivity projections are little better than educated guesses.
The question then arising is where does that leave the project
manager? Is the project doomed to success or failure based on the
whims of fate or the clairvoyance of an estimator? No. Over the years,
estimation methods and tools that significantly lower the initial
estimation risks have been developed. However, failure to realize the
potential imprecise natures of initial estimates and effectively manage
and control the risks associated with them certainly is a major
contributor to downstr eam problems, including project failure.
Although software development organizations range from the com-
pletely ad hoc to the fully process-driven, most of them use some
manner of software estimates at the beginning of a project. Ad hoc
organizations may use off-the-cuff, back-of-the-napkin methods, while
others may pro- ceed in a very well thought out fashion, defining the
risks and uncertainties up front. Sometimes the customer for a project is
an internal organization, while other projects must be bid and awarded;
alternatively they may be outsourced to organizations that respond to
formal requests for proposals (RFPs). This book addresses projects for
both internal and external cus- tomers. Some of the case studies and
examples cited come fr om the outside contractor’s world and others
are based on in-house projects.
Why Software Projects Fail: Problems with Estimation
Accurately projecting and tracking software costs is difficult, and
cost overruns often occur. It is very important, therefore, to understand
software estimating processes and methods. According to the
Parametric Estimating Handbook of the International Society of
Parametric Analysis (ISPA), 11 software estimating problems often
occur because of the:
■ Inability to accurately size a software project
■ Inability to accurately specify an appropriate software
development and support environment
■ Improper assessment of staffing levels and skills
■ Lack of well-defined requirements for the software activity
estimated