Building credible cost and schedule estimates requires discipline, skill, and experience. All 3 can be acquired over time. The starting point is understanding what processes make up the discipline of estimating
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Cost estimating
1. HOW TO DEVELOP CREDIBLE
COST & SCHEDULE ESTIMATE
Building credible cost and schedule estimates requires discipline, skill, and
experience. All 3 can be acquired over time. The starting point is understanding
what processes make up the discipline of estimating/
2. “…It was also becoming painfully evident that estimating
the cost of technologically state-of-the-art projects was an
inexact science.
The experts, in spite of their mountains of numbers,
seemingly used an approach descended from the
technique widely used to weigh hogs in Texas.
It is alleged that in this process, after catching a hog and
tying it to one end of a teeter–totter arrangement,
everyone searches for a stone which, when placed on the
other end of the apparatus, exactly balances the weight of
the hog.
When such a stone is eventually found, everyone gathers
around and tries to guess the weight of the stone.
Such is the science of cost estimating.”
‒ Augustine’s Laws, Norm Augustine, Retired President,
Lockheed Martin
4. 4
In any science, we can only estimate by
extrapolating from the past.
The Fundamental Theorem
Of
Estimating
This does not mean we just look at the trends. It means we have to extract from
past observations some concepts, some relationships, some guidelines, from
which the future may, within a confidence interval, be predicted.
5. The Real Problem With Estimating
5
“Nobel Prize to Project Management: Getting Risk Right,” Bent Flyvbjerg, Aalborg University, Denmark
Figure 1: Explanatory power of optimism bias and strategic misrepresentation, respectively, in
accounting for forecasting inaccuracy as function of political and organization pleasure.
7. 7
Five Sources of Estimating Failures
1. Our techniques of estimating are poorly developed. They reflect
an unvoiced assumption which is quite untrue – “That all will go
well.”
2. Our estimating techniques confuse effort with progress, hiding
the assumption that men and months are interchangeable.
3. Because we are uncertain of our estimates, software managers
often lack the courteous stubbornness of Antoine's† chef.
4. Schedule progress is poorly monitored. Techniques proven and
routine in other engineering disciplines are considered radical
innovations in software engineering.
5. When schedule slippage is recognized, the natural response is
to add manpower. Like dousing a fire with gasoline, this makes
matters worse. More fire requires more gasoline starting a
regenerative cycle that ends in disaster.
† Antoine's is a New Orleans restaurant whose menu states:
Good cooking takes time. If you are made to wait, it is to serve you
better and to please you.
8. 8
Estimating Cost and Schedule Must be
Treated as Risk Management
Rather than seeking the perfect method for estimating size and
duration, a realistic approach to improving estimates is to reduce the
risks associated with improper sizing, cost, and duration estimates
9. 9
Motivation for Increasing the Maturity of a
Project Based Organization
Hilson, “Benchmarking Orgnisational Project Management Capability”. Proceedings of the Annual Project Management Seminars &
Symposium, Nashville, 2001.
10. 10
It’s tough to make predictions,
especially about the future –Yogi Berra
“Understanding the importance of accurate estimation, and a willingness to put in
the resources ... are vitally important to a company’s success.”
11. 7 Questions to Test Your Willingness
to Depend on Estimates
1. Are the objectives of the estimate clear and correct?
2. Has the task been appropriately sized?
3. Are the estimated cost and schedule consistent with
demonstrated accomplishments on other projects?
4. Have the factors that affect the estimate been identified and
explained?
5. Have steps been taken to ensure the integrity of the
estimating process?
6. Is the organization's historical evidence capable of
supporting a reliable estimate?
7. Has the situation changed since the estimate was
prepared?
11
13. If you don’t know your
capacity for work, you
can’t estimate how long it
will take to finish the job
13
14. How Long Will It Take?
Past performance or a “model” is needed.
This means keeping a history of past performance.
14
15. 15
The Notion That Experts are Better Than
Models Is Not Supported By The Evidence
“A Framework for the Analysis of Software Cost Estimation Accuracy,” Stein Grimstad and Magne
Jørgensen, ISESE'06, September 21–22, 2006, Rio de Janeiro, Brazil
§ Mean estimation error for expert judgment = 18%
§ Mean estimation error for model based = 7%
§ T-test in means p=0.04
18. 18
Two Techniques to Reducing Estimating Risk
1. Identify the areas
of uncertainty
2. Analyze the
estimating
process to
determine where
risk mitigation can
reduce
uncertainty
19. Estimating Is More
Than These Two
Steps of Course
19
§ Identify the software cost
components
§ Develop the costing
relationships
§ Define the software productivity
§ Define the productivity
measures
§ Define the software units of
measure
§ Identify the factors impacting
productivity
§ Assess quality needs
§ Chose the estimation technique
§ Pick a design model
§ Identify the multipliers
20. 20
Quantified Schedule Risk Assessment determines program–level schedule
risk as a function of risk associated with various activities that compose the
program. Probability distributions are developed for each activity duration
with reference to historical data and use interview techniques. The method
uses these distributions in a Monte Carlo simulation of the schedule to derive
a probability distribution of total project completion or other key dates for the
program. It also identifies the activities or paths most likely to delay the
project for targeted risk mitigation. The resulting program level schedule is
then analyzed to determine the actual schedule risk and to identify the
schedule drivers.
With this approach the probability of overrunning a program–schedule can
be estimated by determining how much risk exists and where it is greatest.
This approach enables Program Managers to estimate early in a program
the possibility of a significant probability/likelihood of overrunning the
program schedule by determining how much and where the risk to
successful schedule completion is greatest. This is achieved by identifying
the “highest risk path”; which involves calibrating the risk criticality of
activities.
Quantifying Schedule Risk
22. 22
Ranked Sources of Inaccurate Cost Estimates
Frequent requests for changes by users over looked
Overlooked tasks
Users' lack of understanding of their own requirements
Insufficient user-analyst communication and understanding
Poor or imprecise problem definition
Insufficient analysis when developing estimate
Lack of coordination of systems development, technical services. Operations, data administration,
etc., Functions during development
Lack of an adequate methodology or guidelines for estimating
Changes in department personnel
Lack of historical data regarding past estimates and actuals
Lack of setting and review of standard for use in estimation
Pressures from managers, users, or others to increase or reduce the estimate
Inability to anticipate skills of project team members
Lack of project control comparing estimates and actuals
Inability to tell where past estimates failed
Reduction of project scope or quality to stay within estimate resulting in extra work later
Lack of careful examination of the estimate by management
Lack of participation in estimating by analysts and developers who ultimately develop the system
Performance reviews do not consider whether estimates were met
Removal of padding from the estimate by management
24. And of Course There Is Always
The Problem Of Failing To
Manage The Process
24
25. But We Can’t Be Throwing The Dice
25
We’ve Got To Have Plan
26. Software Cost Estimating
Methods
§ Parametric Estimating
§ Wideband Delphi
§ COCOMO
§ SLIM
§ SEER-SEM Parametric Estimation of Effort, Schedule, Cost, Risk. Minimum
time and staffing concepts based on Brooks's law
§ Function Point Analysis
§ Proxy-based estimating (PROBE) (from the Personal Software Process)
§ The Planning Game (from Extreme Programming)
§ Program Evaluation and Review Technique (PERT)
§ Analysis Effort method
§ TruePlanning Software Model Parametric model that estimates the scope,
cost, effort and schedule for software projects.
§ Evidence-based Scheduling Refinement of typical agile estimating
techniques using minimal measurement and total time accounting.
§ ACEIT
26