Class 50 Software Process Improvement December 1, 2014
~Improving the Process of Software Development Our Focus: The role of the Capability Maturity Model Integration (CMMI) in improving the software development process 2
Capability Maturity Model - CMMI Not a life-cycle: CMMI is a strategy for improving the software development process within a company Put forward in 1986 by S/W Engr Institute (DoD) Why would the DoD fund such an endeavor? Fundamental ideas Seeks to improve software process improved software quality delivery on time, within budget improved management Five levels of maturity defined Organizations advance stepwise 3
Results of Statistical Process Control in Japan 1969 Honda N360- Predecessor to first Honda sold in U.S. 2014 Honda Civic Honda N-360 Air-cooled Engine 4
CMMI Appraisal Data Class A appraisals conducted from the SCAMPI V1.1 April 2002 release through December 2008 and reported to the SEI by January 2009 4,134 appraisals 3,446 organizations 2,544 participating companies 564 reappraised organizations 21,141 projects 71.4% Non-USA organizations 2009 by Carnegie Mellon University 5
*5 Maturity levels of CMMI Level 1: Initial Level Level 2: Managed Level Level 3: Defined Level * March 2012 Data 6
*5 Maturity levels of CMMI (cont.) Level 4: Quantitatively Managed Level Level 5: Optimizing Level SEI Published Appraisal Results http://random-reflections-thoughts-blog.blogspot.com/2012/11/trend-of-cmmihigh-maturity-appraisals.html 7
CMMI Levels with KPA s The McGraw-Hill Companies, 2011 8
Experiences Using CMMI 3 to 5 years from level 1 to level 2 1.5 to 3 years from level 2 to level 3 SEI questionnaires highlight shortfalls, ways to improve process Original idea: DoD contracts only to firms at level 3 (minimum). USAF started requiring level 3 in 1998. Profitable Hughes Aircraft (Fullerton, CA) spent $500K (1987 90) Savings: $2M per year, moving from level 2 to level 3 Raytheon moved from level 1 in 1988 to level 3 in 1993 Productivity doubled Return of $7.70 per dollar invested in process improvement 2004 Data: Avg of 5 to 1 ROI for achieving level CMMI 5 9
*CMM Process Improvement Data CMM Level Results of a study of 34 Motorola projects Number of Projects Relative Decrease in Duration Faults per MEASL Detected during Development Level 1 3 1.0 Relative Productivity Level 2 9 3.2 890 1.0 Level 3 5 2.7 411 0.8 Level 4 8 5.0 205 2.3 Level 5 9 7.8 126 2.8 What benefits do we get as CMM level improves? Faster development Fewer Development Faults Greater Productivity? 10
ISO 9000 (An International Standard) Set of five standards for industrial activities: Some overlap with CMMI, but not identical Does Not address process improvement (as CMMI does) Stress is on documenting the development process Emphasizes measurement and metrics Required if firm wants to do business with EU Also by many U.S. businesses, for example, GE More and more U.S. businesses are ISO 9000 certified 11
ISO/IEC 15504 Original name: Software Process Improvement Capability determination (SPICE) International process improvement initiative Started by the British Ministry of Defence (MOD) Includes process improvement, software procurement Extends and improves CMMI, ISO 9000 A framework, not a method CMMI, ISO 9000 conform to this framework Now referred to as ISO/IEC 15504 Or just 15504 for short The McGraw-Hill Companies, 2011 12
What makes Software Development so hard? Complexity Conformity Invisibility Changeability 13
Summary Improving the Process of Software Development The Capability Maturity Model Integration (CMMI) CMMI Maturity Levels Experiences Using CMMI ISO 9000 ISO/IEC 15504 14