The COCOMO II Estimating Model Suite Barry Boehm, Chris Abts, Jongmoon Baik, Winsor Brown, Sunita Chulani, Cyrus Fakharzadeh, Ellis Horowitz and Donald Reifer Center for Software Engineering University of Southern California Abstract: The Center for Software Engineering at the University of Southern California is researching the issues that impact the way industry will estimate costs during the next millennium. The results of this research are being used to develop the following standalone models which eventually will be integrated into and become part of the COCOMO II estimating model suite:! COCOTS (COstructive COTS) - The Center is actively researching estimating issues associated with using commercial off-the-shelf (COTS) software. Such costs include those associated with evaluating candidate packages, tailoring the packages so they can be used productively, developing glue code to bind these packages into an application and integrating and testing the completed system.! COQUALMO (COnstructive QUALity MOdel) The Center is also researching the issues associated with tradeoffs between cost, schedule and quality. Such tradeoffs are being represented as a function of software defect introduction and removal phenomena. Balance between the latent defect rates and the desire to ship must be accommodated.! CORADMO (COnstructive Rapid Application Development MOdel) In addition, the Center is investigating techniques that can be used to reduce software development cycle time. Five classes of strategies whose implementation can dramatically impact schedule time (and related costs) have been identified. These strategies revolve around more than just adding people to the effort.! COSSEMO (COnstructive Staged Schedule and Effort MOdel) The Center is also looking at the issues associated with how costs are distributed when different paradigms are used to develop software. Rollup of parallel builds and the impact of different ways of staging the development are being examined.! COPROMO (COnstructive PROductivity improvement Model) Finally, the Center is researching ways to use models to determine optimal investment strategies. Such models determine the return on investment by calculating the productivity increases associated with the use of new technologies. This paper will summarize each of these research areas and could act as an opener for a session on software estimating. The focus of this presentation will be on how each of these efforts addresses issues that software managers will face as they develop software estimates during the next decade.
Biography - Donald J. Reifer Donald J. Reifer is one of the leading figures in the fields of software engineering and management with over 30 years of progressive experience in both industry and government. From 1993 to 1995, Reifer managed the DoD Software Initiatives Office under an Intergovernmental Personnel Act (IPA) assignment with the Defense Information Systems Agency (DISA). As part of this assignment, he acted as Director of the DoD Software Reuse Initiative and Chief of the Ada Joint Program Office. Previously with TRW, Reifer served as the Deputy Program Manager for their Global Positioning Satellite efforts. While with the Aerospace Corporation, he managed all of the software efforts for the Space Transportation System (Space Shuttle). Currently, as President of Reifer Consultants, Inc., Reifer advises executives in Fortune 500 companies in the areas of software investment and improvement strategies. Reifer is known for both his business and practical problem solving skills. He is also the father of the SoftCost family of software cost estimating models. For the past 20 years, Reifer has been a successful software entrepreneur, consultant, teacher and author. He has published over 100 papers and 5 books including his popular IEEE Software Management Tutorial (5th Edition) and his newest text Practical Software Reuse. Reifer is a senior member of the IEEE, an Advisory Editor of the Journal of Systems and Software and a visiting associate at the University of Southern California. Reifer s many honors and awards include the Secretary of Defense s Medal for Outstanding Public Service, the NASA Exceptional Service Medal, the DISA Recognition Award, the Frieman Award, the DMA Recognition Award, membership in Who s Who, the Hughes Aircraft Company fellowship and membership in the Eta Kappa Nu, Omicron Delta Kappa and Alpha Sigma Mu honorary societies. Donald J. Reifer President and Chief Technical Officer Reifer Consultants, Inc. Voice: 310-530-4493 P.O. Box 4046 Fax: 310-530-4297 Torrance, CA 90510-4046 Email: d.reifer@ieee.org
USC C S E University of Southern California Center for Software Engineering THE COCOMO II ESTIMATING MODEL SUITE B. Boehm, C. Abts, J. Baik, W. Brown, S. Chulani, C. Fakharzadeh, E. Horowitz and D. Reifer Center for Software Engineering University of Southern California 4/05/99 (c) 1999 USC-CSE 1
PURPOSE OF PRESENTATION Provide you with an overview of the research underway at USC in the area of cost estimation Focus on issues being examined and results Highlight the COCOMO model suite Discuss what we ve learned and how it will influence estimating techniques in the future Solicit your help in collecting data to further refine the model suite we are building 4/05/99 (c) 1999 USC-CSE 2
A LITTLE ABOUT USC/CSE Center is a recognized national resource Center researches issues that its affiliates deem are important to them Cost and process modeling Architecture Knowledge management Center conducts focused workshops Affiliates (26) include: Boeing EDS FAA Litton Lucent Technologies Northrop Grumman TRW U.S. Air Force Eighteen others 4/05/99 (c) 1999 USC-CSE 3
SOME BACKGROUND ON COCOMO II Update to the popular COCOMO model Addresses tomorrow s issues today Calibrated using expert opinion and project data; none over 5 years old Model is public domain Developed openly and published widely Major enhancements incorporated into model Support new paradigms Tuned to current issues and experiences Refreshed periodically & continuously improved Public package available from USC http://sunset.usc.edu/ 4/05/99 (c) 1999 USC-CSE 4
MORE BACKGROUND COCOMO II is copyrighted by USC/CSE But, anyone can develop, use or commercialize their own tools based upon the openly available model definitions and parameters Currently, a fully compliant COSTAR version of COCOMO II is available Other packages are reportedly being developed In addition, a COCOMO II book containing a CD will be published at the end of this year 4/05/99 (c) 1999 USC-CSE 5
MAJOR MODEL CHANGES Three models instead of one Application Composition Early Design Post-Architecture Three modes replaced by five scale factors Sizing via object points, function points and SLOC s (not DSI) Effort multipliers changed LEXP, MODP, TURN, VIRT & VEXP replaced DOCU, LTEX, PCON, PEXP, PVOL, RUSE & SITE added ACAP, AEXP, CPLX, PCAP & TOOL updated Requirements volatility replaced by Breakage 4/05/99 (c) 1999 USC-CSE 6
MODELS VERSUS PACKAGES Models Mathematical Represent some realworld process Estimate resources via: Past experience Expert judgement Statistical projection Accuracy of estimates depends on calibration Packages Software which mechanizes models Hide the mathematics and underlying details Make models easy to use and manipulate Typically integrate several models so they work together 4/05/99 (c) 1999 USC-CSE 7
THE USC COCOMO II ESTIMATING PACKAGE Sizing Models Reuse Models Risk and Tradeoff Models COCOMO II Calibration Models Scheduling and Allocation Models 4/05/99 (c) 1999 USC-CSE 8
WE CONTINUE TO SHOOT AT A MOVING TARGET New process models 10X Quality Need for improved accuracy CAIV Emphasis on improvement COTS/GOTS/ROTS New tools and languages 4/05/99 (c) 1999 USC-CSE 9
ESTIMATING ISSUES - SIZING COCOMO II model has been criticized by FP community because it is SLOC based Backfires FP s to develop SLOC estimates used to drive the model While each camp has valid arguments, both metrics seem to work in practice Irresponsible to criticize SLOC s when FP s have many known problems (don t throw stones) 4/05/99 (c) 1999 USC-CSE 10
ESTIMATING ISSUES - CALIBRATION Accuracy of the model is a function of calibration The more good data, the better COCOMO II originally calibrated via Delphi exercise Calibration refined using regression techniques Moved to Bayesian approach and plan to update calibration every 2 years 4/05/99 (c) 1999 USC-CSE 11
THE 1999 CALIBRATION Nominal person-months = A*(SIZE)**B B = 0.91 + 0.01Γ (exponent driver ratings) B ranges from 0.91 to 1.23 Five drivers; ratings from 0.00 to 7.07 Exponent drivers: Precedentedness - Process maturity Development flexibility - Team cohesion Architecture/risk resolution 4/05/99 (c) 1999 USC-CSE 12
CALIBRATION RESULTS COCOMO 81 Basic version (no cost drivers): within 30% of actual costs, 29% of the time Intermediate version: within 20% of actual costs, 68% of the time COCOMO II.1997 Before stratification: within 20% of actual costs, 46% of the time After stratification: within 20% of actual costs, 49% of the time 4/05/99 (c) 1999 USC-CSE 13
MORE ON ACCURACY Provisional COCOMO II.1999 calibration uses a Bayesian mathematical formulation COCOMO II.1999 Before stratification: within 20% of actual costs, 63% of the time After stratification: within 20% of actual costs, 70% of the time Dramatic improvement results & both experts and project data are taken into account 4/05/99 (c) 1999 USC-CSE 14
ESTIMATING ISSUES - UPWARD COMPATIBILITY Many thousands of project files exist for COCOMO 81 COCOMO II needs to be sensitive to past user needs Several multipliers retained for that purpose File conversion not always a simple task Published Rosetta Stone in CrossTalk for that purpose 4/05/99 (c) 1999 USC-CSE 15
ESTIMATING ISSUES - REUSE COCOMO II addresses: Design for Reuse - adds a new effort multiplier, RUSE, which looks at degree of sharing across organizations Design with Reuse - uses a new nonlinear reuse model which looks at what it takes to understand and assimilate a new software asset by rating the following loading factors: SU - Software Understanding UNFM - Programmer unfamiliarity AA - assessment and assimilation 4/05/99 (c) 1999 USC-CSE 16
THE REUSE EQUATIONS ESLOC = ASLOC [AA + AAF(1 + 0.02(SU)(UNFM))] AAF < 0.5 100 ESLOC = ASLOC [AA + AAF + (SU)(UNFM)] AAF > 0.5 100 Where: AAF = 0.4 (DM) + 0.3 (CM) + 0.3 (IM) SU = Software Understanding (zero when DM = 0 & CM = 0) UNFM = Programmer Unfamiliarity AA = Assessment and Assimilation ASLOC = Adapted SLOC ESLOC = Equivalent new SLOC 4/05/99 (c) 1999 USC-CSE 17
ESTIMATING ISSUES -COTS COTS/GOTS/ROTS issues How do you best estimate the costs? To which variables is cost sensitive? How do you handle adaptation, glue code and wrappers? Many questions, few answers COCOTS - COnstructive COTS estimating model COTS research initially sponsored by the USAF and now by the FAA and DoD 4/05/99 (c) 1999 USC-CSE 18
COCOTS - A WORK IN PROGRESS Uses the SEI framework to separate concerns COTS-based versus COTS-intensive estimates Sums the costs across three activities Total Effort = Ε activities + Volatility Effects Assessment - function of no. of COTS candidates Tailoring - function of complexity of effort Glue code development and testing - put it together VE - adds effort to handle COTS volatility 4/05/99 (c) 1999 USC-CSE 19
ESTIMATING ISSUES - PROCESS MATURITY COCOMO II treats process maturity as a scale factor: Effort = AΑ EM i (Size) Γ SF In his thesis, Dr. Brad Clark shows a productivity gain of from 12 to 23% per CMM level jump based on 112 projects Current ratings (161 projects) show a 4 to 11% rise per level 4/05/99 (c) 1999 USC-CSE 20
ESTIMATING ISSUES - QUALITY TRADE-OFF S? Quality issues: How do defect introduction and removal approaches impact cost? What is the cost effectiveness of different defect removal techniques? Again, many questions raised, some answers forthcoming COQUALMO (COnstructive QUALity MOdel) Examine defect introduction and removal impacts on resources 4/05/99 (c) 1999 USC-CSE 21
COQUALMO - INITIAL RESULTS ARE PROMISING Determine the cost effectiveness via Delphi of the following techniques in defect removal Automated analysis techniques Peer reviews (of many varieties) Execution testing techniques and tools Look at the cost as a function of both defect introduction and removal pipelines Rate the COCOMO effort multipliers and collect data to validate projections 4/05/99 (c) 1999 USC-CSE 22
ESTIMATING ISSUES - RAD COCOMO allocations reflect the waterfall model Not reasonable for today s projects For commercial firms, modeling factors that impact time-to-market is more important than cost CORADMO (COnstructive Rapid Application Develop MOdel) looks at both the impacts of RAD and improving the classical COCOMO scheduling model 4/05/99 (c) 1999 USC-CSE 23
MORE ON THE RAD ISSUES Classic equation is of the form: 3 Months = B Person-Months Use of the formula typically results in schedule overestimates in small projects Other issues include: Rollup - Impact of compression Learning curves - Degree of parallelism 4/05/99 (c) 1999 USC-CSE 24
KEY CORADMO CONCEPTS Examine RAD Opportunity Tree tradeoffs Reduce time taken per task (more parallelism) Eliminate tasks (increase reuse/generation) Reduce backtracking (early error elimination) Look at RAD effort and schedule by stage taking into account the following five factors: Reuse, VHLL s (RVHL) - Collaboration (CLAB) Architecture/Risk (RESL) - Preposition Assets (PPOS) Development Process Reengineering (DPRS) 4/05/99 (c) 1999 USC-CSE 25
ESTIMATING ISSUES -TOOLS Definition of tool rating scheme needs to be clearer Can then assess impact or determine ROI New COCOMO tool rating scheme under development Completeness of activity coverage Degree of tool integration Tool maturity & user support 4/05/99 (c) 1999 USC-CSE 26
ESTIMATING ISSUES - PRODUCTIVITY IMPROVEMENT Asked to assess impact of KBSA by AFRL Used COCOMO II model and extensions to form a technology assessment framework Performed parametric analysis to determine the impact of several improvement strategies on cost/schedule based upon medium- and long-term trends 4/05/99 (c) 1999 USC-CSE 27
NET RESULT - COCOMO ESTIMATING MODEL SUITE Sizing Models Allocation Models Risk and Tradeoff Models Reuse Models COCOMO II Calibration Models COQUALMO COPROMO OTHERS COCOTS CORADMO Research topics 4/05/99 (c) 1999 USC-CSE 28
IN SUMMARY We ve provided you with an overview of the estimation-oriented research underway at USC Focus on issues being examined and results We ve discussed what we ve learned and how it will influence future estimating techniques Two more talks will be delivered by other members of the USC COCOMO II project team We ve hopefully entertained you and provided you something of substance to take home 4/05/99 (c) 1999 USC-CSE 29
IN CONCLUSION I m pleased that there still are many issues to work in the field of software estimating We at USC are trying to address them via the COCOMO model suite You can help us (and the community) by participating in our efforts and supplying us data, data and more data 4/05/99 (c) 1999 USC-CSE 30