University of Southern California Center for Systems and Software Engineering Systems Engineering Reuse Principles Jared Fortune, USC Ricardo Valerdi, MIT COSYSMO Workshop @ COCOMO Forum 2010 Los Angeles, CA 1 University of Southern California Center for Systems and Software Engineering Need to Estimate Effect of Systems Engineering Reuse • Practitioners noted large errors between model estimates and actuals – Variations discovered to be attributable to programs with reuse • Systems engineering reuse – The utilization of systems engineering products from previous efforts – Ex: architectures, requirements, test plans, interfaces – Means of reducing cost, schedule, and/or risk • Current version of the model assumes all systems engineering products will be “built from scratch” – Unable to account for the impact of systems engineering reuse …COSYSMO 2.0 2 University of Southern California Center for Systems and Software Engineering COSYSMO 2.0 Operational Concept 3 University of Southern California Center for Systems and Software Engineering Model Form Where: PMNS = effort in Person Months (Nominal Schedule) A = calibration constant derived from historical project data wr = weight for reuse category r = {New, Designed for Reuse, Modified, Deleted, Adopted, Managed} wx,k = weight for size driver x = {Easy, Nominal, Difficult} k = {Requirements, Interfaces, Algorithms, Scenarios} Φ = quantity of “k” size driver E = represents (dis)economies of scale EM = effort multiplier for the jth cost driver 4 University of Southern California Center for Systems and Software Engineering Reuse Categories Category Sub-Category I) New Definition Products that are completely new i) Designed for Reuse II) Modified Products that require an additional upfront investment to improve the potential reusability Products that are inherited, but are tailored ii) Deleted III) Adopted Products that are removed from the system Products that are incorporated unmodified (a.k.a. “black box” reuse) iii) Managed Products that are incorporated unmodified and with minimal testing 5 University of Southern California Center for Systems and Software Engineering Reuse Category Weights 6 University of Southern California Center for Systems and Software Engineering COSYSMO 2.0 Implementation Results Actual Systems Engineering Effort Estimates with COSYSMO (no reuse categories) R² = 0.50 Estimated Systems Engienering Size (equivalent requirements) Actual Systems Engineering Effort Estimates with COSYSMO 2.0 (with five reuse categories) R² = 0.72 September 2009 Estimated 10, Systems Engineering Size (equivalent requirements) • Across 44 projects at 1 diversified organization • Using COSYSMO: – – – – PRED(.30) = 14% PRED(.40) = 20% PRED(.50) = 20% R2 = 0.50 • Using COSYSMO 2.0: – – – – PRED(.30) = 34% PRED(.40) = 50% PRED(.50) = 57% R2 = 0.72 • Result: 36 of 44 (82%) estimates improved 7 University of Southern California Center for Systems and Software Engineering Reuse Framework 8 University of Southern California Center for Systems and Software Engineering Academic COSYSMO 2.0 (without reuse) 9 University of Southern California Center for Systems and Software Engineering Academic COSYSMO 2.0 (with reuse) September 10, 2009 10