PPT - Center for Software Engineering

advertisement
USC
C S E
University of Southern California
Center for Software Engineering
Using COCOMO for Software Decisions
- from COCOMO II Book, Section 2.6
Barry Boehm
CS 510, Fall 2014
Edited by Dogukan Duzguncinar
USC
University of Southern California
C S E
Center for Software Engineering
Outline
• COCOMO II Objective: Decision Support
• Example Company: UST, Inc. Auto Parts
• Frequent Software Decisions
–
–
–
–
–
–
–
Investment; Business Case Analysis
Setting Project Budgets and Schedules
Performing Tradeoff Analysis
Cost Risk Management
Development vs. Reuse
Legacy Software Phaseout
Software Process Improvement
• Software Organizational Decisions
• Conclusions
2
USC
C S E
University of Southern California
Center for Software Engineering
UST, Inc. Auto Parts Company
• Large manufacturing company
– 200-person software organization
• Considering development of
manufacturing control system (MCS)
– 100 KSLOC; nominal driver ratings; $8K/PM
• Scaling exponent
E=0.91+0.01(3.72+3.04+4.24+3.29+4.68)=1.10
• Estimated effort and cost
Effort=2.94*100^1.10 = 466 PM
Cost = 466 PM * $8K/PM = $3.728M
3
USC
C S E
University of Southern California
Center for Software Engineering
UST, Inc. Auto Parts Company (Cont.)
• Plus Inception (6%) and Transition (12%)
costs
– Acquisition Cost = $3.728*1.18 = $4.4M
• Annual Maintenance Cost
Annual Software Change = 100*(0.20) = 20 KSLOC
Cost = 2.94*(20)^1.10*$8K=$635K
4
USC
C S E
University of Southern California
Center for Software Engineering
MCS Business Case Analysis
• MCS estimate to reduce manufacturing inventory 20%
– Enables more just-in-time arrival of suppliers components
• Current Manufacturing inventory valued at $80M
• Inventory carrying costs average around 25%
– Inventory control, property taxes, capital costs, etc.
• MCS savings in reduced inventory carrying costs
= ($80)*(0.25)*(0.2)=$4M/Year
• MCS savings subtracts software maintenance cost
=$4M-0.635M=$3.365M
• 5-year-ROI = (5 * $3.365M - $4.4M) / $4.4M = 2.8
– Well worth the investment
5
USC
C S E
University of Southern California
Center for Software Engineering
Setting Project Budgets and Schedules
• Schedule
TDEV=3.67*(PM)^[0.28+0.2*(E-0.91)] =
3.67*(466)^0.318 = 26 month
• Development phase schedule and effort
– Effort=0.76*(466)=354 PM;
Schedule=0.625*26=16.25 Month;
– Staff Level = 354/16.25=28.8 people
6
USC
C S E
University of Southern California
Center for Software Engineering
Performing Tradeoff Analysis
MCS Life-cycle Costs vs. Reliability Level
RELY Rating
Very
Low
Low
Nominal
High
Very
High
Dev. Effort Mult.
0.82
0.92
1.0
1.10
1.26
Dev. Cost ($K)
3608
4048
4400
4940
5544
Maint. Effort Mult.
1.35
1.15
1.0
0.98
1.10
Maint. Cost
(*2 for Nominal:
20%/year * 10 years)
11,880
10,120
8,800
8,624
9,680
Life-cycle Cost
15,488
14,168
13,200
13,464
15,224
7
USC
C S E
University of Southern California
Center for Software Engineering
Value-Based Tradeoff Analysis
Cost of Downtime = $38K*(Downtime)
RELY Rating
Very
Low
Low
Nominal High
Very
High
Mean Time to Failure
(hr)
1
10
300
10,000
300,000
Mean Time to Repair
(hr)
1
1
1
1
1
Avail=
MTBF/(MTBF+MTTR)
.50
.90
.997
0.9999
0.999997
Downtime
.50
.10
.003
0.0001
0.000003
Cost=$38K*Downtime
$1660M
$330M
$10M
$0.33M
$0.01M
SW Life-cycle Cost
$15.5M
$14.2M
$13.2M
$13.5M
$15.2M
Ownership Cost
$1675.5M
$344.2M
$23.2M
$13.8M
$15.2M
8
USC
University of Southern California
C S E
Center for Software Engineering
Outline
• COCOMO II Objective: Decision Support
• Example Company: UST, Inc. Auto Parts
• Frequent Software Decisions
–
–
–
–
–
–
–
Investment; Business Case Analysis
Setting Project Budgets and Schedules
Performing Tradeoff Analysis
Cost Risk Management
Development vs. Reuse
Legacy Software Phaseout
Software Process Improvement
• Software Organizational Decisions
• Conclusions
9
USC
C S E
University of Southern California
Center for Software Engineering
Cost Risk Management
• Risk reserve for requirement volatility
– Estimate as high as 15%
– Resulting cost = 2.94*(100+15)^1.10*($8k)=$5130k
– Risk reserve = $5130k – 4400k = $730k
• Risk reserve for less experienced personnel
– Average applications, Platform experience ½-level lower
– Resulting cost = $4400k*(1.05)*(1.045)=$4828k
– Risk reserve = $428k
10
USC
C S E
University of Southern California
Center for Software Engineering
Development vs. Reuse
• Possibility of reusing a 40 KSLOC component
• Reuse parameters not a strong match
–
–
–
–
–
–
% design modified DM=40
% code modified CM=50
% integration redone IM=100
Understanding penalty SU=50
SW unfamiliarity UMFM=1.0
Adaptation of assessment AA =5%
• Equivalent new lines of code =
40k*[(0.4*40+0.3*50+0.3*100)/100+(5+50*1.0)/100]
= 40k * (0.61 + 0.55) = 46.4KSLOC
• Not a good decision to reuse
11
USC
C S E
University of Southern California
Center for Software Engineering
Legacy Software Phaseout
• Candidate: Corporate property accounting system
– 50K COBOL program; 20% annual change (10K)
– SU = 50: poorly structured, documented
– UNFM = 0.7: few people familiar with code
• Equivalent annual maintenance size =
10KSLOC * [1 + (50*0.7)/100] = 13.5 KSLOC/year
3 years: 40.5K SLOC
• Replacement could use MCS GUI, DBMS
– Only 20 KSLOC of new software needed; 20% annual
change (4KSLOC)
– SU = 25: better structured, documented
– UNFM = 0.4: New developers familiar with the code
• Equivalent annual maintenance size =
4KSLOC * [1+ (25*0.4)/100] = 4.4 KSLOC/year
3 years + development = 3*4.4+20 = 33.2 KSLOC
– Better to phase out and replace legacy SW
12
USC
C S E
University of Southern California
Center for Software Engineering
Software Process Improvement
• UST currently at Process maturity Level 2
– Planning & control, config. Management, quality assurance
• Cost to achieve level 3 (process group, training, product
engr.)
– Process group: (2yr)*(4 persons)*($96K/yr) = $768K
– Training: (200 persons)*(3weeks)*($96K/yr) = $1108K
– Contingency = $124K; Total = 768+1108+124 = $2000K
• Benefit: scale exponent reduced by .0468-.0312=.0156,
to 1.10 – 0.0156 = 1.0844
– From 100^1.10 = 158.5 to 100^1.0844 = 147.5, or 7% less effort
– Annual savings = (200 persons)*(96K/yr)(.07)=$1344K
• 5 year ROI = [5*$1344K-$2000K]/$2000K = 2.36
– Again, well worth the investment
13
USC
C S E
University of Southern California
Center for Software Engineering
Outline
• COCOMO II Objective: Decision Support
• Example Company: UST, Inc. Auto Parts
• Frequent Software Decisions
–
–
–
–
–
–
–
Investment; Business Case Analysis
Setting Project Budgets and Schedules
Performing Tradeoff Analysis
Cost Risk Management
Development vs. Reuse
Legacy Software Phaseout
Software Process Improvement
• Software Organizational Decisions
• Conclusions
14
USC
C S E
University of Southern California
Center for Software Engineering
COCOMO II Experience Factory: I
Rescope
No
System objectives:
fcn’y, perf., quality
COCOMO 2.0
Cost,
Sched,
Risks
Yes
Ok?
Corporate parameters:
tools, processes, reuse
15
USC
C S E
University of Southern California
Center for Software Engineering
COCOMO II Experience Factory: II
Rescope
No
System objectives:
fcn’y, perf., quality
COCOMO 2.0
Corporate parameters:
tools, processes, reuse
Cost,
Sched,
Risks
Yes
Execute
project
to next
Milestone
Ok?
M/S
Results
Milestone plans,
resources
Revise
Milestones,
Plans,
Resources
No
Ok?
Milestone expectations
Revised
Expectations
Yes
Done?
No
Yes
End
16
USC
C S E
University of Southern California
Center for Software Engineering
COCOMO II Experience Factory: III
Rescope
No
System objectives:
fcn’y, perf., quality
COCOMO 2.0
Corporate parameters:
tools, processes, reuse
Cost,
Sched,
Risks
Yes
Execute
project
to next
Milestone
Ok?
M/S
Results
Milestone plans,
resources
No
Ok?
Milestone expectations
Revised
Expectations
Yes
Recalibrate
COCOMO 2.0
Accumulate
COCOMO 2.0
calibration
data
Revise
Milestones,
Plans,
Resources
Done?
No
Yes
End
17
USC
C S E
University of Southern California
Center for Software Engineering
COCOMO II Experience Factory: IV
Rescope
No
System objectives:
fcn’y, perf., quality
COCOMO 2.0
Corporate parameters:
tools, processes, reuse
Improved
Corporate
Parameters
Evaluate
Corporate
SW
Improvement
Strategies
Cost,
Sched,
Risks
Yes
Execute
project
to next
Milestone
Ok?
M/S
Results
Milestone plans,
resources
Cost, Sched,
Quality drivers
No
Ok?
Milestone expectations
Revised
Expectations
Yes
Recalibrate
COCOMO 2.0
Accumulate
COCOMO 2.0
calibration
data
Revise
Milestones,
Plans,
Resources
Done?
No
Yes
End
18
USC
C S E
University of Southern California
Center for Software Engineering
Conclusions
• COCOMO II is useful in many decision situations
– Supports objective discussion and negotiation
• Most analyses can be done with hand calculator
– Simpler, easier to explain
• Usage builds shared understanding and trust
19
USC
C S E
University of Southern California
Center for Software Engineering
Homework 4
30 points. Due noon Monday, September 22
• With respect to the Software Process Improvement ROI
analysis in chart 13, suppose that UST,Inc. has achieved its
Process Maturity Level 3 (PMAT = High). UST now proposes
a further 3-year, $3000K effort to reach Process Maturity
Level 5 (PMAT = eXtra High).
• Compute the corresponding reduced scale exponent beyond
the PMAT=High exponent of 1.0844, the percent effort
reduction for 100-KSLOC projects in going from Level 3 to
Level 5, the resulting further annual savings, and the 5-year
ROI for the $3000K investment.
20
Download