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

Slides:



Advertisements
Similar presentations
Software Cost Estimation
Advertisements

COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
Cocomo II Constructive Cost Model [Boehm] Sybren Deelstra.
University of Southern California Center for Software Engineering C S E USC Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5.
COSYSMO Reuse Extension 22 nd International Forum on COCOMO and Systems/Software Cost Modeling November 2, 2007 Ricardo ValerdiGan Wang Garry RoedlerJohn.
May 11, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #5 Tuesday, May 11, 2004.
Introduction Wilson Rosa, AFCAA CSSE Annual Research Review March 8, 2010.
Valuing System Flexibility via Total Ownership Cost Analysis Barry Boehm, JoAnn Lane, USC Ray Madachy, NPS NDIA Systems Engineering Conference October.
© USC-CSE1 Determine How Much Dependability is Enough: A Value-Based Approach LiGuo Huang, Barry Boehm University of Southern California.
University of Southern California Center for Systems and Software Engineering © 2009, USC-CSSE 1 Reuse and Maintenance Estimation Vu Nguyen March 17, 2009.
Measuring Dollar Savings from Software Process Improvement with COCOMO II Betsy Clark Software Metrics Inc. October 25, 2001 Acknowledgment: This presentation.
COSYSMO Reuse Extension COSYSMO Workshop – USC CSSE Annual Research Review March 17, 2008 Ricardo ValerdiGan Wang Garry RoedlerJohn Rieff Jared Fortune.
April 27, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #3 Tuesday, April 27, 2004.
Chapter 23 – Project planning Part 2. Estimation techniques  Organizations need to make software effort and cost estimates. There are two types of technique.
Cost Management Week 6-7 Learning Objectives
Information System Economics Software Project Cost Estimation.
COCOMO-SCORM: Cost Estimation for SCORM Course Development
By K Gopal Reddy.  Metrics in software are of two types.direct and indirect.  Function points as indirect metrics.  Function points are used to measure.
University of Southern California Center for Systems and Software Engineering Cost Estimation with COCOMO II Barry Boehm CS 510, Fall 2015 v3: Slide 10.
University of Southern California Center for Software Engineering C S E USC Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6 Barry.
University of Southern California Center for Software Engineering C S E USC Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6 Barry.
Software Project Planning Part II. Troutman's Postulates Profanity is the one language understood by all programmers. Not until a program has been in.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 2.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
The COCOMO model An empirical model based on project experience. Well-documented, ‘independent’ model which is not tied to a specific software vendor.
Copyright © , Dennis J. Frailey, All Rights Reserved Day 2, Part 1, Page 1 1/11/2004 Day 2, Part 1 Estimating Software Size Section 2 Calculating.
1 COCOMO II Estimation Example: Transaction Processing System (TPS) II Based on Chapter 3 of COCOMO II book Used for new microeconomics examples –Replaces.
Fundamentals of Software Engineering Economics (I)
1 Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6, 6.5 LiGuo Huang Computer Science and Engineering Southern Methodist University.
(8) Potential required for planning with management Top-Down Estimating Method: Top-down estimating method is also called Macro Model. Using it, estimation.
COCOMO Software Cost Estimating Model Lab 4 Demonstrator : Bandar Al Khalil.
THE FAMU-CIS ALUMNI SYSTEM
Project Cost Management
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION
CS 510, Fall 2017 Edited & presented by Jim Alstad
Software cost estimation
Managing the System PPT SOURCE : Shari L. Pfleeger Joann M. Atlee.
Metrics and Terms SLOC (source lines of code)
Cost Estimation with COCOMO II
Tutorial: Software Cost Estimation Tools – COCOMO II and COCOTS
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION
SLOC and Size Reporting
Cost Estimation with COCOMO II
COCOMO Model Basic.
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Software Decision Analysis Techniques Chapters in Software Engineering Economics Updated to MedFRS Economics – The study of how people make decisions.
Cost Estimation with COCOMO II
Cost Estimation with COCOMO II
Multiple Goal Decision Analysis I
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
CS 510, Fall 2017 Edited & presented by Jim Alstad
Cost Estimation with COCOMO II
COCOMO 2 COCOMO 81 was developed with the assumption that a waterfall process would be used and that all software would be developed from scratch. Since.
Cost Estimation with COCOMO II
Cost Estimation with COCOMO II
Chapter 8 Software Evolution.
Multiple Goal Decision Analysis I Chapters in SEE Updated to MedFRS
Ramin Moazeni Winsor Brown Barry Boehm
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Multi-Build Software Cost Estimation Using COINCOMO
Center for Software and Systems Engineering,
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6
Using COCOMO for Software Decisions - from COCOMO II Book, Section 2
Midterm 1 Content Q&A - COCOMO-Related Questions -- ICSM-Related Questions Barry Boehm CS 510, Fall 2014.
Software Decision Analysis Techniques Chapters in Software Engineering Economics Economics – The study of how people make decisions in resource-limited.
Presentation transcript:

Using COCOMO for Software Decisions - from COCOMO II Book, Section 2.6 Barry Boehm CS 510, Fall 2017 Including MedFRS decision anaysis

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 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

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”.

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”.

MedFRS TPS Context Current Ensayo processing capacity less than needed in crises Top performance less than 1000 transactions/second (tr/sec) Need 2000 tr/sec soon Need growth to 4000 tr/sec COTS server capability can provide over 2000 tr/sec, but mostly for business applications And can’t achieve 4000 tr/sec MedFRS considering developing or outsourcing its own server software

MedFRS TPS Architecture - variant on SWEngrEcon book architecture … … … … … … … FRS Devices … … … MedFRS communications hub vehicles (CHVs) Ensayo Regional Server … Area Concentrators 1 N Medical DB DB Server Patient DB

TPS Decision 2 Which Operating System? Option A (Accept Available OS) B (Build New OS) Cost ($k) 450 + 40N 1007 + 20N Multiprocessor overhead factor M O/H = M(N-1) 80 40 Option B: N(1000-200-40(N-1)) E(N) = = 840N-40N2 1.0 = 40N(21-N) For N = 10, E(N) = 40(10)(11) = 4400

Cost-Effectiveness Comparison: TPS Options A, B 5000 Option B E(N) = 40N(21 – N) C(N) = 1007 + 20N 4000 3000 2000 1000 450 650 1207 500 1000 1500 Cost C, $K

Maximum Effectiveness-Cost Difference 1000 2000 3000 4000 5000 500 1500 2400 1750 650 1207 3193 4400 B-Build new OS A-Accept available OS Cost C, $K Throughput E(TR/sec)

Return on Investment ROI assuming E = $1K/tr/sec Cost C ($K) 1 2 3 4 5 500 1000 1500 2.67 2.60 A B

Setting Project Budgets and Schedules TDEV=3.67*(PM)^[0.28+0.2*(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”.

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.

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 0.999997 Downtime .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

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)*1.18=$5130K (Factor of 1.18 includes Inception & Transition) 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”. Jim v2: Corrected upper “Resulting cost” calculation by adding “* 1.18” and explanation.

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 * (0.61 + 0.55) = 46.4KSLOC Not a good decision to reuse Jim: “Adaptation of assessment” -> “Assessment and assimilation”

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*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, 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

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

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

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

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

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

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.