You are on page 1of 6

Estimation is a crucial element

of software project planning.


Unfortunately, there are inherent
limitations in the ability to
estimate projects accurately due
to the inherent uncertainties in
software projects.

Linda M. Laird

The Limitations
of Estimation

I
n 1968, Alfred Pietrasanta of IBM System jects life cycle and understand where you
Research Institute wrote, Anyone who under- or overestimated so you can do better the
expects a quick and easy solution to the mul- next time?
tifaceted problem of resource estimation is The 1995 Standish Groups Chaos Report cites
going to be disappointed. Thirty years later, overruns on 89 percent of projects. Kjetil
Lionel Briand and his colleagues observed that Molokken and Magne Jrgensen, who studied
Despite the large number of cost factors col- software estimation results, describe other sur-
lected and the rigorous data collection, a lot of veys as most commonly reporting that 30 to 40
uncertainty in the estimates can be observed percent of programs overrun (K. Molokken and
(Briand et al., An Assessment and Comparison M. Jrgensen,A Review of Surveys on Software
of Common Software Cost Estimation Methods, Effort Estimation, Proc. 2003 Intl Symp.
Proc. Intl Conf. Software Eng., [ICSE], IEEE Empirical Software Eng., IEEE CS Press, 2003,
1999, pp. 313322). Its now 2006, and we still have p. 223). They conclude that the overruns root
problems with estimation. causes are complex, the data isnt always reliable,
In practical terms, your ability to estimate well and those responding to the surveys may have
comes down to how much you know about a proj- a tendency to over report causes that lie outside
ect when youre estimating it, and how much of their responsibility... for example, customer-
uncertainty is inherent. related causes. Rarely does just one factor on a
In software, we primarily want to estimate three project go awry. Rather, the interplay between
aspects of a project: effort, schedule, and cost. Most factors, such as schedules, changing require-
methods start by estimating sizeas thousands of ments, new technologies, resource unavailabil-
lines of code (KLOC), function pointsor some ity, unforeseen problems, and personnel
other proxy point and using that to estimate effort (management and staff) leads to overruns. And
(that is, staff months). From effort, you typically its often easiest to attribute the overrun to fac-
derive staffing, schedule, and cost. Estimating tors over which you have little controlthat is,
effort is the primary challenge; once you have an the customer.
effort estimate, wonderful tools are available to The literature lists several common causes for
help you work through your schedule, staff, costs, overruns:
and risk, and tie them into your project plan.
specifying incomplete or unclear requirements
EFFORT ESTIMATION: WHERE ARE WE? (not knowing what to do),
How well do you estimate? How do you know? failing to adjust schedules when scope changes
Do you track your estimates through the pro- (too much work),

