Using COCOMO® II for Software Decisions

Download Report

Transcript Using COCOMO® II for Software Decisions

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 2015
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
CS 510 Homework 3 Preparation
Due Wednesday, September 16
•Become familiar with EP-2: Chapter 2 of the
COCOMO II cost model book. Use Table 2.50
for the COCOMO II cost estimation
parameters.
•Become familiar with Sections 5.4, 6.6, and
7.6 of the ICSM book. These describe the
Medical First Responder System (MedFRS)
used as an example project using the ICSM.
20
USC
C S E
University of Southern California
Center for Software Engineering
CS 510 Homework 3 Assignment 1
•
•
•
•
•
•
•
•
•
The total software portion of the $2million budget for the initial operational
capability of the MedFRS system, excluding the deferred Electronic Health
Record (EHR) system, is $500K. To provide evidence of the feasibility of the
$500K budget, Table 7-3 proposes a prototype of the new integrated patientmonitoring systems and 4G communications on a single first-responder
vehicle and one level 1 trauma center.
3.1 (15 points). Perform a COCOMO II cost and schedule estimate for
developing the prototype, using the following additional parameters: a
prototype size estimate of 5 KSLOC and an average developer cost of $6K
per person-month. The COCOMO II parameter ratings are all Nominal
(round off the all-Nominal exponent to be 1.10) except for:
RELY: Low, since the prototype will not be operational.
CPLX: High; some complex cross-device and external interfaces
ACAP: High; prototype needs top talent
PCAP: High; prototype needs top talent
APEX: High; prototypers familiar with medical field
PLEX: Low; prototypers unfamiliar with new devices
21
USC
C S E
University of Southern California
Center for Software Engineering
CS 510 Homework 3 Assignment 2
•
•
•
•
•
•
•
•
3.2 (15 points). Assume that the prototype has been successful and has not
only provided evidence of feasibility of the approach, but also has
determined the likely size of the full development to be 22 KSLOC, and
provided evidence for stronger ratings for the system’s complexity CPLX
(now Nominal due to experience with the prototype) and the team’s added
platform experience PLEX (now High). For the full system, perform a
COCOMO II cost and schedule estimate, assuming that the average
developer cost is still $6K per person-month, and the COCOMO II parameter
ratings are all Nominal except for:
RELY: Very High, since the system needs to be safety-critical.
ACAP: High; system needs top talent
PCAP: High; system needs top talent
APEX: High; developers familiar with medical field
PLEX: High; developers now familiar with new devices
Does the total cost of prototype and development fit within the $500K
budget?
22