Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6

Similar presentations


Presentation on theme: "Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6"— Presentation transcript:

1 Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Barry Boehm CS 510, Fall 2016 Edited & presented by Jim Alstad

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

3 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= ( )=1.10 Estimated effort and cost Effort=2.94*100^1.10 = 466 PM Cost = 466 PM * $8K/PM = $3.728M

4 UST, Inc. Auto Parts Company (Cont.)
Plus Inception (6%) and Transition (12%) costs Acquisition Cost = $3.728M*1.18 = $4.4M Annual Maintenance Cost Annual Software Change = 100*(0.20) = 20 KSLOC Cost = 2.94*(20)^1.10*$8K=$635K Jim: Added “$3.728M”.

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 = ($80M)*(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 Jim: Added “$80M”.

6 Setting Project Budgets and Schedules
TDEV=3.67*(PM)^[ *(E-0.91)] = 3.67*(466)^0.318 = 26 month Construction phase schedule and effort Effort=0.76*(466 PM)=354 PM; Schedule=0.625*26=16.25 Month; Staff Level = 354/16.25=28.8 people Jim: Added “466 PM”. Jim: Replaced “Development” with “Construction”.

7 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 0.98 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 Jim: Explain “Maint. Effort Mult.” as combined cost of 1) developing at the required RELY level, and 2) dealing with extra debugging and bug fixing for lower-RELY software.

8 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) Avail= MTBF/(MTBF+MTTR) .50 .90 .997 0.9999 Downtime .10 .003 0.0001 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

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

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 personnel Average applications, platform experience ½-level lower Resulting cost = $4400K*(1.05)*(1.045)=$4828K Risk reserve = $428K Jim: “k” -> “K” throughout. “Platform” -> “platform”.

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 Assessment and assimilation AA =5% Equivalent new lines of code = 40k*[(0.4*40+0.3*50+0.3*100)/100+(5+50*1.0)/100] = 40k * ( ) = 46.4KSLOC Not a good decision to reuse Jim: “Adaptation of assessment” -> “Assessment and assimilation”

12 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 4KSLOC * [1+ (25*0.4)/100] = 4.4 KSLOC/year 3 years + development = 3* = 33.2 KSLOC Better to phase out and replace legacy SW

13 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 = = $2000K Benefit: scale exponent reduced by =.0156, to 1.10 – = From 100^1.10 = to 100^ = 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

14 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

15 COCOMO II Experience Factory: I
Rescope System objectives: fcn’y, perf., quality No Cost, Sched, Risks COCOMO 2.0 Ok? Yes Corporate parameters: tools, processes, reuse

16 COCOMO II Experience Factory: II
Rescope Execute project to next Milestone System objectives: fcn’y, perf., quality No Cost, Sched, Risks Revise Milestones, Plans, Resources COCOMO 2.0 Ok? Yes Corporate parameters: tools, processes, reuse M/S Results Milestone plans, resources No Ok? Milestone expectations Revised Expectations Yes Done? No Yes End

17 COCOMO II Experience Factory: III
Rescope Execute project to next Milestone System objectives: fcn’y, perf., quality No Cost, Sched, Risks Revise Milestones, Plans, Resources COCOMO 2.0 Ok? Yes Corporate parameters: tools, processes, reuse M/S Results Milestone plans, resources No Ok? Milestone expectations Revised Expectations Yes Accumulate COCOMO 2.0 calibration data Done? Recalibrate COCOMO 2.0 No Yes End

18 COCOMO II Experience Factory: IV
Rescope Execute project to next Milestone System objectives: fcn’y, perf., quality No Cost, Sched, Risks Revise Milestones, Plans, Resources COCOMO 2.0 Ok? Yes Corporate parameters: tools, processes, reuse M/S Results Milestone plans, resources No Ok? Improved Corporate Parameters Cost, Sched, Quality drivers Milestone expectations Revised Expectations Yes Evaluate Corporate SW Improvement Strategies Accumulate COCOMO 2.0 calibration data Done? Recalibrate COCOMO 2.0 No Yes End

19 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 Jim: 3 following slides, on homework assignment, deleted.


Download ppt "Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6"

Similar presentations


Ads by Google