40 IT Pro November December 2006 Published by the IEEE Computer Society 1520-9202/06/$20.00 2006 IEEE
setting overly aggressive development schedules (too get. At Stevens Institute of Technology, we have seen a
little time), and marked improvement in the success rate of the senior proj-
insufficient resources (not enough people or ects in the students who also take the estimation and met-
equipment). rics class. Instead of focusing primarily on functionality
and design, they now include difficulty and size, and define
These reasons are rather generic. In my view, the pri- their projects to be doable in the time available.
mary causes of software project overruns are: Even when you cant adjust your cost factors, estimating
well gives you the chance to manage the risk, rather than
Lack of education and training. Many people dont know ignore it or be surprised later.
how to estimate, have no training in estimation, and
receive no feedback on their estimates to help them SOFTWARE ESTIMATION
improve.A developer who knows how to write code well METHODOLOGIES AND MODELS
doesnt necessarily know how to estimate. Hundreds of documented software estimation method-
Confusion of the desired schedule/effort target with the ologies, tools, and models exist. Some of the earliest ones
estimate. Development teams are frequently pushed into estimated the software cost as a percentage of the hard-
dates because of business needs rather than a rational ware cost. For most, the output is an estimation of staff
plan to deliver on those dates. effort from a wide variety of inputs.
Hope-based planning. Develop- Estimates give you the Many of the methods use an ana-
ers know the right answer: that lytical formula based on cost driv-
the project is on time and on
opportunity to adjust ers, which typically are project
budget, based on the marketing- project parameters characteristics such as system size,
or management-assigned target. system domain, complexity, and
Software personnels inability to to meet budgets development methodology. (Com-
credibly communicate and sup- and deadlines. plexity in this context is project
port their estimates. The lack of complexity, such as the need for
good estimation processes and high security or reliability, rather
knowledge frequently leads to being pushed into the than design or code complexity.)
shortest schedule you cant prove you wont make The tools and methodologies are primarily based on data
instead of a rational schedule based on probable out- from past projects. Researchers and engineers studied proj-
comes. ect data and determined equations and formulas that best
Incomplete, changing, and creeping requirements. matched the existing data points. Some of the formulas are
Nothing harms a fixed-price and fixed-schedule project extremely simple, others are complex. None are totally
more than changing and growing requirements. accurate with all of the past projects, nor should you expect
Quality surprises. Projects can easily spend half of their them to be with their predictions for future projects.
time in the test-and-fix phase, especially when the need Instead, they predict, based on their formulas (which are
for speed causes the development team to take addi- primarily based upon their data set), the most likely effort
tional risks and turn over inadequately tested code. required for the project as described. At Stevens, I teach
over 10 methods for estimating projects. Some are simple
DO WE CARE HOW WELL WE ESTIMATE? and quick, others take considerable time and effort. My
The answer is a resounding yes. First, Im sure your students estimate the same project using the different esti-
organization cares. Even if youre doing exploratory devel- mation methodologies and models. Their results vary
opment or prototyping, youll usually need some estimates. widely, depending on their definition of the project, their
Second, if youre in the software business, estimating well assumptions, and the models used.
is the only way youll be able to have a personal life instead Which methodology should you use? Most projects use
of working too many nights and weekends. expert opinion. Excellent results have been achieved with
In most projects, estimates are crucial. If alternative use case points (Bente Anda,Comparing Effort Estimates
approaches exist, accurate estimates improve the decisions Based on Use Case Points with Expert Estimate, Proc.
you must make in a project. When bidding for jobs, if you Empirical Assessment in Software Eng. 2002, http://www.
underestimate, you can lose money and damage your com- simula.no/departments/engineering/publications/SE.5.And
pany. If you overestimate, you might unnecessarily lose a a.2002.a. Function points have strong advocates as well.
job to a competitor. Estimating well helps you win the jobs Whatever methodologies you select, you should test and
you should win and lose those you should lose. calibrate them to your organization using your own past
Estimates give you the opportunity to adjust project projects and determining the methodologies accuracy level.
parameters to meet budgets and deadlines. If you under- The current recommendation is that you use more than
stand your cost factors, you can adjust them to hit the tar- one methodologyin fact, the standard recommendation

November December 2006 IT Pro 41


SOFTWARE ESTIMATION

is to use at least three methods (F. Heemstra, Software Or, as Bollinger notes, The creation of genuinely new
Cost Estimation, Information and Software Technology, software has far more in common with developing a new
vol. 34, no. 10, Oct. 1992, pp. 627639; T. Bollinger, The theory of physics than it does with producing cars or
Interplay of Art and Science in Software, Computer, vol. watches on an assembly line (Bollinger 1997).
30, no. 10, Oct. 1997, pp. 125128). Each method will add Which camp are you in? Problem solving or process exe-
insight and understanding, and using three allows you to cution? Or does it vary depending on the circumstances?
triangulate on an answer. (Three methods might seem like In other words, are you developing a new system which
overkill, especially when many organizations dont even requires creativity and invention, or are you developing a
use one. Obviously, the amount of effort spent on estima- system that you already know how to build?
tion depends on the importance of the estimations accu- Consider the analogy of building six new apartment
racy and the ease of creating the estimate.) buildings, one after the other, all of which have the same
You should choose complementary methods with dif- design and all of which are being built on the same type of
ferent biases (M. Jrgensen, Realism in Assessment of vacant land.The estimate for the first building might have
Effort Estimation Uncertainty: It been +/25 percent of the final cost.
Matters How You Ask, IEEE Estimates are typically By the third, the estimate is proba-
Trans. Software Eng., vol. 30, no. 4, bly +/5 percent. But consider the
Apr. 2004, pp. 209217). Examples
the 50-percent view, impact of changing the original
of complementary methods are meaning the probability plan. Instead of using brick and
mortar, you use precast concrete
expert opinion with analogy, for being under or over because of the expected cost sav-
expert opinion with function budget is the same. ings. Or, imagine you need to build
points, on a rocky hillside instead of flat
algorithmic models and use case vacant lots. And you decide to add
points, a penthouse. What will happen to your estimate? Plus or
expert opinions by experts with different project expe- minus 25 percent will be an achievement.
riences and responsibilities and The same is true of software projects. If youre building
use case points and analogy systems that are similar to those youve previously built
using similar teams and technologies, and you can manage
Algorithmic models based on the same underlying algo- the requirements processes, your estimates will be quite
rithms (such as all of the COCOMO derivatives) have the accurate. If youre building fundamentally new systems,
same biases as do experts who have had similar responsi- however, where invention is required, +/25 percent will
bilities on similar projects. (M. Jrgensen, Practical be an achievement.
Guidelines for Better Software Estimation, www.simula.
no/departments/engineering/.artifacts/ieee_jorgensen_ ESTIMATE UNCERTAINTIES
guidelines5.pdf). You must remember that estimates are probabilistic and
communicate them appropriately. All projects have some
SOFTWARE ESTIMATION AS ENGINEERING uncertainties. Estimates are typically the 50-percent view,
With all the available methodologies and methods, why meaning the probability for being under or over budget is
are the estimation results so ragged? In some respects, the the same. (Unfortunately, Parkinsons Law, which states that
question comes down to whether software estimation is work expands to meet the time available, holds for software
an engineering process or not. projects. So, this 50-percent view says well be on budget 50
Consider Terry Bollingers statement, if software esti- percent of the time and over budget the other 50 percent.)
mation is believed to be a codifiable engineering process To estimate more accurately, you must
analogous to house building then litigation is a reasonable
and expected consequence of inaccurate estimations understand, accept, and manage estimations inherent
(Bollinger 1997). uncertainties; and
The software engineering community is split into change the estimation terminology to include the uncer-
two camps: tainties.

the process camp espouses that quality software can be The size of the estimates uncertainty differs based on
developed on time if a particular software process or how close you are to the projects end, as Barry Boehm
programming technology is used, while classic chartthe cone of uncertaintyillustrated in 1981.
the problem-solving camp believes that programming is (Boehm, Software Eng. Economics, Prentice-Hall, 1981).
fundamentally a process of solving problems and as such This chart represents the estimate accuracy at different
intrinsically resists codification. phases in the software life cycle. During the projects ini-

42 IT Pro November December 2006


tial feasibility phase, the estimates accuracy is a factor of
+/4. For example, if you estimate a project to be 200 staff Table 1. Estimation uncertainty
months, it could take anywhere from 50 to 800 staff engineering rules.
months. As you progress through the projects life cycle,
the estimate accuracy increases, such that at the detailed Project phase Uncertainty (percent)
design phase, its a factor of approximately 1.3 rather than
Feasibility +100/50
the initial 4.
Most practitioners agree that improved estimation prac- Requirements +50/25
tices and processes have changed the uncertainty scale. In Design +20/10
addition, developers have a much greater tendency to
underestimate (due to market and organizational pres- Coding +10/5
sures, optimism, and overconfidence) than to overestimate. Testing +5
Estimation is now typically closer to +100/50 percent at
the feasibility stage, but still not much better than +20/10
percent at the detailed design stage. professional, belief in their abilities, and lack of imme-
Three types of uncertainties exist: statistical variance, diate feedback. Experiments show that you can achieve
known risks, and unknown risks.Youll always have statis- more accurate ranges using predetermined organiza-
tical variancethe only question is its size.Your risk man- tional guidelines or probability distributions based on
agement plan should address the known risks. Unknown previous projects. I recommend following the engineer-
risks are obviously the toughest to handle. Organizations ing rules in Table 1 until you have your own organiza-
typically use experts to minimize the number of unknown tional baseline. For example, if your current p50 estimate
risks. The Project Management Institute (PMI) recom- is 50 staff months and youre in the design phase, using
mends maintaining a 10-percent management contingency these engineering rules will give you an expected range
buffer in the absence of any other information. between 47 and 56 staff months.
Its also important to effectively communicate your esti- To use the distribution from previous projects to derive
mates. Instead of giving a number, you should give ranges the X-percent effort, start with your best estimate (deter-
and views based on probabilistic distributions.The pX view mined through other methods). For example, assume
means there is an X percent probability of not exceeding your estimate is 10 staff years and that of previous simi-
the estimate; thus, a p90 view suggests that the actual lar projects,
results will be less than or equal to the estimate 90 percent
of the time (Jrgenson 2004). 30 percent came in on budget,
Consider the difference in information between the fol- 10 percent came in under budget by 10 percent,
lowing statements: 40 percent came in over budget by 50 percent, and
20 percent came in over budget by less than 50 percent.
My estimate is 12 staff months.
My estimate is between 10 and 14 staff months. Then your estimate percentages are:
My p50 estimate is 12 months.
I estimate that 95 percent of the time it will be between p10 estimate = 9 staff years,
10 and 14 months. p40 estimate = 10 staff years
I estimate that 98 percent of the time it will be less than p80 estimate = 15 staff years.
14 months.
For agile methods which emrace change, expect more
The first statement is the easiest for others to deal with. variation.Todd Little published data for 120 delivered sys-
Its precise, but you arent communicating any of the uncer- tems based on the agile methodology (T. Little, Agility,
tainties or risks.The other statements provide significantly Uncertainty, and Software Project Estimation, www.
more information and lets others help manage both the toddlittleweb.com/Papers/Agility,%20Uncertainty%20
risks and the uncertainties. and%20Estimation.pdf). For these systems, he found that
Experts can specify the ranges as part of the estima-
tion process. Unfortunately, experiments have shown estimation accuracy follows a log-normal distribution
that experts tend to be consistently overconfident in (that is, it was underestimated far more frequently than
their range estimations (M. Jrgensen, Practical overestimated),
Guidelines for Expert-Judgment-based Software Effort initial estimates are targets with only a small chance of
Estimation, IEEE Software, vol. 22, no. 3, May/June being met,
2005, pp. 5763). The reasons suggested for their over- the range between the target and an estimate with 90
confidence include the need to appear confident and percent confidence is about four times greater, and

November December 2006 IT Pro 43


SOFTWARE ESTIMATION

this behavior and uncertainty range is nearly identical ESTIMATING EARLY AND OFTEN
at all stages in the project lifecycle, in conflict with theWhen should you estimate? And how much effort should
cone of uncertainty. you spend on it?
It depends on the project and the methodology. Effort
So, to deal with estimates uncertainties: estimation is usually overheadyou arent producing
a deliverable product. So, you need to ensure that the
change your terminology from one number to a pX benefit exceeds the cost. If development costs or sched-
number; ule dont matter, you dont need to estimate. Or if
use probability intervals to specify the range of esti- youre dealing with frequently changing requirements
mates; and specifications, you need to
use methods other than gut be able to give ballpark esti-
feelings for determining the When asked to provide mates quickly and efficiently,
range, because overconfidence an estimate, you must and expect to update them
is typical; (quickly and efficiently) when
if youre using agile methods, determine whether the situation changes.
especially if youre following youre being asked In some projects, estimates
the responding to change greatly impact the quality of the
over following a plan princi- for your view or being decision making. Im sure you
ple, expect a low probability of have horror stories like mine
meeting your initial estimates
told what the answer about approaches or projects
(perhaps 10 percent) and a must be. selected based on estimates that
large estimate uncertainty were later found to being totally
throughout your projects. inaccurate (and low).
For traditional developments, you should estimate the
MANAGING THE EFFORT BUDGET job at least three times:
A primary reason for projects coming in over budget is
the confusion between the project targetthat is, what the macroestimation during the feasibility phase,
senior management or marketing wants the cost to be detailed estimation during the requirements phase, and
and the actual estimate. refined estimation during the design phase.
When asked to provide an estimate, you must deter-
mine whether youre being asked for your view or being The need for an estimates accuracy is related to its pur-
told what the answer must be. Frequently, because of pose at a particular point in time.A cost estimate at a pro-
business realities, youre told the answerthat is, youre jects feasibility stage needs only be accurate enough to
given the jobs effort budget. In this case, the same support a decision to prepare a more detailed project def-
tools and methodologies still apply. But instead of using inition. Detailed product and project definitions arent
them to create an estimate, use them interactively to cre- available at this phase, so the estimate will be high level.
ate a rational plan to reduce the effort to meet the The estimate at the requirements specification stage, how-
budget. For example, you could reduce the number of ever, is a critical project decision point and must be rea-
adjusted use case points by reducing actors and scenar- sonably accurate.Youre potentially committing significant
ios, decreasing the technical factors, improving the envi- resources based on the business case, which is based on the
ronmental factors, or even reusing large chunks of code cost estimate.The required accuracy depends on the busi-
and classes. Infinite potential solutions exist, some fea- ness model. An in-house project or consulting service
sible, some not. might be pay as you go, so the estimate is really about
Some people, when faced with an inadequate budget, try establishing credibility. For external product sales, or for
adjusting the estimation models parameters without fixed-cost projects, the required accuracy depends on when
changing the work involved. Unless you made mistakes in a final price will be set. Once the detailed design has been
the initial estimate, this will only create more overtime. completed, and hopefully most of the unknowns have
Others plan on overtime, which is best reserved for con- become known, you can create a reasonably accurate esti-
tingency and risk management. Have a plan you believe mate and plan.
you can meet without overtime. The third favorite tech- Because of the inherent uncertainties in all projects, you
nique is cutting features. This option should be the last might need to re-estimate as you learn more. Whenever
resort, unless you can prove that the feature is truly major unplanned events occur, youll need to understand
unneeded or optional. Instead, use your creativity and how they impact the schedule and effort. Dont ignore
problem-solving skills to simplify the project or increase them and just hope it will all work out. It rarely will. At
productivity. least roughly estimate the impacts to make sure your plan

44 IT Pro November December 2006


is still viable. By estimating early and often, you can take Acknowledgments
appropriate action to adjust the program and project plan The ideas and conclusions in this article are the culmi-
when you find that the work is not aligned with the budget nation of my experience and my readings of the works of
or the schedule. others. Id like to thank all those I referenced, as well as
those I may have inadvertently missed, for which I apolo-
THREE GOLDEN RULES OF ESTIMATION gize. Id especially like to thank Magne Jrgensen and the
There are three golden rules which will significantly folks at Simula Laboratories. Their work is fundamental
improve your estimations and estimation processes. to my conclusions and recommendations.

Require all estimates to be justified. Gut feeling is not an


adequate justification.
Dont use methods or tools blindly. Try estimating pre-
vious (completed) projects to validate and tune the
methods. Linda M. Laird is the author of Software Measurement
Educate your estimators. Knowing how to do something and Estimation:A Practical Approach, published recently
doesnt mean you know how long it will take. Train peo- by IEEE and Wiley. She is an adjunct professor at Stevens
ple in estimation.Accuracy is correlated with training and Institute of Technology, Hoboken, New Jersey. Contact her
the ability to see results, not development experience. at linda_m_laird@msn.com.

I
mproving your estimation skills, processes, and how you
communicate your estimations will help you avoid the
difficulties inherent in estimation; however, your abil- For further information on this or any other computing
ity to estimate well will always be limited by the extent of topic, visit our Digital Library at http://www.computer.
your projects uncertainty. org/publications/dlib.

November December 2006 IT Pro 45

You might also like