Date of Original Version
Abstract or Description
The Capability Maturity Model for Software developed by the Software Engineering Institute has had a major influence on software process and quality improvement around the world. Although the CMM has been widely adopted, there remain many misunderstandings about how to use it effectively for business-driven software process improvement, particularly for small organizations and small projects. Some of the common problems with interpreting the Software CMM for the small project/organization include:
* What does "small" mean? In terms of people? Time? Size of project? Criticality of product?
* What are the CMM "requirements"? Are there key process areas or goals that should not be applied to small projects/organizations? Are there "invariants" of good processes?
* What are the drivers and motivations that cause abuse of the CMM?
This paper discusses how to use the CMM correctly and effectively in any business environment, with examples for the small organization. The conclusion is that the issues associated with interpreting the Software CMM for the small project or organization may be different in degree, but they are not different in kind, from those for any organization interested in improving its software processes. Using the Software CMM effectively and correctly requires professional judgment and an understanding of how the CMM is structured to be used for different purposes.