This chapter is from the book

More now than ever, companies today want to deliver products better, faster,
and cheaper. At the same time, in the high-technology environment of the
twenty-first century, nearly all organizations have found themselves building
more and more complex products. Today, a single company usually does not develop
all the components that compose a product. More commonly, some components are
built in-house and some are acquired; then all the components are integrated
into the final product. Organizations must be able to manage and control this
complex product development and maintenance.

Many organizations have also found themselves in the software business.
Organizations that were not typically software companiessuch as financial
institutions, car manufacturers, airplane manufacturers, and insurance
companiesfind that much of their business relies on software. Software is
often what differentiates them from their competitors. The problems these
organizations address today involve both software and systems engineering. More
and more, these disciplines are becoming a critical part of their business. In
essence, these organizations are product developers that need a way to manage an
integrated approach to their software and systems engineering as part of
reaching their business objectives.

In the current marketplace, there are maturity models, standards,
methodologies, and guidelines that can help an organization improve the way it
does business. However, most available improvement approaches focus on a
specific part of the business and do not take a systemic approach to the
problems that most organizations are facing. For example, there are many
maturity models available such as the Software Engineering Institute's
(SEI's) Capability Maturity Model® for Software
(SW-CMM®), which focuses on improving software, and the
Electronic Industries Alliance's (EIA's) Systems Engineering
Capability Model (SECM), which focuses on systems engineering. By focusing on
improving one area of a business, these models have unfortunately perpetuated
the stovepipes and barriers that exist in organizations.

Capability Maturity Model® Integration (CMMI®)
provides an opportunity to avoid or eliminate these stovepipes and barriers
through integrated models that transcend disciplines. CMMI consists of best
practices that address product development and maintenance. It addresses
practices that cover the product's life cycle from conception through
delivery and maintenance. There is an emphasis on both systems engineering and
software engineering and the integration necessary to build and maintain the
total product.

About Capability Maturity Models

The SEI has found several dimensions that an organization can focus on to
improve its business. Figure 1.1 illustrates the three critical dimensions that
organizations typically focus on: people, procedures and methods, and tools and
equipment.

But what holds everything together? It is the processes used in your
organization. Processes allow you to align the way you do business. They allow
you to address scalability and provide a way to incorporate knowledge of how to
do things better. Processes allow you to leverage your resources and to examine
business trends.

This is not to say that people and technology are not important. We are
living in a world where technology is changing by an order of magnitude every
ten years. Similarly, people typically work for many companies throughout their
careers. We live in a dynamic world. A focus on process provides the
infrastructure necessary to deal with an ever-changing world and to maximize
personnel and technology to be more competitive.

Manufacturing has long recognized the importance of process effectiveness and
efficiency. Today, many organizations in manufacturing and service industries
recognize the importance of quality processes. Process helps an
organization's workforce meet business objectives by helping them work
smarter, not harder, and with improved consistency. Effective processes also
provide a vehicle for introducing and using new technology in a way that best
meets the business objectives of the organization.

In the 1930s, Walter Shewhart began work in process improvement with his
principles of statistical quality control [Shewhart 31]. These principles were
refined by W. Edwards Deming [Deming 86] and Joseph Juran [Juran 88]. Watts
Humphrey, Ron Radice, and others extended these principles even further and
began applying them to software in their work at IBM and the SEI.
Humphrey's book Managing the Software Process [Humphrey 89] provides a
description of the basic principles and concepts on which many of the capability
maturity models are based.

The SEI has taken the process-management premise, "the quality of a
system or product is highly influenced by the quality of the process used to
develop and maintain it," and defined capability maturity models that
embody this premise. The belief in this premise is worldwide in quality
movements, as evidenced by the International Organization for
Standardization/International Electrotechnical Commission (ISO/IEC) body of
standards.

Capability maturity models (CMMs) focus on improving processes in an
organization. They contain the essential elements of effective processes for one
or more disciplines and describe an evolutionary improvement path from ad hoc,
immature processes to disciplined, mature processes with improved quality and
effectiveness.

Mark Paulk and others at the Software Engineering Institute created the first
capability maturity model designed for software organizations and published it
in a book, The Capability Maturity Model: Guidelines for Improving the Software
Process [SEI 95].

The SEI's book took the principles introduced almost a century ago and
applied them to this never-ending cycle of process improvement. The value of
this process improvement approach has been confirmed over time. Organizations
have experienced increased productivity and quality, improved cycle time, and
more accurate and predictable schedules and budgets [Herbsleb 97].