26
Estimating Software Projects Saad Shah Metric-X, LLC

Estimating Software Projects

  • Upload
    trung

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Estimating Software Projects

Estimating Software Projects

Saad ShahMetric-X, LLC

Page 2: Estimating Software Projects

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

Page 3: Estimating Software Projects

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.

Page 4: Estimating Software Projects

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”

Page 5: Estimating Software Projects

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

Page 6: Estimating Software Projects

metric-x

Page 7: Estimating Software Projects

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

Page 8: Estimating Software Projects

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

Page 9: Estimating Software Projects

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

Page 10: Estimating Software Projects

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

Page 11: Estimating Software Projects

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

Page 12: Estimating Software Projects

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

Page 13: Estimating Software Projects

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

Page 14: Estimating Software Projects

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

Page 15: Estimating Software Projects

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

Page 16: Estimating Software Projects

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

Page 17: Estimating Software Projects

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

Page 18: Estimating Software Projects

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

Page 19: Estimating Software Projects

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

Page 20: Estimating Software Projects

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

Page 21: Estimating Software Projects

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

Page 22: Estimating Software Projects

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

Page 23: Estimating Software Projects

metric-x

Communicating the Estimate

Page 24: Estimating Software Projects

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

Page 25: Estimating Software Projects

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

Page 26: Estimating Software Projects

metric-x

Thank you

Contact:Saad [email protected]