260 likes | 380 Views
Estimating Software Projects. Saad Shah Metric-X, LLC. 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
E N D
Estimating Software Projects Saad Shah Metric-X, LLC
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
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.
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”
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
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
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
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 Webster http://www.merriam-webster.com/dictionary/estimate • A prediction of how much the project will cost and how long it will take
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
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
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
Range of Outcomes 1.0 0 Likely Cost Target #2 Target #1 Probability Low Cost High Cost Project Cost 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
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
Estimate Lifecycle Initial Estimate High-Level Estimate Detailed Estimate Revised Estimates (EAC) Revised Estimates (EAC) Revised Estimates (EAC)
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
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
Changing Assumptions Technical Roadblocks Key Resources Unavailable New Requirements Added New Priorities Staff Turnover Revised Acceptance Criteria Change in Strategy
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
Estimate Range Over Time Runaway Project High Low Cost Range Concept Solution Rqmts Design Build Test Deploy Phase Definition Time Ideally, the estimate range should get smaller over time Projects whose planning assumptions are frequently changed will continue to have large ranges
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
Initial Estimate • Scope • Commitments and Risk • Key Assumptions • 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
Summary Target, Estimate, Commitment Uncertainty, Range High, Low, Likely Estimate Lifecycle Dialog and Problem Solving Estimate is valid for stated Assumptions Project Controls
Thank you Contact: Saad Shah saad@metricx.com 248-495-4925 www.metricx.com