|
Capability
Maturity Model
What is the Capability Maturity Model?
In 1984 the Department of Defense (DoD), frustrated by the frequent
failure of software development, requested that Carnegie Mellon
University devise a system to assess a vendor's ability to successfully
complete a project. In response, the Software Engineering Institute
(SEI) was created and they proceeded to model software engineering
best practices. The SEI published its findings as the Capability
Maturity Model (CMM®) in 1991. Today the CMM has evolved into
the CMM® Integration (CMMI®) Product Suite (see http://www.sei.cmu.edu/
for details), and provides an extensive roadmap for improving
organization and software engineering processes.
The Basic Capability Maturity Model®,
The CMM® frameworks help organizations increase the maturity
of their human resources, process, and technology assets to improve
long-term business performance. The SEI has developed CMMs for software,
people, and software acquisition, and helped develop CMMs for systems
engineering and integrated product development. The latest development
in CMMs is the CMM Integration (CMMI®) Product Suite (http://www.sei.cmu.edu/cmmi/).
The basic model has 5 maturity levels where success builds on previous
efforts:
1. Initial. Teams operating at this level are
successful because of the heroic efforts of individuals on the team.
Procedures are created as required and discarded or modified under
pressure. Projects succeed or fail because of personal initiative,
talent, and hard work. Success on one project does not predict performance
on similar projects. Schedules are based on guesswork, and tend
to be wildly optimistic.
2. Repeatable. Basic project management processes are established
to track cost, schedule, and functionality. The necessary process
discipline is in place to repeat earlier successes on projects with
similar applications. Estimates can be based on historical information.
3. Defined. The software process for both management and
engineering activities is documented, standardized, and integrated
into a standard software process for the organization. All projects
use an approved tailored version of the organization's standard
software process for developing and maintaining software. Meaningful
comparisons can be made between projects, not just similar ones.
Estimates, based on a larger pool of historical information, are
more precise.
4. Managed. Detailed measures of the software process and
product quality are collected. Both the software process and products
are quantitatively understood and controlled. The organization establishes
concrete quality goals based on project metrics, attempts improvements,
evaluates the results, and keeps changes that work.
5. Optimizing. Continuous process improvement is enabled
by quantitative feedback from the process and from piloting innovative
ideas and technologies. Defects in software and in processes are
analyzed for root cause, processes are modified as necessary, and
the baseline is verified.
Except for Level 1, each maturity level is decomposed into several
key process areas that indicate the areas an organization should
focus on to improve its software process. Each key process area
is organized into sections called common features. The common features
specify the key practices that, when collectively addressed, accomplish
the goals of the key process area (http://www.sei.cmu.edu/cmmi/adoption/cmmi-start.html).
Agilis Solutions is very proud to disclose that our Off-shore Development
Center was externally assessed at CMM Level 5 by KPMG in March,
2004. Prior to becoming certified, an organization must operate
at Level 5 for at least a year. Agilis Solutions and our off-shore
partner have operated at CMM Level 5 since early 2003. Fewer than
180 organizations - worldwide - can claim this distinction, and
commitment to quality.
|