Download presentation
Presentation is loading. Please wait.
Published byDwain Francis Houston Modified over 8 years ago
1
Cost Estimation 2009
2
Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman R. Augustine
3
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%).
4
Requirements for Estimations What are cost estimates used for?
5
Requirements for Estimations What are cost estimates used for? What are the important characteristics of a cost estimate?
6
Scenario A typical software development shop. A boss is speaking with the lead developer.
7
Definitions Estimate Target Commitment Plan
8
Estimate
9
Commitment Target: Commitment: Plan:
10
Terms Note that target, estimate, and commitment are not the same concept, and the dates given for these may differ.
11
Scenario 3 Suppose I give an estimate of 90 days.
12
Scenario 3: Bell curve What does it mean?
13
Scenario 3: What does this mean?
14
Accuracy and the cost of inaccuracy What is the cost of overestimating?
15
Accuracy and the cost of inaccuracy What is the cost of underestimating?
16
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?
17
Benefits of Accurate Estimates Improved status visibility Higher quality Better coordination with non-software functions Better budgeting Increased credibility for team Early risk information
18
Approaches to arriving at a number Count Compute Judge
19
Counting vs. Estimating Similarities: Differences:
20
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)
21
Things we want to estimate in software Cost Resources Revenue
22
Sources of uncertainty Inaccurate information about project Inaccurate information about ability of project team Too much chaos in project Inaccuracies in estimation process
23
Wideband Delphi 1.Estimators prepare initial estimates 2.The estimators meet with a coordinator to discuss estimation issues 3.Estimators give their estimates to the coordinator anonymously 4.The estimates are summarized on an iteration form 5.Estimators meet to discuss differences 6.Estimators vote to accept the average. If any votes “no”, return to step 2
24
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)
25
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
26
LOC, SLOC, KSLOC, MSLOC Lines of code Standard measure of size Often a measure of cost (i.e., time)
27
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.orgwww.ifpug.org
28
FP Rules: #FPs depends on: External Inputs External Outputs External Queries Internal Logical Files External Interface Files
29
FP Rules: Complexity Multipliers Low Complexity Medium Complexity High Complexity External Inputs 346 External Outputs 457 External Queries 346 Internal Logical Files 41015 External Interface Files 5710
30
LOC vs FP (Boehm 2000, Stutzke 2005) LanguageLOC per FP Ada50 C128 C#55 C++55 Java55 Assembly213 Perl20 VB32
31
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
32
COCOMO II
33
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
34
COCOMO II Objective cost model for planning and executing software projects. Concerned with: –Software Development Effort –Software Cost –Software Schedule Estimation
35
COCOMO II Model Definition Two Models to be concerned with: –Post-Architecture Model –Early Design Model
36
COCOMO II Model Definition Two Models to be concerned with: –Post-Architecture Model – –Early Design Model –
37
COCOMO II Variables Sizing Variables –Source Lines of Code (SLOC) –Unadjusted Function Points (UFP) Cost Drivers Scale Factors
38
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
39
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.
40
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
41
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.
42
Project Schedule
43
Effort Per Phase Schedule
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.