Download - Estimating Software Projects
Estimating Software Projects
Saad ShahMetric-X, LLC
metric-x
Saad Shah• Founder and Technical Architect at Metric-X (business
intelligence, data warehousing consulting company)• 20 year career in information technology• Started career as software engineer• B.S. in Industrial & Operations Engineering (Michigan)• Received PMP in 1999• Worked at EDS, Cambridge Technology Partners• Managed Fixed Time / Fixed Price engagements at Cambridge• Held multiple roles for improving delivery capability for
software development organizations
metric-x
Presentation Abstract
• Often, project managers must provide an estimate of a project's cost and duration before the objectives, scope and constraints are understood.
• A framework will be presented for the stages of an estimate that gets refined over time as more is known about the project context.
• We will discuss what an estimate is, types of estimates, estimating techniques and using estimates to promote dialog, uncover uncertainty and reduce risk.
metric-x
Scenario
• Finance department has identified several inefficiencies in the way they perform the monthly financial closing activities
• The CFO would like to revamp the current systems and processes and make them “like it was done at the company she worked for previously”
metric-x
Scenario (continued)
• The entire solution needs to be delivered within 3 quarters (it is currently 2008-Q4)– All budgeting, consolidation and reporting in 2009-Q4 to
be performed on the new systems.• You have been asked to provide a budget and
feasibility of delivering the solution as required• Finance also has other important projects competing
for funding and resources– Whether this project moves forward depends on your
proposed budget• The proposed budget request is due next week
metric-x
metric-x
Expectations
• Customer’s Expectations:– Allocate an appropriate budget and spend it wisely– Get tangible value from results of project
• “New Generation Reporting System”– Get project done without disrupting on-going work
• Solution Delivery Team’s Expectations:– Don’t over-promise– Don’t “lose” the opportunity because of wild estimate– Set the project up for success– Deliver tangible value to the customer– Build a track record of successful delivery, earn credibility
metric-x
Next Steps
• Distinguish between …– Target– Estimate– Commitment
• Start talking with the customer– Search for the unknowns, propose solutions– Estimate, and state your assumptions– Assess Confidence and Risk
• Use historical information
metric-x
What is an Estimate?
• Dictionary Definition– a: to judge tentatively or approximately the value, worth,
or significance of – b: to determine roughly the size, extent, or nature of – c: to produce a statement of the approximate cost of
Merriam Websterhttp://www.merriam-webster.com/dictionary/estimate
• A prediction of how much the project will cost and how long it will take
metric-x
Target & Commitment
• Target:– What we would like to achieve (scope, cost, time)
• Commitment:– What we have promised to deliver (scope, cost, time)
• Estimate:– What we predict the required scope will cost and how long
it will take to deliver• The estimate should not be biased by the target or
commitment
metric-x
Targets, Estimates and Risk
• The Estimate is:– Un-biased (not what someone wants to hear)– Derived quantitatively– Based on stated assumptions
• If the Target and Estimate are different, the Estimate should not be changed!– The gap between Target and Estimate is an
indicator of project risk
metric-x
Communicating Estimates
• Express estimates as ranges– High, Low, Likely
• State assumptions in terms that stakeholders can understand and validate
• The greater the uncertainty, the greater the range between the High and Low
metric-x
Range of Outcomes• The variance is not evenly spread around the Likely Cost• If the Target Cost is less than the Likely Estimate, then the
project assumes more risk
Project Cost
Probability
1.0
0Low Cost High Cost
Likely Cost
Target #1 Target #2
metric-x
Accurate Estimates
• Ideal Situation:– Requirements are clear and stable– The technology and tools are already mastered– The process to define, build and deploy the solution is
proven, well-understood and committed to– The right expertise is available and committed– Metrics from previous projects are available for
comparison– Resources are available to do the work when required– The project is well-controlled
metric-x
Estimate Lifecycle
InitialEstimate
High-Level Estimate
Detailed Estimate Revised
Estimates (EAC)
Revised Estimates
(EAC)
Revised Estimates
(EAC)
Concept Phase
Solution Definition
Phase
Requirements Phase
Design, Build, Test
PhasesOperations
Initial Estimate: Project level. Factors time, budget constraints. Seeks to uncover unknowns. Essentially a planning and problem-solving exercise.
High Level Estimate: Top-Down, based on known deliverables. Makes assumptions about detailed requirements, development methods, technical complexity.
Detailed Estimate: Bottom Up, based on tasks, effort, dependencies. Requires deep understanding of requirements, architecture, team capabilities
Revised Estimates: Updates based on changes and new information
metric-x
Purpose of Estimating• “The primary purpose of software estimation is not
to predict a project’s outcome; it is to determine whether a project’s targets are realistic enough to allow the project to be controlled to meet them.”
• “Accuracy of ±5% won’t do you much good if the project’s underlying assumptions change by 100%.”
Steve McConnell
metric-x
Next Steps
• Distinguish between …– Target– Estimate– Commitment
• Start talking with the customer– Search for the unknowns, propose solutions– Estimate, and state your assumptions– Assess Confidence and Risk
• Use historical information
metric-x
Uncovering the Unknowns
New Generation Financial Reporting
Replace Existing System
Full Replacement
Limited Replacement
Improve Existing System
Provide Critical, Missing Features
Streamline Overall Process
metric-x
Changing Assumptions
Concept Phase
Solution Definition
Phase
Requirements Phase
Design, Build, Test Phases Operations
Staff Turnover Change in
Strategy
Revised Acceptance
Criteria
New Requirements
Added
Key Resources
Unavailable
Technical Roadblocks
New Priorities
metric-x
How Much to Invest in Accurate Estimating?
• Estimate accuracy is of little value when key project assumptions are going to change
• Projects controls greatly influence whether commitments can be met
metric-x
Estimate Range Over Time• Ideally, the estimate range should get smaller over time• Projects whose planning assumptions are frequently changed
will continue to have large ranges
Time
Runaway ProjectCost
Range
Concept Solution Rqmts Design Build Test DeployPhase Definition
High
Low
metric-x
At the End of the Day ..
• We need to know what we are delivering• Team needs people who have been there, done that!
– A team loaded with novices will render commitments meaningless
• Project requestors need to be clear about what benefits they are looking for, and willing to compromise if assumptions change
• Project needs to be controlled
metric-x
Communicating the Estimate
metric-x
Initial EstimateCommitments and Risk Scope
• Partial replacement of current system• Interfaces developed between ERP and FIN• Existing ERP team assigned to project by 11/1/08• Deviation provided for technology selection gate
process• Project controls implemented as per PM
methodology• Estimates to be revised as scope of work is further
defined• Pilot to start by 7/1/2009
DeliverablePriority
(Sept 2009)
ReportsMonthly Closing Package A1Variance Reports for Plants A1Analytics A2International Reports B1Tax Reports B2
FunctionalityTransaction Tracking A1Plant Consolidation A1Subsidiary Consolidation A1Tax Analysis B1Forecasting Model B2Account Groupings A2Departmental Budgeting A2
Data ConversionData Conversion (since 2001) B1Data Conversion (since 2007) A1
TargetEstimate
(High)Estimate
(Low)Estimate (Likely)
Commit-ment Risk Level
Budget $1.20 $1.80 $1.00 $1.40 $1.40 MediumDelivery Date 9/1/2009 12/1/2009 9/1/2009 10/1/2009 9/1/2009 High
Scope All A1 Items All A1 Items All A1 Items All A1 Items All A1 Items Low
Key Assumptions
metric-x
Summary
• Target, Estimate, Commitment• Uncertainty, Range• High, Low, Likely• Estimate Lifecycle• Dialog and Problem Solving• Estimate is valid for stated Assumptions• Project Controls