HomeBlogCMMI: A Model For Optimizing Development Processes

CMMI: A Model For Optimizing Development Processes

Author

Date

Category

The Capability Maturity Model Integration (CMMI) is a model that provides a framework for improving the processes and practices used in software development and maintenance. It is a collection of best practices that can be used to assess, improve and benchmark the performance of an organization’s processes. The CMMI is used to evaluate an organization’s ability to deliver software products and services and is divided into five maturity levels that range from initial to optimized. Organizations can use the CMMI model to evaluate the maturity of their processes and identify areas for improvement. This model helps organizations to achieve better quality, better delivery times, and better customer satisfaction. It also increases the chances of delivering projects on time, on budget, and with high quality.

History of CMMI

The history of the Capability Maturity Model Integration (CMMI) goes back to the early 1990s, when the Software Engineering Institute (SEI) at Carnegie Mellon University developed the Capability Maturity Model (CMM) to help organizations improve their software development processes. The CMM was initially developed for the United States Department of Defense (DoD) to evaluate the maturity of software development processes used by contractors. It was later expanded to include other industries and organizations.

In 2000, the SEI released the CMMI, which was an integration of the CMM and other models that had been developed by the SEI and other organizations. The CMMI was designed to provide a more comprehensive framework for process improvement and to be more applicable to a wider range of industries, including software, engineering, and services.

The CMMI model has been updated and revised several times since its initial release, with the latest version being CMMI V2.0, which was released in 2018. Today, the CMMI is widely used by organizations around the world to improve the quality and effectiveness of their software development processes.

CMMI Maturity Levels

The CMMI model includes five maturity levels:

  • Maturity Level 0 – Incomplete: At this stage work “may or may not get completed.” Goals have not been established at this point and processes are only partly formed or do not meet the organizational needs.
  • Maturity Level 1 – Initial: Processes are viewed as unpredictable and reactive. At this stage, “work gets completed but it’s often delayed and over budget.” This is the worst stage a business can find itself in — an unpredictable environment that increases risk and inefficiency.
  • Maturity Level 2 – Managed: There’s a level of project management achieved. Projects are “planned, performed, measured and controlled” at this level, but there are still a lot of issues to address.
  • Maturity Level 3 – Defined: At this stage, organizations are more proactive than reactive. There’s a set of “organization-wide standards” to “provide guidance across projects, programs and portfolios.” Businesses understand their shortcomings, how to address them and what the goal is for improvement.
  • Maturity Level 4 – Quantitatively managed: This stage is more measured and controlled. The organization is working off quantitative data to determine predictable processes that align with stakeholder needs. The business is ahead of risks, with more data-driven insight into process deficiencies.
  • Maturity Level 5 – Optimizing: Here, an organization’s processes are stable and flexible. At this final stage, an organization will be in constant state of improving and responding to changes or other opportunities. The organization is stable, which allows for more “agility and innovation,” in a predictable environment.

It’s worth mentioning that the CMMI model is not a one-time assessment, organizations are expected to go through continuous assessment and improvement to reach the highest level.

CMMI Capability Levels

The CMMI also has capability levels that are used to appraise an organization’s performance and process improvement as it applies to an individual practice area outlined in the CMMI model. It can help bring structure to process and performance improvement and each level builds on the last, similar to the maturity levels for appraising an organization.

The capability levels are:

  • Capability Level 0 – Incomplete: Inconsistent performance and an “incomplete approach to meeting the intent of the practice area.”
  • Capability Level 1 – Initial: The phase where organizations start to address performance issues in a specific practice area, but there is not a complete set of practices in place.
  • Capability Level 2 – Managed: Progress is starting to show and there is a full set of practices in place that specifically address improvement in the practice area.
  • Capability Level 3 – Defined: There’s a focus on achieving project and organizational performance objectives and there are clear organizational standards in place for addressing projects in that practice area.

CMMI Certifications

There are several CMMI certifications available for organizations and individuals:

  1. CMMI Institute Partner: This certification is awarded to organizations that provide CMMI consulting and training services.
  2. CMMI Lead Appraiser: This certification is awarded to individuals who have been trained and certified to conduct CMMI appraisals.
  3. CMMI Instructor: This certification is awarded to individuals who have been trained and certified to teach CMMI courses.
  4. CMMI High Maturity Lead Appraiser: This certification is awarded to individuals who have been trained and certified to conduct CMMI High Maturity appraisals.
  5. CMMI SCAMPI Lead Appraiser: This certification is awarded to individuals who have been trained and certified to conduct CMMI SCAMPI appraisals.
  6. CMMI Dev Lead Appraiser: This certification is awarded to individuals who have been trained and certified to conduct CMMI Dev appraisals.
  7. CMMI for Services Lead Appraiser: This certification is awarded to individuals who have been trained and certified to conduct CMMI for Services appraisals.

These certifications are offered by the CMMI Institute, which is the organization responsible for developing and maintaining the CMMI model.

Some Useful Books About CMMI

  1. “CMMI: Guidelines for Process Integration and Product Improvement” by Mary Beth Chrissis, Mike Konrad and Sandy Shrum
  2. “CMMI for Development: Guidelines for Process Integration and Product Improvement” by Mary Beth Chrissis, Mike Konrad and Sandy Shrum
  3. “CMMI for Services: Guidelines for Superior Service” by Mary Beth Chrissis, Mike Konrad and Sandy Shrum
  4. “Achieving CMMI-DEV Level 3: A Practical Approach” by Pankaj Jalote
  5. “CMMI Survival Guide: Just Enough Process Improvement” by Richard Turner
  6. “Implementing CMMI: A Practical Guide to Process Integration” by Margaret Kulpa and Kent Johnson
  7. “The CMMI (R) Appraisal Framework: Motivating Positive Change” by David N. Card, Mark C. Paulk, Charles V. Weber
  8. “CMMI for Development: Guidelines for Process Integration and Product Improvement” by Mary Beth Chrissis, Mike Konrad, and Sandy Shrum.

Mehdi Shokoohi

Software Quality Engineer

Recent posts

Recent comments