University of Southern California Center for Systems and Software Engineering COCOMO Suite Toolset Ray Madachy, NPS rjmadach@nps.edu Winsor Brown, USC awbrown@usc.edu 25th International Forum on COCOMO and Systems/Software Cost Modeling November 2, 2010 University of Southern California Center for Systems and Software Engineering Agenda • Introduction to COCOMO Suite Models • Tools – Web-based COCOMO Suite – COINCOMO – Affiliate Usage • Future Work 2 University of Southern California Center for Systems and Software Engineering Introduction • 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. • The COCOMO Suite Toolset is being updated for both desktop and web-based usage scenarios as the USC COCOMO tool phases out. • We’ll overview the existing capabilities and long term evolution plan compatible with future COCOMO Suite model updates. 3 University of Southern California Center for Systems and Software Engineering Model Unification Goals • Allow more comprehensive cost exploration with respect 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 • Provide a single unified tool to allow users to – – 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-of-systems integration • Adjusted using the appropriate specialpurpose extensions 4 University of Southern California Center for Systems and Software Engineering 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 COPROMO X COCOTS X COSYSMO X SOSE X X X X 5 University of Southern California Center for Systems and Software Engineering Typical Model Usage 6 University of Southern California Center for Systems and Software Engineering Agenda • Introduction to COCOMO Suite Models • Tools – Web-based COCOMO Suite – COINCOMO – Affiliate Usage • Future Work 7 University of Southern California Center for Systems and Software Engineering Model and Tool Matrix ©USC-CSSE 8 University of Southern California Center for Systems and Software Engineering Web-based COCOMO Suite • Unifies models in a single application to explore their interactions and estimate broader situations. • Two versions – Calculator for one-off estimates (with output archive file) • Public usage – Personal edition with file system • Used extensively at NPS and by some CSSE Affiliates ©USC-CSSE 9 University of Southern California Center for Systems and Software Engineering COCOMO Suite Models in Tool COSYSMO System size Systems cost drivers Systems Effort Model Risk Model* COCOMO II Software size Software cost and defect introduction drivers Defect removal capability levels Software Effort and Schedule Model COQUALMO Defect Introduction Model Defect Removal Model Systems engineering effort by phase/activity Systems engineering risk management advice Integrated systems and software effort by phase/activity Software development effort and schedule by phase/activity Software defect levels by type * Expert COSYSMO 10 University of Southern California Center for Systems and Software Engineering Sample COCOMO Inputs 11 University of Southern California Center for Systems and Software Engineering Monte Carlo 12 12 University of Southern California Center for Systems and Software Engineering COCOMO Outputs 13 University of Southern California Center for Systems and Software Engineering Monte Carlo Outputs 14 University of Southern California Center for Systems and Software Engineering COQUALMO Outputs 15 University of Southern California Center for Systems and Software Engineering File System ©USC-CSSE 16 University of Southern California Center for Systems and Software Engineering Reference Case Study ©USC-CSSE 17 University of Southern California Center for Systems and Software Engineering COCOMO II Actuals Data ©USC-CSSE 18 University of Southern California Center for Systems and Software Engineering Agenda • Introduction to COCOMO Suite Models • Tools – Web-based COCOMO Suite – COINCOMO – Affiliate Usage • Future Work 19 University of Southern California Center for Systems and Software Engineering ICSM LC Processes for Systems (Hw, Sw & Pw) University of Southern California Center for Systems and Software Engineering ICSM-Sw/RUP Activity/Process Model University of Southern California Center for Systems and Software Engineering Why Multiple Build Software Sub-Systems • Simplest: Early Functionality in the hands of ALL users – Architecture/Core plus some functionality – Implies Full Qualification/Acceptance Sw Testing each software build so systems can go into Integration & Test earlier • Increasingly Complex Systems – – – – – Multiple, diverse "platforms" Different "foci" of functionality (in each build) Network Centric Systems Operation Evolution/federation of legacy systems System of Systems by design Traditional Deliver And Enhance University of Southern California Center for Systems and Software Engineering Inception Elaboration Construction Transition Overlaps Across Software Sub-System Builds Inception Elaboration Construction Transition Evolve During Transition [After Sw IOC] Inception Elaboration Construction Transition Inception Elaboration Construction Transition Evolve After Architecture Complete Inception Elaboration with Evol. Req. Construction Transition Incept. Elaboration Construction Transition I. Elab. Construction Transition ... University of Southern California Center for Systems and Software Engineering ICM Showing Multi-Build Software in a System University of Southern California Center for Systems and Software Engineering ICM Showing Multi-Build Software in DSOS (N layers) University of Southern California Center for Systems and Software Engineering COCOMO II with COPSEMO (for I&T) University of Southern California Center for Systems and Software Engineering COPSEMO: Phased Schedule & Effort Dist. University of Southern California Center for Systems and Software Engineering COINCOMO with COSysMO • Multiple Build Capability from COINCOMO 2.0 University of Southern California Center for Systems and Software Engineering COINCOMO’s Component = COCOMO Project University of Southern California Center for Systems and Software Engineering COINCOMO’s COPSEMO for Single Component University of Southern California Center for Systems and Software Engineering Generated Spreadsheet with Totals University of Southern California Center for Systems and Software Engineering Agenda • Introduction to COCOMO Suite Models • Tools – Web-based COCOMO Suite – COINCOMO – Affiliate Usage • Future Work 32 University of Southern California Center for Systems and Software Engineering Affiliate Policies and Benefits • New versions of tools are available for 1 year to Affiliates before public release. • E.g. new features in desktop COINCOMO and web-based COCOMO Suite • Use Affiliates private space • Web-based COCOMO Suite with personal file system hosted on CSSE for Affiliates. • Contact Ray Madachy for an account • Calculator mode available to public ©USC-CSSE 33 University of Southern California Center for Systems and Software Engineering Where? • All tools linked to http://csse.usc.edu/csse/research/COCOMOII/cocomo_downloads.htm • Web-based tool available at: http://csse.usc.edu/tools/COCOMOSuite.php * http://diana.nps.edu/MSAcq/tools/COCOMOSuite.php * * Or designate specific model as COCOMO.php, COSYSMO.php, etc. 34 University of Southern California Center for Systems and Software Engineering Agenda • Introduction to COCOMO Suite Models • Tools – Web-based COCOMO Suite – COINCOMO – Affiliate Usage • Future Work 35 University of Southern California Center for Systems and Software Engineering Future Plans • Add noted models and features to desktop and web-based tools • Tools may interface using a common, hierarchical XML data format that also serves as a go-between for legacy USC COCOMO estimate files and actuals data. – An open standard for estimates can be used for integrating with other estimation tools/models/data and XML utilities. – Developing interim conversion utilities for USC COCOMO data format • Your inputs and feedback are essential 36 University of Southern California Center for Systems and Software Engineering 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-CSSE-2008818, 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”, USC, Los Angeles, CA, October 2003 37