cost estimation 2009. cost estimation “the most unsuccessful three years in the education of cost...

43
Cost Estimation 2009

Upload: dwain-francis-houston

Post on 18-Jan-2018

222 views

Category:

Documents


0 download

DESCRIPTION

Goal The cost estimation community is working to improve estimations so that sophisticated organizations can produce products with 5% of the estimated cost (instead of 10%).

TRANSCRIPT

Page 1: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Cost Estimation

2009

Page 2: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Cost Estimation

• “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic.

» Norman R. Augustine

Page 3: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Goal

• The cost estimation community is working to improve estimations so that sophisticated organizations can produce products with 5% of the estimated cost (instead of 10%).

Page 4: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Requirements for Estimations

• What are cost estimates used for?

Page 5: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Requirements for Estimations

• What are cost estimates used for?• What are the important characteristics of a

cost estimate?

Page 6: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Scenario

• A typical software development shop. A boss is speaking with the lead developer.

Page 7: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Definitions

• Estimate• Target • Commitment• Plan

Page 8: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Estimate

Page 9: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Commitment

• Target:

• Commitment:

• Plan:

Page 10: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Terms

• Note that target, estimate, and commitment are not the same concept, and the dates given for these may differ.

Page 11: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Scenario 3

• Suppose I give an estimate of 90 days.

Usual

0

20

40

60

80

100

120

Schedule (or cost)

Prob

abili

ty

Page 12: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Scenario 3: Bell curve

• What does it mean?

Common Assumption

0

5

10

15

20

25

30

Schedule (or cost)

Prob

abili

ty

Page 13: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Scenario 3:

• What does this mean?

Realistic

0

51015

2025

3035

Schedule (or cost)

Prob

abili

ty

Page 14: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Accuracy and the cost of inaccuracy

• What is the cost of overestimating?

Page 15: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Accuracy and the cost of inaccuracy

• What is the cost of underestimating?

Page 16: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Projet Outcomes by Project Size

0102030405060708090

1KSLOC 10 KSLOC 100KSLOC 1MSLOC 10 MSLOC

Size

% c

ompl

ete

Early

On Time

Late

Failed

How are we doing?• KSLOC is 1,000 lines of source code• MSLOC is 1,000,000 lines of source code• With your partner, what does this graph say?

Page 17: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Benefits of Accurate Estimates• Improved status visibility• Higher quality• Better coordination with non-software functions• Better budgeting• Increased credibility for team• Early risk information

Page 18: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Approaches to arriving at a number

• Count• Compute• Judge

Page 19: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Counting vs. Estimating

• Similarities:• Differences:

Page 20: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Proxy

• A value that is used to represent some other value

• Example: Estimate the weight of the people in the airplane from the number of people in the airplane (requires that we also know the average weight of people)

Page 21: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Things we want to estimate in software

• Cost• Resources• Revenue

Page 22: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Sources of uncertainty

• Inaccurate information about project• Inaccurate information about ability of

project team• Too much chaos in project• Inaccuracies in estimation process

Page 23: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Wideband Delphi1. Estimators prepare initial estimates2. The estimators meet with a coordinator to discuss

estimation issues3. Estimators give their estimates to the coordinator

anonymously4. The estimates are summarized on an iteration

form5. Estimators meet to discuss differences6. Estimators vote to accept the average. If any votes

“no”, return to step 2

Page 24: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Wideband Delphi

• Votes and estimates are anonymous• Reduces political pressure• Coordinator must prevent dominant

personalities from controlling discussions• (Frequently, the most reserved person has

the best insights)

Page 25: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Results of Wideband Delphi

• Estimation error cut by 40% compared to initial group average

• Accuracy improves in 80% of the cases• Useful for early estimates, particularly with

unfamiliar systems• Not so useful for detailed estimates

Page 26: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

LOC, SLOC, KSLOC, MSLOC

• Lines of code• Standard measure of size• Often a measure of cost (i.e., time)

Page 27: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Function Points

• Synthetic measure of program size used to estimate size early in the project

• Easier (than lines of code) to calculate from requirements

• Standards at the International Function Point Users Group (IFPUG) www.ifpug.org

Page 28: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

FP Rules: #FPs depends on:

• External Inputs• External Outputs• External Queries• Internal Logical Files• External Interface Files

Page 29: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

FP Rules: Complexity MultipliersLow Complexity

Medium Complexity

High Complexity

External Inputs

3 4 6

External Outputs

4 5 7

External Queries

3 4 6

Internal Logical Files

4 10 15

External Interface Files

5 7 10

Page 30: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

LOC vs FP (Boehm 2000, Stutzke 2005)

Language LOC per FPAda 50C 128C# 55C++ 55Java 55Assembly 213Perl 20VB 32

Page 31: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

FP results

• Certified counters vary by 10%• Untrained counters vary by much more• The multipliers may or may not be useful

(some research indicates unadjusted FPs are more closely correlated with effort)

• The LOC have on average a range of 3x wrt FPs

Page 32: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

COCOMO II

Page 33: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

COCOMO II

• COCOMO COnstructive COst MOdel• Model to help you reason about the cost

and schedule implications of any software decisions you may need to make.– Project Budgets– Scheduling– Planning– Risk Management Decisions

Page 34: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

COCOMO II

• Objective cost model for planning and executing software projects.

• Concerned with:– Software Development Effort– Software Cost– Software Schedule Estimation

Page 35: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

COCOMO II Model Definition

• Two Models to be concerned with:– Post-Architecture Model– Early Design Model

Page 36: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

COCOMO II Model Definition

• Two Models to be concerned with:– Post-Architecture Model –

– Early Design Model –

Page 37: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

COCOMO II Variables

• Sizing Variables– Source Lines of Code (SLOC)– Unadjusted Function Points (UFP)

• Cost Drivers• Scale Factors

Page 38: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Sizing Variables

• Concerned with the Size (SLOC) of the product being developed.

• Looking at data that influences new code to better:– Estimate the amount of Effort

– Estimate the amount of Calendar Time

Page 39: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

SLOC• Expressed in thousands of source line of code

(KSLOC).• Again, only looking at data that will influence effort

based on:– New Code– Copied & Modified Code

• Historical data based on previous software project used to derive estimate.

Page 40: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Unadjusted Function Points

• Approach: values based upon functionality in a software project.

• Based on information available early in the software project life cycle.– Requirements Definition– SRS– Design Documents

Page 41: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Unadjusted Function Points

• Basically, looking at all external data and input control to the system.

• Looking at all possible outputs produced by the system.

• Looking for any file types that my be associated with the system.

Page 42: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Project Schedule

Project Schedule per Phase

0 2 4 6 8 10 12

RCRFJ_V0.0

Months

Plans And Requirements Product Design Programming Integration and Test

Page 43: Cost Estimation 2009. Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman

Effort Per Phase Schedule

Effort per Module

0

2

4

6

8

10

12

Plans andRequirements

Product Design Programming Integration andTest

Phase

Mod

ule

Effo

rt

RCRFJ_Master