Capability Maturity Model Integration (CMMI) COMP 587 - Group Assignment #1 Ario Nejad, Davit Stepanyan, Ian Jackman, Sebastian Henneberg, Wan Chi Chio Goals of CMMI • • To improve software-development processes To evaluate capability of a software company Background • • • In early 1960's, many companies saw a potential in software development and started developing software without any proper techniques or standards This resulted in "Software Crisis" - US military had several software projects extended or canceled in 1980's . US Air force then started a study to understand and monitor the issue at the Software Engineering Institute (SEI). Software Engineering Institute (SEI) • • • A federally funded research and development center operated by Carnegie Mellon University Mainly sponsored by the U.S. Department of Defense, Office of the Secretary of Defense (OSD) and the National Defense Industrial Association Developed CMMI with "a group of experts from industry, government"1 Timeline of CMMI • • • CMMI is the successor of the capability maturity model (CMM) CMM was developed from 1987 until 1997 as a solution to avoid Software Crisis. CMMI Version 1.1 was released in 2002. CMMI Version 1.2 followed in August 2006, and CMMI Version 1.3 in November 2010 Who can use CMMI to improve quality? • • “CMMI applies to teams, work groups, projects, divisions, and entire organizations”2 CMMI is widely adopted in a variety of industries, “including electronics, health services, finance, insurance, and transportation. User companies include Boeing, General Motors, JP Morgan, Bosch, and many others [...]”3 2. http://www.sei.cmu.edu/cmmi/ 3. http://www.sei.cmu.edu/cmmi/why/index.cfm CMMI Features • • CMMI Product Suite - a collection of all model components, training material components, and appraisal components. organized in 3 main areas of interest called constellations/models: o CMMI for Development (CMMI-DEV) Addresses the development of product and service systems. Used by organizations in Defense, Healthcare, Finance, Insurance, Telecommunications, and other Industries. CMMI Features (Cont.) o CMMI for Acquisition ( CMMI-ACQ) Designed to aid organizations which are acquiring products and services or outsourcing the development of delivery of products and services. o CMMI for Services (CMMI-SVC) Purposed for organizations to get the same results and benefits in their service deployment efforts that they currently enjoy in their development effort. CMMI Features Constellations/Models • • CMMI contains 22 process areas across the 3 constellations. 16 of them are considered as core and found in all constellations Each can be represented in one of two ways: continuous or staged o Continuous Designed to allow user to focus on specific processes that are considered important for the organizations immediate business objectives. Measures an organization’s achievement with a single process area of multiple selected processes CMMI Features Constellations/Models (Conti.) o Staged Provides a sequence of improvements Measure the process improvement achievement across multiple pre-planned process areas CMMI Features - Appraisal Methods • Capability Levels (CL) o adopted for appraising continuous representation o totally 4 levels (0-Incomplete, 1-Performed, 2Managed and 3-Defined) 4 Maturity Levels (ML) o adopted for appraising staged representation o totally 5 levels, numbered 1 through 5 Standard CMMI Appraisal Method for Process Improvement (SCAMPI) o three classes of appraisals: A, B, C. o A is the most rigorous and the only one that can result in a level rating. 4. www.sei.cmu.edu/reports/10tr032.pdf • • Relationships with Other Approaches • “[...] is compatible with Agile, Scrum, ITIL, Six Sigma, COBIT, ISO 9000, RUP, and Lean. In fact, CMMI’s relationships with these standards, methods, and technologies goes beyond compatibility. They complement each other [...]”5 5.http://www.sei.cmu.edu/cmmi/compatibility/index.cfm Thoughts on CMMI • • CMMI allows an organization to measure how compliant its supplier and itself perform in quality assurance process as a whole based on the defined standard. This definitely increases the confidence level of the customers in the final product. An organization can achieve bigger improvements without introducing a lot of additional cost, as CMMI is compatible with other approaches in terms of process areas, e.g. Agile.