The Capability Maturity Model Integration (CMMI) is a methodology used to develop and refine an organization’s software development process. The model describes a five-level evolutionary path of increasingly organized and systematically more mature processes. Capability Maturity Model is a bench-mark for measuring the maturity of an organization’s software process. It is a methodology used to develop and refine an organization’s software development process. CMM can be used to assess an organization against a scale of five process maturity levels based on certain Key Process Areas (KPA). It describes the maturity of the company based upon the project the company is dealing with and the clients. Each level ranks the organization according to its standardization of processes in the subject area being assessed. Capability Maturity Model Integration (CMMI) broadly refers to a process improvement approach that is based on a process model – a structured collection of practices that describe the characteristics of effective processes; the practices included are those proven by experience to be effective. CMM can be used to assess an organization against a scale of five process maturity levels. Each level ranks the organization according to its standardization of processes in the subject area being assessed. The subject areas can be as diverse as software engineering, systems engineering, project management, risk management, system acquisition, information technology (IT) services and personnel management. The (A & CC) Capability Maturity Model Integration (CMMI) specifies an increasing series of levels of a software development organization. The higher the level, the better the software development process, hence reaching each level is an expensive and time-consuming process. Capability Maturity Model Integration (CMMI) “The quality of a system or product is highly influenced by the process used to develop and maintain it”. Although these models have proved useful to many organizations, the CMM model’s application in software development has sometimes been problematic. Applying multiple models that are not integrated within and across an organization could be costly in training, appraisals, and improvement activities. The Capability Maturity Model Integration (CMMI) project was formed to sort out the problem of using multiple models for software development processes, thus the CMMI model has superseded the CMM model, though the CMM model continues to be a general theoretical process capability model used in the public domain. The CMMI Product Team’s mission was to combine three source models: The CMMI contains 25 process areas):
* CMMI Causal Analysis and Resolution
* CMMI Configuration Management
* CMMI Decision Analysis and Resolution
* CMMI Integrated Project Management
* CMMI Integrated Supplier Management
* CMMI Integrated Teaming
* CMMI Measurement and Analysis
* CMMI Organizational Environment for Integration
* CMMI Organizational Innovation and Deployment
* CMMI Organizational Process Definition
* CMMI Organizational Process Focus
* CMMI Organizational Process Performance
* CMMI Organizational Training
* CMMI Product Integration
* CMMI Project Monitoring and Control
* CMMI Project Planning
* CMMI Process and Product Quality Assurance
* CMMI Quantitative Project Management
* CMMI Requirements Development
* CMMI Requirements Management
* CMMI Risk Management
* CMMI Supplier Agreement Management
* CMMI Technical Solution
* CMMI Validation
* CMMI Verification
CMM: Developed by the American & Canadian Consultancy. It's a model of 3 & 5 levels of organizational.
Within each of these maturity levels are KPA (Key Process Areas) which
characterise that level, and for each KPA there are five definitions identified:
1. Goals
2. Commitment
3. Ability
4. Measurement
5. Verification
The Capability Maturity Model for Software (SW-CMM) v2.0 draft C
CMMI is the designated successor of the three source models. The A& CC has released a policy to sunset the Software CMM and previous versions of the CMMI. The same can be said for the SECM and the IPD-CMM; these models were superseded by CMMI. In some cases, CMM can be combined with other methodologies. It is commonly used in conjunction with the ISO 9001 standard, as well as with the computer programming methodologies of Extreme Programming (XP), and Six Sigma.
“CMMI helps integrate traditionally separate organizational functions, set process improvement goals and priorities, provide guidance for quality processes, and provide a point of reference for appraising current processes.”
The Capability Maturity Model Integration, or CMMI, is a process model that provides a clear definition of what an organization should do to promote behaviors that lead to improved performance. With five “Maturity Levels” or three “Capability Levels,” the CMMI defines the most important elements that are required to build great products, or deliver great services, and wraps them all up in a comprehensive model. These models help identify and improve the key capabilities that elevate organization’s performance, quality, and profitability. Proven effective in organizations and governments globally over the last 25 years, CMMI consists of collected best practices designed to promote the behaviors that lead to improved performance in any organization. CMMI can be used to guide process improvement across a project, a division, or an entire organization. The CMMI helps companies identify and achieve measurable business goals, build better products, keep customers happier, and ensure they are working as efficiently as possible.
It is described on the official CMMI website thusly:
The Capability Maturity Model Integration (CMMI) project is a collaborative effort to provide models for achieving product and process improvement. The primary focus of the project is to build tools to support improvement of processes used to develop and sustain systems and products. The output of the CMMI project is a suite of products, which provides an integrated approach across the enterprise for improving processes, while reducing the redundancy, complexity and cost resulting from the use of separate and multiple capability maturity models (CMM).
The CMMI model does not describe the processes themselves; it describes the characteristics of good processes, thus providing guidelines for companies developing or honing their own sets of processes. Organizations can be “Rated” at a Capability or Maturity Level based on over 300 discreet “Specific” and “Generic” Practices. Intended to be broadly interpreted, the CMMI is not a “Standard” (ala ISO), so achieving a “Level” of CMMI is not a certification, but a “rating.”
Both CMM and CMMI were developed at the Software Engineering Institute (SEI) at Carnegie Mellon University in Pittsburgh, Pa. CMM was developed in the late 1980s, and retired a decade later when CMMI was developed. CMMI v1.02 was released in 2000.
CMMI Maturity Levels
CMMI Maturity Levels provide a rigorous benchmark rating method that enables you to compare your organization’s capability to its competitors, its industry, and itself over time. CMMI provides five maturity levels that demonstrate a visible path for improvement. As an organization advances its capabilities, it can expect to achieve a higher maturity level by identifying areas of improvement, working to correct these areas, and integrating solutions across the organization. By communicating your maturity level to stakeholders, you highlight your organization’s capability and commitment to excellence.
CMMI’s Five Maturity Levels
There are five levels defined along the continuum of the model and, according to the SEI:
“Predictability, effectiveness, and control of an organization’s software processes are believed to improve as the organization moves up these five levels. While not rigorous, the empirical evidence to date supports this belief”.
Within each of these maturity levels are Key Process Areas which characterize that level, and for each such area there are five factors: goals, commitment, ability, measurement, and verification. These are not necessarily unique to CMM, representing — as they do — the stages that organizations must go through on the way to becoming mature. The model provides a theoretical continuum along which process maturity can be developed incrementally from one level to the next. Skipping levels is not allowed/feasible.
CMMI Level-1:Initial | Ad-hoc
Company has no standard process for software development. Processes at this level are (typically) undocumented and in a state of dynamic change, tending to be driven in an ad hoc, uncontrolled and reactive manner by users or events. This provides a chaotic or unstable environment for the processes. E.g. No project-tracking system that enables developers to predict costs or finish dates with any accuracy.
Level-2: Repeatable | Managed
Organization has a basic and consistent project management processes to track cost, schedule, and functionality. The process is in place to repeat the earlier successes on projects with similar applications. Program management is a key characteristic of a level two organization. But there is no consistency or coordination among different groups. The process is at least documented sufficiently such that repeating the same steps may be attempted.
Level-3: Defined
Organization has pulled together a standard set of processes and controls for the entire organization so that developers can move between projects more easily and customers can begin to get consistency from different groups. The process is defined/confirmed as a standard business process. There are sets of defined and documented standard processes established and subject to some degree of improvement over time. This could be considered a developmental stage – with use in a wider range of conditions and user competence development the process can develop to next level of maturity.
A critical distinction between level 2 and level 3 is the scope of standards, process descriptions, and procedures. At level 2, the standards, process descriptions, and procedures may be quite different in each specific instance of the process (for example, on a particular project). At level 3, the standards, process descriptions, and procedures for a project are tailored from the organization’s set of standard processes to suit a particular project or organizational unit.
Level-4: Capable | Quantitatively Managed
In addition to implementing standard processes, the organization has installed systems to measure the quality of those processes across all projects. The process is quantitatively managed in accordance with agreed-upon metrics. Process users have experienced the process in multiple and varied conditions, and are able to demonstrate competence. The process maturity enables adaptions to particular projects without measurable losses of quality or deviations from specifications. Process Capability is established from this level.
Level-5: Efficient & Optimizing
Organizations at this level can now begin to see patterns in performance over time, so it can tweak its processes in order to improve productivity and reduce defects in software development across the entire organization. The focus is on continually improving process performance through both incremental and innovative technological changes/improvements. This would be done at the same time as maintaining the likelihood of achieving the established quantitative process-improvement objectives. There are only a few companies in the world that have attained this level 5.
A critical distinction between maturity level 4 and maturity level 5 is the type of process variation addressed. At maturity level 4, processes are concerned with addressing special causes of process variation and providing statistical predictability of the results. Though processes may produce predictable results, the results may be insufficient to achieve the established objectives. At maturity level 5, processes are concerned with addressing common causes of process variation and changing the process (that is, shifting the mean of the process performance) to improve process performance (while maintaining statistical probability) to achieve the established quantitative process-improvement objectives.
Organizations should be Capable and Mature
CMMI originated in software engineering but has been highly generalized over the years to embrace other areas of interest, such as the development of hardware products, the delivery of all kinds of services, and the acquisition of products and services. The word “software” does not appear in definitions of CMMI. This generalization of improvement concepts makes CMMI extremely abstract. It is not as specific to software engineering as its predecessor, the Software CMM. By January 2013, the entire CMMI product suite was transferred from the A&CC to the CMMI Institute, a newly created organization at Carnegie Mellon University (CMU). CMU claims CMMI can be used to guide process improvement across a project, division, or an entire organization. Version 1.3 was published in 2010. CMMI is registered in the U.S. Patent and Trademark Office.
CMMI models provide guidance for developing or improving processes that meet the business goals of an organization. CMMI is meant to help organizations improve their performance of and capability to consistently and predictably deliver the products, services, and sourced goods their customers want, when they want it and at a price they’re willing to pay. A CMMI model may also be used as a framework for appraising the process maturity of the organization. Organizations use the processes to help them develop, acquire and maintain products and services, and to benchmark themselves against others. Better processes can mean lower costs and better quality results, as well as more realistic timing estimates for projects By American & Canadian Consultancy.