On Representing Uncertainty in COCOMO® Parameter Values

advertisement
On Representing Uncertainty In Some
COCOMO Model Family Parameters
October 27, 2004
John Gaffney
j.gaffney@lmco.com
301-240-7038
Fellow, Software & Systems Resource Center,
Lockheed Martin
Background
• Uncertainties should be recognized in estimates of effort/cost,
schedule, and other measures of interest in software and systems
development.
• Managers and technical personnel need to make tradeoffs and
decisions under uncertainty through the effective assessment and
evaluation of risks.
• All too often, “the” value is presented, unaccompanied by any
statement of the degree of uncertainty in that value.
– Program managers and others involved in developing estimates for
proposals should be able to quantify the degree of uncertainty in the
estimates that they produce.
– Estimating cost, schedule, and other product or process variables as single
numbers fails to provide decision makers with information sufficient to
make good bidding and other decisions.
• Suggestion: Develop estimate of RISK for the value of the parameter
of interest (e.g., COSYSMO size drivers, development effort)
– Risk: A measure of the probability of an undesirable situation.
(c) Copyright, Lockheed Martin
Corporation, 2004
2
Overview
•
•
A method, prototype tools, and example applications are presented for
explicitly dealing with and quantifying uncertainty in the values of various
parameters used in COSYSMO and COCOMO II. They should be usable in
other members of the COCOMO family of estimation models as well.
The uncertainty is defined in terms of an empirical probability distribution for
the value of the parameter of interest and one minus its value or the
“risk.”Examples:
– Cost Risk= Probability that the target value for the cost (or effort) will be exceeded.
– Schedule Risk= Probability that the target value for the schedule (duration) will be
exceeded.
•
•
In general, if higher values (such as a prospective cost, or cost driver) are less
desirable, then the risk is the probability that the target value will be exceeded.
However, if higher values are more desirable (such as Mean-Time-BetweenFailures), then the risk is the probability that the actual value will be less than
the target value.
The Pearson-Tukey three-point approximation is used for estimating the
probability distribution for each parameter whose variation is represented. The
three points use values at the (estimated) 5%,50%, and 95% fractiles.
– Values obtained by expert opinion, experience data, or a combination of them; base
on an assessment of impact of “risk factors.”
(c) Copyright, Lockheed Martin
Corporation, 2004
3
COSYSMO Size Driver Prototype
• Excel-based prototype tool.
• Provides cumulative probability and risk distributions for
COSYSMO size,S.
• S=Σ(wi*si); i=1,2,3,4 . The wi are weights for “easy,”
“normal,” and “difficult.” The Si, sizes, are: # of system
requirements, # of system interfaces, # of operational
scenarios, and # of critical algorithms.
(c) Copyright, Lockheed Martin
Corporation, 2004
4
Example, Illustrative Application
of COSYSMO Prototype
(c) Copyright, Lockheed Martin
Corporation, 2004
5
13-Oct-04
PROTOTYPE COSYSMO SIZE DRIVER RISK ESTIMATOR TOOL
Place value in each box indicated in yellow.
DO NOT MAKE ENTRIES IN ANY OTHER CELLS.
Then, press cntrl+b to execute the tool and obtain the
size driver risk and cumulative probabilities
Risk Component
Number
Name
Most Likely Size=
Risk=
COSYSMO Size Driver Summary Statistics
Range Estimate Values
5% Low er
Most Likely
95% Upper
Weight: Enter E, N,
or D only
1
# of System Requirements
100
200
350
N
2
# of Interfaces
135
250
350
N
3
# of Critical Algorithms
10
15
17
N
4
# of Operational Scenarios
20
25
30
N
(c) Copyright, Lockheed Martin
Corporation, 2004
Minim um Size=
1179
Risk=
99.88%
Most Likely Size=
1882
Risk=
43.48%
Maxim um Size=
2559
Risk=
0.00%
20% Risk Size=
2063
30% Risk Size=
2003
50% Risk Size=
1880
6
Risk (= Prob. That Actual Size
Driver Will Exceed Value Indicated
on X-Axis)
Size Driver Value Risk
100%
95%
90%
85%
80%
75%
70%
65%
60%
55%
50%
45%
40%
35%
30%
25%
20%
15%
10% Most Likely Size= 1882.1
5% Risk For Nom =
43.48%
0%
1000
1250
1500
1750
2000
2250
2500
Size Driver
(c) Copyright, Lockheed Martin
Corporation, 2004
7
Cumulative Probability of Size
Driver Value
Size Driver Cumulative Probability
100%
95%
90%
85%
80%
75%
70%
65%
60%
55%
50%
45%
40%
35%
30%
25%
20%
15%
10%
5%
0%
1000
1250
1500
1750
2000
2250
2500
Size Driver
(c) Copyright, Lockheed Martin
Corporation, 2004
8
COCOMO II “Risk” Prototype, page 1 of 2
• An excel-based prototype tool was developed to demonstrate the
concept of identifying the uncertainty in COCOMO II cost drivers and
in the values of three other parameters of the equation that estimates
person months (PM).
• The tool estimates two principal components::
– The range for the product of 4 cost driver values
– The range of values of person months, based on the uncertainties in the
cost driver product (D),the size (S), the size exponent (E), and the
multiplying constant (A): PM=A*SE*D.
• The tool illustrates the possible range of uncertainty for 4 Early Design
Model cost drivers, and for D, their product, which would include
other drivers in an actual case:
•
– RCPX: Product Reliability and Complexity
– PERS: Personnel Capability
– PREX: Personnel Experience
– FCIL: Facilities
The coverage of the prototype could be expanded to explicitly handle more
than 4 cost drivers and of course, other drivers could be chosen and a more
nearly complete risk assessment made.
(c) Copyright, Lockheed Martin
Corporation, 2004
9
COCOMO II “Risk” Prototype, page 2 of 2
• Range of values provided for Person Months, PM:
PM=A*(SE)*D
where: PM=Person Months, S=Size (KSLOC); E=exponent;
D=Product of Cost Drivers.
– Three-point distribution estimates provided for:A,S,E, and D (obtained
from the excel tool that develops the distribution of the product of 4
drivers.
– The two tool sheets are linked together.
• The Pearson-Tukey three-point approximation for each parameter (and
for each of the four cost drivers) is used.
– The three points use values at the (estimated) 5%,50%, and 95% fractiles.
– Values obtained by expert opinion, experience data, or combination.
(c) Copyright, Lockheed Martin
Corporation, 2004
10
Example, Illustrative Application
of COCOMO II Prototype
(c) Copyright, Lockheed Martin
Corporation, 2004
11
PROTOTYPE COCOMO COST DRIVER RISK ESTIMATOR
4-Oct-04
Place one "X" in each row to select the low er, the m ost likely, and Upper values covering the range of your
uncertainty in the value of each of the four cost drivers.
Then, press cntrl+a to execute the tool and obtain the risk curve and cum ulative probabilities for the product of
the values of these cost drivers.
DO NOT MAKE ENTRIES IN ANY CELLS EXCEPT THOSE INDICATED IN YELLOW.
Driver
Number
1
Values
Name
RCPX
XL
VL
L
N
H
VH
XH
0.49
0.6
0.83
1
1.33
1.91
2.72
Low er Value
x
1
Most Likely Value
x
1
Upper Value
2
PERS
x
2.12
1.62
Low er Value
1.26
1.00
0.83
x
1
x
1.59
Low er Value
1.33
1.12
1.00
0.87
1
0.74
1
x
1
Upper Value
FCIL
Low er Value
Most Likely Value
0.62
x
Most Likely Value
4
0.50
1
Upper Value
PREX
0.63
x
Most Likely Value
3
1
X
1.43
1.3
1.1
1.00
0.87
0.73
x
1
0.62
1
x
Upper Value
1
x
(c) Copyright, Lockheed Martin
Corporation, 2004
1
12
4-Oct-04
PROTOTYPE COCOMO II EFFORT RISK ESTIMATOR
Place value in each box in dicated in yellow.
DO NOT MAKE ENTRIES IN ANY OTHER CELLS.
Then, press cntrl+b to execute the tool and obtain the
person month risk and cumulative probabilities
Risk Component
Number
Range Estimate Values
Name
5% Low er
Most Likely
95% Upper
1
A
2.40
2.94
3.60
2
S
135.0
200.0
300.0
3
E
1.05
1.12
1.20
4
D
0.4520
1.1571
1.9100
Person Months,PM=A*S E*D; where: D, cost driver product,
is obtained from the other tool sheet.
(c) Copyright, Lockheed Martin
Corporation, 2004
13
Risk (=Prob. That Product of Cost
Driver Values Will Exceed
Indicated,X-Axis, Figure)
COCOMO II Cost Driver Product Value Risk
100%
95%
90%
85%
80%
75%
70%
65%
60%
55%
50%
45%
40%
35%
30%
25%
20%
15%
10%
5%
0%
0.00
0.50
1.00
1.50
2.00
2.50
3.00
3.50
Product of Cost Driver Values
(c) Copyright, Lockheed Martin
Corporation, 2004
14
Cumulative Probability of Product of
Cost Driver Values
COCOMO II Cost Driver Product Value Cumulative Probability
100%
95%
90%
85%
80%
75%
70%
65%
60%
55%
50%
45%
40%
35%
30%
25%
20%
15%
10%
5%
0%
0.00
0.50
1.00
1.50
2.00
2.50
3.00
3.50
Product of Cost Driver Values
(c) Copyright, Lockheed Martin
Corporation, 2004
15
Risk (= Prob. That Actual Person
Months Will Exceed Indicated, X-Axis,
Figure)
Person Months Value Risk
100%
95%
90%
85%
80%
75%
70%
65%
60%
55%
50%
45%
40%
35%
30%
25%
20%
15%
10%
5%
0%
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
Person Months
(c) Copyright, Lockheed Martin
Corporation, 2004
16
Cumulative Probability of Person
Months
Person Months Cumulative Probability
100%
95%
90%
85%
80%
75%
70%
65%
60%
55%
50%
45%
40%
35%
30%
25%
20%
15%
10%
5%
0%
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
Person Months
(c) Copyright, Lockheed Martin
Corporation, 2004
17
Some References
1.
2.
3.
4.
In Chapter 8, How To Estimate Software Cost, in The Software
Measurement Guidebook, by J. Gaffney, R. Cruickshank et al.,
Thomson Computer Press, 1995.
In the section, How to Estimate Software Project Schedules, by J.
Gaffney, in the book, Software Engineering Project Management,
edited by Richard Thayer, IEEE Computer Press, 1997.
Software Risk Metrics and Tool, by J. Ulvila, J. Gaffney, and J.
Chinnis, Metrics 2002, IEEE 8th International Symposium on
Software Metrics.
A Methodology and Implementation For Software System Cost and
Risk Estimation, by J. Gaffney, J. Bridel, and D. McGovern, 8th
PSM Users’ Group Conference, July, 2004.
(c) Copyright, Lockheed Martin
Corporation, 2004
18
Download