How the CMMITM
Can Benefit You, Your Processes, and Your Company
Bud Glick, Software Engineering Services
Several recent developments in Model-based process
improvement are important since they can have an impact to daily work as well
as help drive changes in business performance. A significant one for focus on
here is the version 1.2 Capability Maturity Model Integration (CMMI) from the
Software Engineering Institute (SEI), now being adopted in leading-edge
initiatives across many organizations.
The CMMITM
and Improving Your Processes
A distinction can be made between daily process(es) that govern the product
realization work, on one hand and a process
(reference) model such as the CMMI as a guide to improve the processes on
the other. The CMMI is a set of industry best practices to measure processes
against to see how effective they are and to identify possible gaps to help
guide their improvement. As new processes evolve, measuring results (in areas
such as product quality, cycle time, and productivity) provides understand of
benefit(s) achieved and helps drive their institutionalization
(the process steps all follow) and continuous
improvement.
The CMMI was developed by a cross-functional team
with broad based experience in Product realization best practices and is also
based on long-term usage experience of earlier process improvement models and
best practices such as the SEI CMM (Capability Maturity Model) and the Systems
Engineering Process Model (CMM-SE and EIA/IS-731). Some of the earlier models
were developed as a response to software cost and schedule overruns plus
quality issues that arose in programs such as space flight and aviation with
little tolerance for products with less that optimal performance. To stay
current with user needs, the CMMI itself has gone through two revisions (with
many draft review cycles before final release) since its inception in 2002 with
version 1.2, released in late 2006, as the current representation (CMMI v1.2).
The Process
Management Premise states that “the quality of a system is highly
influenced by the quality of the process used to acquire, develop, and maintain
it.” This premise implies a focus on processes as well as on products: This is
a long-established premise in manufacturing. Belief in this premise is visible
worldwide in quality movements in manufacturing and service industries (e.g.,
ISO standards). This premise is also applicable to development. It was the
basis for the founding of the SEI Process Program (which now includes the CMMI
and other improvement tools and methods) by Watts Humphrey, when the SEI was
just being formed. It also strongly suggests that the purpose of process improvement is to achieve better business
performance along with better products and their associated processes.
The value of process is that it serves to capture
best practices and lessons learned in a way that fosters continued use of those
practices and lessons by future projects. The CMMI model is built on this
premise.
Data from companies and other CMMI users provide a
strong case for this as shown in the following SEI Table (for more details from
many sources see http://www.sei.cmu.edu/cmmi/results.html
and for a full report see Performance
Results of CMMI-Based Process Improvement (CMU/SEI-2006-TR-004 at the SEI
web site).
Capability Maturity Model Integration - Content
The functional content of the CMMI (v1.2) has 22
Process Areas (PAs). The span of coverage for most
product realization life cycles indicates for the CMMI a case can be made for
coverage of processes spanning the entire product cycle from early requirements
creation to product retirement.
The CMMI focuses on Software, Systems, Supplier
Sourcing, and a new concept called Integrated
Product and Process Development (IPPD). The CMMI also adds a new process
role called relevant stakeholder(s),
those who are associated with the project; management, developers, suppliers,
customers, and others. The main difference is that their function is defined in
project plans at the outset. They may be included at reviews, signoff approvals
and milestones to ensure progress and expectations are being met along the
entire lifecycle and objections or improvements can be considered earlier by a
wider knowledge base.
The following table shows the 22 CMMI Process Areas.
The chart shows the Process Areas are grouped into
four related Categories. The PAs can provide best
practices to help build or improve existing associated processes across
multiple domains or disciplines
including software engineering, hardware engineering and systems engineering. Appraisal Methods are available to assist in the gap analysis
and determining next steps to take.
Integrated
Product and Process Development (IPPD)
IPPD considers teams of developers, a concept that
is important when considering new team-driven approaches, such as agile
programming methods. They may be cross-functional or similar functions but the
key is to achieve a timely collaboration of relevant stakeholders throughout
the life of the product to satisfy customers’ needs, expectations, and
requirements. Sometimes this will be covered by an organizational matrix
concept. All members own their team charter and shared vision and agree upon
their roles. In this way, the decision making process can often be pushed down
to the lowest level possible for detailed understanding and effective decision
making. The CMMI has additional extensions in two PAs
to support IPPD.
Improvement
Implementation Flexibility
The CMMI is more flexible than earlier models. Two representations exist, each of which is
analogous to an architectural format or view into a data set. The staged representation, which says you must satisfy a prescribed set of Process Areas to
achieve a process maturity level. The CMMI is additionally available in a continuous representation, which allows
any PA to be at any capability level (similar to staged level of maturity, but
for one or several PAs). The content of each
representation is the same. No matter what sequence is taken, the goal should
be to (over time) continuously improve its processes, measure the gains, and to
institutionalize the new process across the entire organization
such that the product realization process is “what everyone always does” in a
consistent and repeatable way.
Other
Significant CMMI Features
If you wish to find out more about the CMMI model
and the supporting Appraisal Method, please visit the SEI web site at http://www.sei.cmu.edu/cmmi/.
As many companies are not only focused on Software,
but rather on multiple disciplines (and IPPD), the CMMI should cover most
business processes to provide significant benefit in “Appraising” the processes
and the products they help to produce. This will help drive
institutionalization and continuous improvement in both products and processes,
and make your company more competitive.
Biography:
Bud Glick is a Consultant for
Process Improvement on the Software Engineering Services Quality Management
Team. He is also an SEI-certified High Maturity Lead Appraiser and authorized
course instructor for the SEI Introduction to the Capability Maturity Model
Integration (CMMITM) for Development. Bud was a member of the SEI
CMMI v1.1 Product Development Team with a focus on the Appraisal Method
development.
Bibliography:
CMMI – Second Edition
Guidelines for Process Integration and Product Improvement –Chrissis,
Konrad and Shrum, Addison Wesley,
2007, ISBN 0-321-27967-0