140 likes | 345 Views
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
E N D
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 • Performing Tradeoff Analysis • Cost Risk Management • Development vs. Reuse • Legacy Software Phaseout • Software Process Improvement • Software Organizational Decisions • Conclusions
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
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) = 20KSLOC Cost = 2.94*(20)^1.10*$8K=$635K
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
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
Performing Tradeoff AnalysisMCS Life-cycle Costs vs. Reliability Level
Value-Based Tradeoff AnalysisCost of Downtime = $38*(Downtime)
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
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
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
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/year 3 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/year 3 years + development = 3*4.4+20 = 33.2 KSLOC • Better to phase out and replace legacy SW
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
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