Main Page | See live article | Alphabetical index

Capability Maturity Model

The Capability Maturity Model (CMM) of the Software Engineering Institute (SEI) describes the maturity of software development organisations on a scale of 1 to 5.

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."

Table of contents
1 Praises
2 Criticisms
3 External links

Praises

The CMM was invented to give military officers a quick way to assess and describe contractors' abilities to provide correct software on time. It has been a roaring success in this role. So much so that it caused panic-stricken salespeople to clamor for their engineering organizations to "implement CMM."

The CMM reliably assesses an organization's sophistication about software development.

Criticisms

The CMM does not describe how to create an effective software development organization. The traits it measures are in practice very hard to develop in an organization, even though they are very easy to recognize.

The CMM has been criticized for being overly bureaucratic and for promoting process over substance. In particular, for emphasizing predictability over service provided to end users. More commercially successful methodologies have focused not on the capability of the organization to produce software to satisfy some other organization or a collectively-produced specification, but on the capability of organizations to satisfy specific end user "use cases".

The CMM's division into levels has also been criticized in that it ignores the possibility that a single group may exhibit all of the behaviors and may change from behavior to behavior over time. There is also the implication that a group must move from step to step and that it is impossible for a project group to move from one to five without going through intermediate steps.

For more information about how to organize such projects, see avionics software.

External links