How can the Capability Maturity Model Integration improve an organizations software development process?

Streamline & Succeed

Download our CMMI Appraisal for Software Development Case Study

Challenge

Capability Maturity Model Integration (CMMI) is a process model that helps organizations streamline process improvement by encouraging a productive, efficient culture while minimizing risks in software development. The CMMI models are a collection of global best practices that enable organizations to build and benchmark key capabilities that address the most common business challenges.

In October 2016, MIL’s Global Financial Systems Support Directorate (GFSS)/ Global Financial Management System (GFMS) team achieved a CMMI Maturity Level II appraisal. To maintain this status, CGFS/GFMS is required to renew at CMMI Maturity Level II every three years.

CGFS/GFMS maintains more than two dozen financial management systems with multiple projects in various stages of their lifecycle. These projects involve work from multiple contract companies in three locations worldwide. Due to the size and scope of the organization, maintaining project compliancy was a difficult task. No two software-development projects are the same, therefore determining a ‘one size fits all’ process and procedure is a daunting task. MIL sought to find a solution in order to enforce CMMI compliance.

Solution

Product and Process Quality Assurance (PPQA), a target team, was assembled to objectively evaluate work products and project team adherence to the documented Global Financial Architecture Administration (GFAA) process. Its existence offered a means to objectively evaluate work products and project team adherence to the documented GFAA process; it is the ‘eyes and ears’ of the organization. Additionally, PPQA is responsible for recording and facilitating the resolution of all process non-compliance issues discovered during these evaluations. Its activities are designed to ensure all projects follow the defined process to maintain CMMI Maturity Level II compliance.

Compliance Improvement Initiative:

  • Internal Risk Assessment: Determine current compliance status
  • Tracking System: Establish tailored workflows to monitor PPQA activities
  • Training: Provide target training based on trend analysis
  • Correct Action: Determine corrective actions with Senior Management
  • Reset Baselines: Establish clean slate for project teams
  • Reporting: Establish weekly compliance reporting and escalation path

Further, in order to achieve full CGFS/GFMS compliance, PPQA enacted a multi-phased compliance improvement initiative that not only brought PPQA to the forefront, but also increased project team involvement. The compliance Improvement Initiative set a strong foundation for continued compliance.

Benefit

In October of 2019, CGFS/GFMS achieved CMMI Maturity Level II. The assessment team identified zero weaknesses, which is very unusual and impressive. Based on this overwhelming positive feedback on the strides the organization has taken, CGFS/GFMS has set a target for upgrading to CMMI Maturity Level III in 2022.

See more Financial Services Case Studies

The Capability Maturity Model Integration (CMMI) is a model for creating and maintaining repeatable software, product, & service development processes. Moreover, CMMI assists organizations in improving processes, mitigating risks, repeating projects, and encouraging a productive development culture. In a nutshell, CMMI provides a structured view of process improvement across an organization.

CMMI was initially created by the Software Engineering Institute (SEI) at Carnegie Mellon University for use by the U.S. Department of Defense to assess the quality and capability of their software contractors. Since then CMMI models have expanded beyond software engineering to help organizations in any industry build, improve, and measure their development capabilities. Today CMMI is a common requirement for DoD and Federal Government contracts that include any kind of development.

CMMI Maturity Levels

The CMMI model breaks down organizational maturity into five maturity levels which each level providing a description of how well the behaviors, practices, and processes of an organization can enable development to be repeatable and sustainable. 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".

A maturity model provides a guideline for the level of effectiveness of the development processes of an organization and can be used as a benchmark for comparison between organizations. The higher the level of maturity, the more effective the organization is. Organizations at Maturity Level 1 are considered ineffective as development processes are undocumented and non-repeatable. While organizations are at either Maturity Levels 4 or 5 are considered highly-effective as they are proactively managing processes with the use the statistical data.

Maturity Level 1: Initial (Ad-Hoc Project Management) - Development tasks and projects are conducted on an ad-hoc basis with little or no documentation supporting the development process. Projects are viewed as unpredictable and reactive.

Maturity Level 2: Managed (Basic Project Management) - Development processes are documented sufficiently enough so that repeating the same steps may be attempted. Projects are planned, executed, and managed at this level, but repeatability and sustainability is not yet achieved.

Maturity Level 3: Defined (Process Standardization) - Development processes are defined and established as a standard businesses process with some degree of process improvement occurring over time. At this level, organizations are more proactive than reactive as standards and guidelines exist to provide direction across projects and programs. Organizations understand their shortcomings and how to address theses shortcomings. Moreover, organizations know what their goals are for improvement.

