University of Southern California Center for Systems and Software Engineering Cost Modeling for Commercial Organizations Anandi Hira, USC Graduate Student COCOMO Forum Thursday, November 3, 2011 University of Southern California Center for Systems and Software Engineering Outline • Cost modeling challenges for large commercial organizations • Example of sizing challenges: Fidelity • Candidate requirements-level approach: Cockburn – IBM data – eServices data – WellPoint data • Next steps November 4, 2011 ©USC-CSSE 2 University of Southern California Center for Systems and Software Engineering Cost Modeling Challenges for Large Commercial Organizations • • • • • Numerous potential cost drivers Diversity of application combinations Reuse, NDI, and interoperability uncertainties Diversity of collected application data Need for early estimates – Sizing based on variable-level requirements – With variable requirements-to-code expansion factors November 4, 2011 ©USC-CSSE 3 University of Southern California Center for Systems and Software Engineering Potential Cost Driver Metadata: WellPoint • • • • • • • • • • Business Area (Health Solutions, Mandates) Sponsoring Division (Finance, Human Resources) Operational Capability (Care Mgmt., Claims Mgmt.) Business Capability (Marketing, Enrollment) Need for New Features (Data, Business Processes) Primary Benefits (Higher Retention, Cost Avoidance) Systems Impacted (eBusiness Portals, Call Centers) States Impacted (California, New Hampshire) Business Impact (Actuarial, Legal) Estimated Size (<$1M, >$5M) November 4, 2011 ©USC-CSSE 4 University of Southern California Center for Systems and Software Engineering November 4, 2011 Sizing Challenge: Fidelity ©USC-CSSE 5 University of Southern California Center for Systems and Software Engineering Reasons for Size Growth • Sized just for U.S. part of company – Actually a global company with many different data items, required reports, and laws to comply with – WellPoint similar with many state data items, reports, laws • Sized as a computer program and not a system product – Missed product functions such as data validation, user assistance, and required security and privacy – Missed system functions such as interoperability with non-US systems and maintenance and diagnostic functions – Brooks’ Mythical Man Month cites a factor of 3 each to go from a computer program to a program product and then a program system product, or an overall factor of 9 – Early WellPoint estimates may have similar size growth November 4, 2011 ©USC-CSSE 6 University of Southern California Center for Systems and Software Engineering Outline • Cost modeling challenges for large commercial organizations • Example of sizing challenges: Fidelity • Candidate requirements-level approach: Cockburn – IBM data – eServices data – WellPoint data • Next steps November 4, 2011 ©USC-CSSE 7 University of Southern California Center for Systems and Software Engineering Requirement Levels Metaphor: Cockburn November 4, 2011 ©USC-CSSE 8 University of Southern California Center for Systems and Software Engineering IBM-UK Expansion Factor Experience Business Objectives 5 Cloud Business Events/Subsystems 35 Kite Use Cases/Components 250 Sea level Main Steps/Main Operations 2000 Fish Alt. Steps/Detailed Operations 15,000 Clam 1,000K – 1,500K Lava SLOC* *(70 – 100 SLOC/Detailed Operation) (Hopkins & Jenkins, Eating the IT Elephant, 2008) November 4, 2011 ©USC-CSSE 9 University of Southern California Center for Systems and Software Engineering Requirement Levels Ratio Study Ali Malik, 2009 • 25 USC CSCI 577a,b projects – Real-client e-services applications – Similarities and Differences compared to industry projects – Complete information on all requirement levels November 4, 2011 ©USC-CSSE 10 University of Southern California Center for Systems and Software Engineering Summary of Elaboration Results Elaboration Factors Statistic Average 2.46 Kite to Sea Level 0.89 Median 2.75 0.89 6.57 40.72 Standard 0.94 Deviation 0.55 2.97 64.46 November 4, 2011 Cloud to Kite ©USC-CSSE Sea Level to Fish 7.06 Fish to Clam 66.91 11 University of Southern California Center for Systems and Software Engineering Outline • Cost modeling challenges for large commercial organizations • Example of sizing challenges: Fidelity • Candidate requirements-level approach: Cockburn – IBM data – eServices data – WellPoint data • Next steps November 4, 2011 ©USC-CSSE 12 University of Southern California Center for Systems and Software Engineering WellPoint Data to Date • 3 New Projects with Requirements Levels, Metadata Business Area (Health Solutions, Mandates) Sponsoring Division (Finance, Human Resources) Operational Capability (Care Mgmt., Claims Mgmt.) Business Capability (Marketing, Enrollment) Need for New Features (Data, Business Processes) Primary Benefits (Higher Retention, Cost Avoidance) Systems Impacted (eBusiness Portals, Call Centers) States Impacted (California, New Hampshire) Business Impact (Actuarial, Legal) Estimated Size (<$1M, >$5M) • 4 Finished Projects with Effort Data, Some Requirements Levels, TBD Metadata November 4, 2011 ©USC-CSSE 13 University of Southern California Center for Systems and Software Engineering WellPoint Requirements Level Data IB M WP WP P# P#2 1 Cloud to 7.0 2.0 31.0 Kite Kite to 7.1 2.5 1.097 Sea Level November 4, 2011 WP WP P#3 FP#1 4.5 WP WP FP#2 FP #3 12.375 3.625 3 2.6 1.175 ©USC-CSSE TBD WP FP #4 17.3 0.97 TBD 14 University of Southern California Center for Systems and Software Engineering Finished Projects Data and Observations Total Hours FP #1 51,584 FP #2 FP #3 FP #4 1,7240.5 3,935.5 7,050.5 Hours/Clo 2,149.3 1,077.53 135.71 ud Hours/Kite 173.68 297.25 45.236 Hours/Se 147.81 TBD 46.851 a Level November 4, 2011 ©USC-CSSE 1,007.2 58.269 TBD 15 University of Southern California Center for Systems and Software Engineering Outline • Cost modeling challenges for large commercial organizations • Example of sizing challenges: Fidelity • Candidate requirements-level approach: Cockburn – IBM data – eServices data – WellPoint data • Next steps November 4, 2011 ©USC-CSSE 16 University of Southern California Center for Systems and Software Engineering Next Steps • Discuss project data similarities, anomalies – Identify additional sources of explanatory data • Obtain additional project data where possible – Function point counts – Requirements level clarifications – Partial metadata • Obtain data from additional projects November 4, 2011 ©USC-CSSE 17