COCOMO Suite Model Unification Tool Ray Madachy rjmadach@nps.edu 23rd International Forum on COCOMO and Systems/Software Cost Modeling October 27, 2008 Agenda • Introduction • Demonstration • References 10/27/08 2 Background • The COCOMO suite of models collectively estimate systems and software engineering effort and schedule, software defects, dependability return-on-investment, and productivity improvement. – Other special extensions also estimate program risk. • They are all primarily derived from the COCOMO II software cost estimation model and share some common inputs, algorithmic approaches, and output types. • However there are distinct differences and reconciling them for single program application is sometimes problematic. • A web-based tool is under development that unifies them in a single application to explore their interactions and refine the models. 10/27/08 3 Model Unification Goals • Allow more comprehensive cost exploration with respect to • Affiliate request: Provide a single unified tool to allow users to – Development decisions – Investment decisions – Established project budget and schedules – Client negotiations and requested changes – Cost, schedule, performance, and functionality tradeoffs – Risk management decisions – Process improvement decisions 10/27/08 – Specify • System and software components comprising the software system of interest • Composition and characteristics of components – Receive • A set of comprehensive outputs for system engineering, software development, and system-ofsystems integration • Adjusted using the appropriate special-purpose extensions 4 Model Unification Main Issues For each individual model as well as the unified model: 1. 2. 3. 4. 5. 6. 7. Objectives and strategies Inputs/scope of work Output/scope of estimate Assumptions of each model Stakeholders for each model Counting rules Data sources 10/27/08 5 COCOMO Suite Quantities Estimated Effort Effort by Phase Schedule COCOMO II X X X COQUALMO X Model X iDAVE Defects ROI Improvement Graphs X X COPLIMO X CORADMO X X COPROMO X X COCOTS X COSYSMO X COSOSIMO X X X X 6 Typical Model Usage Use… When scope of work to be performed is… COCOMO II Development of software components (software development) COCOTS Assessment, tailoring, and integration of COTS products COSYSMO Design, specification, and integration (system engineering) of system components to be separately developed for a single system COSOSIMO Specification, procurement, and integration of two or more separately systemengineered and developed systems COCOMO II with COCOTS Development of software components (software development), and a software system including assessment, tailoring and glue-code for integration of COTS COSYSMO and COCOMO II System engineering and software development for a single system with softwareintensive components COSYSMO and COSOSIMO System engineering of individual systems and integration of the multiple systems COCOMO II, COSYSMO, COCOTS, and COSOSIMO System engineering, software development, and integration of multiple softwareintensive systems and COTS products 10/27/08 7 Assumptions of Each Model Model Life Cycle Stages COCOMO II COCOTS COSYSMO COSOSIMO 10/27/08 8 Long Term Vision COSOSIMO COSYSMO Unified Interface COCOMOII/ COQUALMO COCOTS COCOMOII extensions •RAD, security •Incremental, phase/activity •Agile, risk, Monte Carlo •ROI (product line, dependability) •Maintenance Unified Model 10/27/08 9 Output Analysis and Report Generation COCOMO Suite Models in Current Tool COCOMO Suite COSYSMO System size Systems cost drivers Systems Effort Model COCOMO II Software size Software cost and defect introduction drivers Defect removal capability levels 10/27/08 Software Effort and Schedule Model COQUALMO Defect Introduction Model Defect Removal Model Systems engineering effort by phase/activity Integrated systems and software effort by phase/activity Software development effort and schedule by phase/activity Software defect levels by type 10 Agenda • Introduction • Demonstration • References 10/27/08 11 Demo • Demonstration of tool available at: http://csse.usc.edu/tools/COCOMOSuite.php 10/27/08 12 Agenda • Introduction • Demonstration • References 10/27/08 13 References • Abts C., “Extending The COCOMO II Software Cost Model To Estimate Effort And Schedule For Software Systems Using Commercial-off-the-shelf (COTS) Software Components: The COCOTS Model”, USC PhD dissertation, May 2004 • Boehm B., Abts C., Brown W., Chulani S., Clark B., Horowitz E., Madachy R., Reifer D., Steece B., Software Cost Estimation with COCOMO II, Prentice-Hall, 2000 • Boehm B., Valerdi R., Lane J., Brown W., “COCOMO Suite Methodology and Evolution”, Crosstalk, 2005 • Chulani S., Boehm B., “Modeling software defect introduction and removal: COQUALMO (COnstructive QUALity MOdel)”, University of Southern California Center for Software Engineering, USC-CSE Technical Report 99-510, 1999 • Lane J. “Constructive Cost Model for System-of-System Integration,” 3rd ACM-IEEE International Symposium on Empirical Software Engineering, Redondo Beach, CA, August, 2004 • Madachy R., “Heuristic Risk Assessment Using Cost Factors”, IEEE Software, May 1997 • Madachy R., Valerdi R., “Knowledge-Based Systems Engineering Risk Assessment”, University of Southern California Center for Systems and Software Engineering Technical Report, USC-CSSE2008-818, 2008 • Madachy R., Boehm B., “Assessing Quality Processes with ODC COQUALMO”, Proceedings of the 2008 International Conference on Software Process, Liepzig, Germany, 2008 • Madachy R., “COCOMO Suite”, CS510 Presentation, University of Southern California, September 2005 • Valerdi R., Systems Engineering Cost Estimation with COSYSMO, Wiley, 2009 • Yang Y., Boehm B., Madachy R., “COPLIMO: A Product-Line Investment Analysis Model, Proceedings of the Eighteenth International Forum on COCOMO and Software Cost Modeling”, 10/27/08 14 USC, Los Angeles, CA, October 2003