In the 1970s,
technological improvements made computers more widespread, flexible, and
inexpensive. Organizations began to adopt more and more computerized information
systems and the field of
software development grew significantly. This led to an increased demand for
developers�and managers�which was satisfied with less experienced professionals.
Unfortunately, the influx of growth caused growing pains; project failure
became more commonplace not only because the field of computer science was still
in its infancy, but also because projects became more ambitious in scale and
complexity. In response, individuals such as
Edward Yourdon,
Larry Constantine,
Gerald Weinberg,
DeMarco, and
David
Parnas published articles and books with research results in an attempt to
professionalize the software development process.
Watts Humphrey's Capability Maturity Model (CMM) was described in the book
Managing the Software Process (1989). The CMM as conceived by Watts
Humphrey was based on the work a decade earlier of
Phil
Crosby who published the
Quality Management Maturity Grid in his book Quality is Free in
Active development of the model by the SEI (US Dept. of Defense Software
Engineering Institute) began in 1986.
The CMM was originally intended as a tool to evaluate the ability of
government contractors to perform a contracted software project. Though it comes
from the area of software development, it can be, has been, and continues to be
widely applied as a general model of the maturity of processes (e.g.,
IT Service Management processes) in IS/IT (and other) organizations.
Note that the first application of a staged maturity model to IT was not by
CMM/SEI, but rather
Richard L. Nolan in 1973.
The model identifies five levels of process maturity for an organisation:
Initial (chaotic, ad hoc, heroic) the starting point for use of a new
process.
Repeatable (project management, process discipline) the process is used
repeatedly.
Defined (institutionalized) the process is defined/confirmed as a
standard business process.
Managed (quantified) process management and measurement takes place.
Optimising (process improvement) process management includes deliberate
process optimization/improvement.
Within each of these maturity levels are KPAs (Key Process Areas) which
characterise that level, and for each KPA there are five definitions identified:
Goals
Commitment
Ability
Measurement
Verification
The KPAs are not necessarily unique to CMM, representing � as they do � the
stages that organizations must go through on the way to becoming mature.
The assessment is supposed to be led by an authorised lead assessor. One way
in which companies are supposed to use the model is first to assess their
maturity level and then form a specific plan to get to the next level. Skipping
levels is not allowed.
N.B.: The CMM was originally intended as a tool to evaluate the ability of
government contractors to perform a contracted software project. It may be
suited for that purpose. When it became a general model for software process
improvement, there were many critics.
"Shrinkwrap" companies are also called "COTS" or commercial-off-the-shelf
firms or software package firms. They include Claris, Apple, Symantec,
Microsoft, and Lotus, amongst others. Many such companies rarely if ever managed
their requirements documents as formally as the CMM described in order to
achieve level 2, and so all of these companies would probably fall into level 1
of the model.