Prevention

Detection

Reliability

Embedded Systems Quality

Requirements Elicitation

Configuration Management

Capability Maturity Model

Conclusions

References

 

8. Capability Maturity Model

The Software Engineering Institute (SEI) at Carnegie Mellon University has developed the Capability Maturity Model (CMM). This is an evolving model that combines knowledge from software engineering, project management and quality circles. It serves as a software process framework that organisations can follow. It contains five maturity levels as shown in figure 5 (taken from the University of Massachusetts Computer and Information Science website). Each level (accept for level 1) contains process goals that serve the purpose of improving the development process. When an organisation completes all of the goals at one level, they then attain that maturity level. They then proceed to implement the processes one level up.

 

Five Levels of CMM

Figure 5. The SEI CMM levels

 

The five levels are briefly described here: 

  1. Initial – Software development is ad hoc, few processes are defined and success depends on the effort of individuals
  2. Repeatable – Project management processes are put in place, and are made repeatable from project to project
  3. Defined – Management and engineering processes become documented, standardised and integrated, and all projects use the same defined process for the development process
  4. Managed – Metrics are used to measure the software process and product quality, with both of these aspects being quantitatively understood and controlled
  5. Optimising – Feedback is utilised from processes to implement continuous process improvement

The CMM model gives an organisation a comprehensive plan to follow to achieve a solid software development process. All of the key issues are included, and an increase in software quality should be apparent as an organisation moves up the levels. CMM is not free from criticism however. Many organisations are forced to undertake accreditation of some form by market forces. Most often this is in the form of ISO-9001 standard, but applies equally to CMM. If a developer does not have accreditation, it puts them at a disadvantage. These demands for accreditation may have, in some instances, lead to the inappropriate awarding of CMM or ISO.  

Ron Radice, CMM assessor and president of Software Technology Transition, suggests that it takes between 9 months and 3 years to move between levels of the CMM model. Some relatively young Indian software development companies have reported levels of maturity at 5. This is very rare in the software industry, and begs the question “is the assessment playground level from country to country?” 

A paper written by Cater-Steel and Fitzgerald (1998) also points out that certification may not be suitable for all organisations. This was not directly pointed at CMM, but the additional costs of implementing a model like CMM may exceed the benefits. This is most likely to be the case with a very small software development company / function. The paper also goes on to suggest that clients of a would-be developer look at other factors, in conjunction with accreditations, to determine their suitability for the project.

Previous | Home | Next