WHAT IS THE CMMI? The CMMI is a model for improving and appraising
performance of development organizations. It stands for "Capability Maturity Model Integration". It is published and developed by
Software Engineering Institute in Pittsburgh, PA.
The CMM (the original version of
CMMI) was originally commissioned by
American Department of Defense to help them qualify software vendors' capabilities. From there it quickly evolved into a powerful tool to guide process improvement initiatives, not only for Software Development but for many related fields such as Systems Engineering, Product Acquisition, Team Management, Research and Development, etc.
Today
CMMI is used around
world in military, commercial and government organizations. It has been shown to reduce
risks associated with development projects, increase efficiency and improve
overall quality of products and deliverables. Many civil industries such as transportation and telecommunications are making it a requirement for submissions to large tenders. Countries such as India and China are also using it to position themselves as dependable, trustworthy providers of world class outsourcing services.
The CMMI is best known for its five levels of organizational maturity (see figure below). Each level represents a coherent set of best practices organizations are expected to implement as they become better at what they do.
Level 1: Initial (Majority of Organizations) Level 2: Managed Process Level 3: Defined Process Level 4: Quantatively Managed Process Level 5: Optimizing Process (less than 5% of Organizations)
To each maturity level are associated a number of related process areas. The process areas can be viewed as very detailed checklists of what goals need to be achieved, what activities performed, and what artifact created and maintained to satisfy
requirements for a specific part of
overall development process. The following lists
CMMI process areas organized by maturity level. (Source: CMMI version 1.1 SW/SE/IPPD Staged Representation )
Maturity Level 1: No process area associated with
maturity level 1
Maturity Level 2: Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Management Measurements and Analysis Process and Product Quality Assurance Configuration Management
Maturity Level 3: Requirements Development Technical Solution Verification Validation Product Integration Organizational Process Focus Organizational Process Definition Organizational Training Integrated Project Management for IPPD Integrated Supplier Management Risk Management Decision Analysis and Resolution Integrated Teaming Organizational Environment for Integration
Maturity Level 4: Quantitative Project Management Organizational Process Performance
Maturity Level 5: Causal Analysis and Resolution Organizational Innovation and Deployment
The CMMI also include Generic Goals and Generic Practices. These model elements cover
organization's ability to perform, manage, share, measure and improve its processes.
A new feature of
CMMI (as opposed to
original CMM) is
ability to choose between two representations of
model: Staged or Continuous. Generally speaking,
Staged representation is better suited to focus
organization towards tangible yet high level goals, while
Continuous representation allows for
precise customization of a process improvement program or appraisal to better meet an organization's specific requirements.
BENEFITS Here are some of
major benefits you can achieve by using
CMMI in your organization:
1. KNOWING YOUR TRADE Are you sure everybody involved in your projects knows exactly what their job is and how it relates with what everyone else is doing? Just go around
office and ask these simple questions…
… To
project managers: a. What is
difference between a plan and a schedule? b. What do you record about
estimates that are being made? c. Do you estimate size as well as effort when doing your planning? Do you monitor both attributes during
life of
project?
… To
configuration managers: a. What is a baseline? b. What is
purpose of a configuration audit? c. Who authorizes changes to
configuration units?