using cocomo for software decisions - from cocomo ii book, section 2.6, 6.5
DESCRIPTION
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5. Marilee Wheaton Csci 510. Outline. COCOMO II Objective: Decision Support Example Company: UST, Inc. Auto Parts Frequent Software Decisions Investment; Business Case Analysis Setting Project Budgets and Schedules - PowerPoint PPT PresentationTRANSCRIPT
University of Southern CaliforniaCenter for Software Engineering C S E
USC
Using COCOMO for Software Decisions
- from COCOMO II Book, Section 2.6, 6.5
Marilee Wheaton
Csci 510
University of Southern CaliforniaCenter for Software Engineering C S E
USC
2
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
University of Southern CaliforniaCenter for Software Engineering C S E
USC
3
UST, Inc. Auto Parts Company
• Large manufacturing company– 200-person software organization
• Considering development of manufacturing control system (MCS)– 100 KSLOC; nominal drivers 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
University of Southern CaliforniaCenter for Software Engineering C S E
USC
4
UST, Inc. Auto Parts Company (Cont.)
• Plus Inception (6%) and Transition (12%) costs– Acquisition Cost = $3.728*1.18 = $4.4M
• Annual Maintenance CostAnnual Software Change = 100*(0.20) = 20KSLOC
Cost = 2.94*(20)^1.10*$8K=$635K
University of Southern CaliforniaCenter for Software Engineering C S E
USC
5
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 = 3.8– Well worth the investment
University of Southern CaliforniaCenter for Software Engineering C S E
USC
6
Setting Project Budget and Schedules
• Schedule
TDEV=3.67*(PM)^[0.28+0.2*(E-0.91)] = 3.67*(466)^0.318 = 26 month
• Constructive phase schedule and effort (Table A.5)– Effort=0.76*(466)=354 PM;
Schedule=0.625*26=16.25 Month;– Staff Level = 354/16.25=28.8 people
• Staff needed for construction activities (Table A, 11)– Requirements = 21.8*0.08=1.7 people– Product Design =21.8*0.16=3.5 people
University of Southern CaliforniaCenter for Software Engineering C S E
USC
7
Performing Tradeoff AnalysisMCS 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)
11,880 10,120 8,800 8,624 9,680
Life-cycle Cost 15,488 14,168 13,200 13,464 15,224
University of Southern CaliforniaCenter for Software Engineering C S E
USC
8
Value-Based Tradeoff AnalysisCost of Downtime = $38*(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=$38*Downtime $1500M $300M $10M $0.3M $0.01M
SW Life-cycle Cost $15.5M $14.2M $13.2M $13.5M $15.2M
Ownership Cost $1515M $314M $23.2M $13.8M $15.2M
University of Southern CaliforniaCenter for Software Engineering C S E
USC
9
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
University of Southern CaliforniaCenter for Software Engineering C S E
USC
10
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 personal– Average applications, Platform experience ½-level lower– Resulting cost = $4400k*(1.05)*(1.045)=$4828k– Risk reserve = $428k
University of Southern CaliforniaCenter for Software Engineering C S E
USC
11
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
University of Southern CaliforniaCenter for Software Engineering C S E
USC
12
Legacy Software Phaseout• Candidate: Corporate property accounting system
– 50K COBOL program; 20% annual charge (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/year3 years: 40.5K SLOC
• Replacement could use MCS GUI, DBMS– Only 20 KSLOC of new software needed– SU = 25: better structured, documented– UNFM = 0.4: New developers familiar with the code
• Equivalent annual maintenance size =20KSLOC * [1+ (25*0.4)/100] = 4.4 KSLOC/year3 years + development = 3*4.4+20 = 33.2 KSLOC– Better to phase out and replace legacy SW
University of Southern CaliforniaCenter for Software Engineering C S E
USC
13
Software Process Improvement• UST currently at Process maturity Level 2
– Planning & control, config. Management, guality assurance
• Cost to achieve level 3 (process group, training, product engr.)– Process group: (2yr)*(4 persons)*($96K/yr) = $768K– Training: (200 persons)*(3weeks)*($96K/Ω) = $1108K– Contingency = $124K; Total = 268+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
University of Southern CaliforniaCenter for Software Engineering C S E
USC
14
Conclusions
• COCOMO II is useful in many decision situations– Support objective discussion and negotiation
• Most analysis can be done with hand calculator– Simpler, easier to explain
• Usage builds shared understanding and trust