The Software Engineering Institute’s
Capability Maturity Model for software
(CMM) has had a major influence
on software process and quality
improvement. 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. This article discusses
how to use the CMM correctly and
effectively in any business environment,
with examples for small
organizations, rapid prototyping
projects, maintenance shops, R&D
outfits, and others. The conclusion is
that the issues associated with interpreting
the software CMM are
essentially the same for any organization
interested in improving its
software processes—the differences are
of degree rather than kind. 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.