Maturity Level 4: Quantitatively Managed (Quantitative Process Performance and Management) - Development processes are measured and controlled by quantitative data that includes metrics and indicators. The organization utilizes this quantitative data to determine predictable processes. Moreover, the organization uses data to effectively manage risks, make processes more efficient, and correct process deficiencies.

Maturity Level 5: Optimizing (Continuous Process Improvement) - Development processes at this level focus on continually improving process performance through both incremental and innovative technological change. At this highest stage, an organization is in a constant state of improving and enhancing itself by utilizing statistical common causes of process variation.

CMMI Appraisal

The official method used by the CMMI institute to appraise the CMMI maturity level of an organization is called Standard CMMI Appraisal Method for Process Improvement (SCAMPI). There are three classes of appraisals, A, B and C, which focus on identifying improvement opportunities and comparing the organization's processes to best practices. Of these, class A appraisal is the most formal and is the only one that can result in a maturity level rating. Class B appraisal is often used as a test appraisal to provide an idea of where an organization stands and determines areas for improvement. Class C appraisal is typically used as a gap analysis from a previous appraisal.

Appraisal Class A: Provides a benchmark for organizations and is the only level that results in an official rating. It must be performed by an appraisal team that includes a certified lead appraiser.

Appraisal Class B: Less official than Appraisal Class A. Determines a target CMMI maturity level, predicts success for evaluated practices, and give an organization a better idea of where they stand in the maturity process.

Appraisal Class C: This appraisal method is more rapid and more cost-effective than either Appraisal Class A or B. It’s designed to quickly assess an organization's established practices and how well the practices integrate or align with CMMI practices. It can be used at either a enterprise level or micro level to address organizational issues or smaller process or departmental issues.

Process Areas Associated with Maturity Levels

Included within each CMMI maturity level are process areas which characterize the maturity level. CMMI defines a process area as, "A cluster of related practices in an area that, when implemented collectively, satisfies a set of goals considered important for making improvement in that area." Key process areas are organized by common features which address how goals are implemented and describe activities or infrastructure that must be carried out or put in pace.

In order to be appraised at a maturity level, an organization has to successfully implement the process area associated with the maturity level as well as all of the process areas from lower maturity levels.

Process Areas for Maturity Level 1 – Initial (Ad-Hoc Project Management) 

  • No Process Areas

Process Areas for Maturity Level 2 – Managed (Basic Project Management) 

  • CM – Configuration Management
  • MA – Measurement and Analysis
  • PPQA – Process and Quality Assurance
  • REQM – Requirements Management
  • SAM – Supplier Agreement Management
  • SD – Service Delivery
  • WMC – Work Monitoring and Control
  • WP – Work Planning

Process Areas for Maturity Level 3 – Defined (Process Standardization)

  • CAM – Capacity and Availability Management
  • DAR – Decision Analysis and Resolution
  • IRP – Incident Resolution and Prevention
  • IWM – Integrated Work Managements
  • OPD – Organizational Process Definition
  • OPF – Organizational Process Focus
  • OT – Organizational Training
  • RSKM – Risk Management
  • SCON – Service Continuity
  • SSD – Service System Development
  • SST – Service System Transition
  • STSM – Strategic Service Management
  • All Level 2 Process Areas

Process Areas for Maturity Level 4 – Quantitatively Managed (Quantitative Process Performance and Management)

  • OPP – Organizational Process Performance
  • QWM – Quantitative Work Management
  • All Level 2 and Level 3 Process Areas

Process Areas for Maturity Level 5 – Optimizing (Continuous Process Improvement)

  • CAR – Causal Analysis and Resolution
  • OPM – Organizational Performance Management
  • All Level 2, Level 3, and Level 4 Process Areas

How is CMMI used for software process improvement?

Capability Maturity Model Integration (CMMI) is a process model that helps organizations streamline process improvement by encouraging a productive, efficient culture while minimizing risks in software development.

How does CMMI improve software quality?

CMMI is a tool provided by SEI which helps organizations standardize design, implementation and testing of software to increase its quality. According to CMMI, the most important features required to build great software are five 'Maturity Levels' or three 'Capability Levels' bundled together in a comprehensive model.

What is the purpose of Capability Maturity Model in relation to the systems process?

The Capability Maturity Model (CMM) 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.

How can we improve the process using maturity model?

The CMM distinguishes five process maturity levels..
Perform a stakeholder analysis..
Analyze motivation and leadership..
Map out specific “runs” in the process..
Position the process in the value stream..
Perform a suppliers, input, process, output, customers (SIPOC) analysis..
Define a process owner..