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