About CMMI for Development -...

30
PART ONE About CMMI for Development chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 1

Transcript of About CMMI for Development -...

Page 1: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

PART ONE

About CMMI forDevelopment

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 1

Page 2: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 2

Page 3: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

CHAPTER 1

INTRODUCTION

Now, more than ever, companies want to deliver products and servicesbetter, faster, and cheaper. At the same time, in the high-technologyenvironment of the twenty-first century, nearly all organizations havefound themselves building increasingly complex products and serv-ices. Today, a single company usually does not develop all the compo-nents that compose a product or service. More commonly, somecomponents are built in-house and some are acquired; then all thecomponents are integrated into the final product or service. Organiza-tions must be able to manage and control this complex developmentand maintenance process.

The problems these organizations address today involve enter-prise-wide solutions that require an integrated approach. Effectivemanagement of organizational assets is critical to business success. Inessence, these organizations are product and service developers thatneed a way to manage an integrated approach to their developmentactivities as part of achieving their business objectives.

In the current marketplace, there are maturity models, standards,methodologies, and guidelines that can help an organization improvethe way it does business. However, most available improvementapproaches focus on a specific part of the business and do not take asystemic approach to the problems that most organizations are facing.By focusing on improving one area of a business, these models haveunfortunately perpetuated the stovepipes and barriers that exist inorganizations.

Capability Maturity Model Integration (CMMI) provides an oppor-tunity to avoid or eliminate these stovepipes and barriers throughintegrated models that transcend disciplines. CMMI for Developmentconsists of best practices that address development and maintenanceactivities applied to products and services. It addresses practices that

3

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 3

Page 4: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

cover the product’s lifecycle from conception through delivery andmaintenance. The emphasis is on the work necessary to build andmaintain the total product.

About Capability Maturity Models

In its research to help organizations develop and maintain qualityproducts and services, the Software Engineering Institute (SEI) hasfound several dimensions that an organization can focus on toimprove its business. Figure 1.1 illustrates the three critical dimen-sions that organizations typically focus on: people, procedures andmethods, and tools and equipment.

But what holds everything together? It is the processes used inyour organization. Processes allow you to align the way you do busi-ness. They allow you to address scalability and provide a way toincorporate knowledge of how to do things better. Processes allowyou 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 ofmagnitude every ten years. Similarly, people typically work for manycompanies throughout their careers. We live in a dynamic world. Afocus on process provides the infrastructure necessary to deal withan ever-changing world, and to maximize the productivity of peopleand the use of technology to be more competitive.

4 PART ONE ABOUT CMMI FOR DEVELOPMENT

FIGURE 1.1The Three Critical Dimensions

Tools andequipment

Peoplewith skills,training, andmotivation

Process

A

Procedures and methodsdefining the relationship

of tasks

B

C

D

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 4

Page 5: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

Manufacturing has long recognized the importance of processeffectiveness and efficiency. Today, many organizations in manufac-turing and service industries recognize the importance of qualityprocesses. Process helps an organization’s workforce meet businessobjectives by helping them work smarter, not harder, and withimproved consistency. Effective processes also provide a vehicle forintroducing and using new technology in a way that best meets thebusiness objectives of the organization.

In the 1930s, Walter Shewhart began work in process improve-ment with his principles of statistical quality control [Shewhart1931]. These principles were refined by W. Edwards Deming [Dem-ing 1986], Phillip Crosby [Crosby 1979], and Joseph Juran [Juran1988]. Watts Humphrey, Ron Radice, and others extended theseprinciples even further and began applying them to software in theirwork at IBM and the SEI [Humphrey 1989]. Humphrey’s book, Man-aging the Software Process, provides a description of the basic princi-ples and concepts on which many of the capability maturity models(CMMs) are based.

The SEI has taken the process management premise, “the qualityof a system or product is highly influenced by the quality of theprocess used to develop and maintain it,” and defined CMMs thatembody this premise. The belief in this premise is seen worldwidein quality movements, as evidenced by the International Organiza-tion for Standardization/International Electrotechnical Commission(ISO/IEC) body of standards.

CMMI: History and Direction

by Watts S. Humphrey

To understand the future, we must consider where we have been,how we got here, and our current direction. I will describe the gen-esis of CMMI, the ideas that contributed to its design, some currentissues, and thoughts on what to do next.

HistoryFive principal ideas from a broad array of fields originally inspiredthe CMMI model and appraisal process. These ideas were

1. Planning, tracking, and schedule management

2. Requirements definition and configuration control

Chapter 1 Introduction 5

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 5

Page 6: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

3. Process assessment

4. Quality measurement and continuous improvement

5. Evolutionary improvement

We now know that these concepts apply to software and sys-tems development work, but it was not obvious in 1986 whenCMM development started, or in 1966 when I first tried to applysome of these ideas as IBM’s director of software development.

Planning, Tracking, and Schedule ManagementAfter completing my technical studies, I got an M.B.A. in manufac-turing. Professor Judson Neff asserted that the only way to managecomplex operations was to manage to detailed and precise plans. Inmy first job, I inherited a troubled development project. We madeplans and tracked schedules and the project recovered.

Later, when in charge of all of IBM’s programming development,my projects were again troubled and I again had everyone make andtrack to detailed plans. We did not miss a commitment for severalyears. We quickly got schedule control of an organization of 4,000developers in 15 laboratories and 6 countries.

Requirements Definition and Configuration ControlI soon learned two more critical lessons. First, if you don’t allowany requirements changes, you could build the wrong product andwaste the entire development effort. Second, if you don’t rigorouslycontrol changes, you will never finish development.

Process AssessmentLater, Dr. Art Anderson, IBM’s senior vice president for develop-ment and manufacturing, asked me to fix IBM’s semiconductoroperations. We used an assessment method he had tried in IBMResearch to help people solve their own problems. In IBM’s Burling-ton, Vermont, semiconductor operation, Art explained that IBMcould buy imported chips from Japan at lower prices than Burling-ton’s costs. Even IBM could not afford to do this. If this operationwas not soon competitive, we would shut it down. By assessingtheir own operations, this team solved their cost problem and soonbecame the world’s lowest-cost semiconductor producer.

Quality Measurement and Continuous ImprovementThe Burlington engineers controlled their costs through yield man-agement. By more than doubling yield, they cut costs by more than

6 PART ONE ABOUT CMMI FOR DEVELOPMENT

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 6

Page 7: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

half. To do this, even the factory workers had to measure, track, andanalyze every step of their work.

Evolutionary ImprovementWhen I was IBM’s director of software quality and process, RonRadice and I attended a Phil Crosby quality management course thatused a five-level maturity model. Ron then used Crosby’s maturityframework and Anderson’s assessment strategy to accelerate IBM’ssoftware process improvement. A laboratory’s first assessment wasgenerally successful but the second and third ones were not. Theproblem was that the Crosby maturity levels were based on subjec-tive attitude judgments rather than specific software activities.

Air Force AcquisitionWhen I retired from IBM, my first SEI assignment was to improvesoftware source selection for the U.S. Air Force. We worked withCol. Jack Ferguson of the Air Force and Martin Owens and othersfrom MITRE on a way to evaluate organizational capability. Organi-zations that used the best management and technical practices intheir development projects seemed likely to do the best work, so wedevised an 85-question questionnaire that covered

• Project planning

• Project tracking

• Schedule management

• Requirements management

• Configuration control

• Quality measurement

• Continuous process improvement

To rank the results, we grouped the 85 questions in a Crosby-like maturity framework. This became the first version of what ulti-mately became CMMI.

Current ChallengesThe ideas behind CMMI came from many fields and benefited frommany people’s experiences. Three issues now lie ahead of us.

First, with increasing marketplace pressure, organizations oftenfocus on maturity levels rather than process capability. Maturity lev-els cannot comprehensively measure organizational capability. Theycan indicate risky process areas or guide process improvement by

Chapter 1 Introduction 7

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 7

Page 8: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

describing a minimum set of activities necessary. We now see caseswhere high-maturity ratings do not indicate effective, high-maturitypractices. It is not that the appraisal process is faulty or that organi-zations are dishonest, merely that the maturity framework does notlook deeply enough into all organizational practices.

The second issue concerns adjusting the CMMI Framework andappraisal methods to address this problem. Without change, we canexpect more cases where high-maturity ratings will not generallycorrelate with better performance. Two lessons from my earlierexperiences suggest a way to address this issue.

1. To truly control complex and precise work, everyone must man-age to detailed and precise plans.

2. Everyone must measure and manage quality.

To guide software developers in applying these principles totheir work, the SEI developed the Personal Software Process (PSP)and the Team Software Process (TSP). When developers have usedthe PSP and TSP, appraisers have detected these practices with aCMMI appraisal. It therefore appears that the PSP and TSP can helpfoster mature developer practices. The SEI is now adapting the PSPand TSP to systems development and acquisition work.

This, however, leads to the third issue: flexibility. CMMI doesnot define in detail how to do development work; the focus is onwhat to do. However, the PSP and TSP specify how project plan-ning, tracking, and quality management are performed. The issueconcerns ways to incorporate such practices and principles into theCMMI model and method without switching the focus from whatto how. The need is to encompass these proven principles and prac-tices without constraining development organizations as the tech-nology advances. The SEI is working on these issues as we strive toimprove the effectiveness of these methods and models.

CMMs focus on improving processes in an organization. Theycontain the essential elements of effective processes for one or moredisciplines and describe an evolutionary improvement path from adhoc, immature processes to disciplined, mature processes withimproved quality and effectiveness.

The SEI created the first CMM designed for software organiza-tions and published it in a book, The Capability Maturity Model:Guidelines for Improving the Software Process [SEI 1995].

8 PART ONE ABOUT CMMI FOR DEVELOPMENT

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 8

Page 9: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

The SEI’s book applied the principles introduced almost a centuryago to this never-ending cycle of process improvement. The value ofthis process improvement approach has been confirmed over time.Organizations have experienced increased productivity and quality,improved cycle time, and more accurate and predictable schedulesand budgets [Gibson 2006].

Evolution of CMMI

CMMI: From the Past and into the Future

by Mike Phillips

As we launch this update to the CMMI models, it is appropriate toview the heritage that led us to this point, and give some insightinto where we believe the work is headed in the future.

The PastModels with levels of improvement go back to the emphasis onmanufacturing quality expressed by Philip Crosby. Shortly after thecreation of the SEI, the U.S. Air Force asked the SEI to identify keypractices that a contractor had to perform to deliver software-inten-sive systems reliably. By 1991, this tracking of practices, and meas-urement across a stepped approach for improvement like thatpioneered by Crosby, had matured into the Capability MaturityModel for Software (SW-CMM).

The success of this model for one engineering discipline led tosimilar efforts for other elements of the product development com-munity. Interest in such models for systems engineering processimprovement led to two models produced in 1994. The first was theSystems Engineering CMM, created by the Enterprise ProcessImprovement Collaboration (EPIC), with SEI participation.

The second model, the Systems Engineering Capability andAssessment Method, or SECAM, was created by the InternationalCouncil on Systems Engineering (INCOSE). Four years later thesetwo models were successfully merged into Electronic IndustriesAlliance (EIA) Interim Standard 731 as a result of a collaborativeeffort of EIA, EPIC, and INCOSE. In 1996, a sister to the SW-CMMwas created to cover key practices in software acquisition—the Soft-ware Acquisition Capability Maturity Model, or SA-CMM. Concernsabout preserving and enhancing the capabilities of developmental

Chapter 1 Introduction 9

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 9

Page 10: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

engineering staff led the SEI to create the People Capability MaturityModel (P-CMM) in 1995.

That year, work was also underway at the SEI to produce anupdate to the SW-CMM, and to produce a model that would cap-ture concurrent engineering practices in an Integrated ProductDevelopment CMM. The Institute’s sponsor, the U.S. Department ofDefense (DoD), determined that these efforts should be merged intoan integrated model, to be called the model we now know as Capa-bility Maturity Model Integration (CMMI).

The feasibility of integrating a diverse set of maturity models hadbeen demonstrated earlier that year by the Federal Aviation Adminis-tration (FAA), which had developed an integrated capability maturitymodel (FAA-iCMM v1.0). Due to the widespread focus on integratedproduct and process development (IPPD) by the DoD and industry, itwas decided that the initial focus of the CMMI effort would be inte-gration of systems engineering, software engineering, and IPPD.

The CMMI Product Team produced two draft versions of theCMMI models before settling on the combination that became aninitial release in 2000, which included versions for systems engi-neering, software engineering, and integrated product and processdevelopment. Due to minor changes as we released versions, thesebecame known as v1.02 by the December 2000 release. At the sametime, we released a draft version to provide initial thinking aboutacquisition, called v1.02d.

We then took a year to gather results from the initial releasebefore producing a refinement of the material that we wished to sta-bilize for a longer period. The first of these models was released inDecember 2001 as v1.1. With CMMI Steering Group approval, weadded a variant that included some of the acquisition practices as aSupplier Sourcing addition in April 2002. This version became thebasis for the previous edition of this Addison-Wesley book.

The PresentThe use of CMMI v1.1 has exceeded our expectations. As I writethis in February 2006, the SEI and its Partners have trained morethan 45,000 people and conducted about 1,500 appraisals to meas-ure process improvement progress. The model has become a defacto standard for software-intensive system development, and hasshown value for demonstrating process discipline against gover-nance audits like Sarbanes-Oxley.

As we investigated what changes might be needed for a next ver-sion, the CMMI Steering Group agreed that we should reexamine

10 PART ONE ABOUT CMMI FOR DEVELOPMENT

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 10

Page 11: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

the architecture of the existing version to see if it might be improved.The Architecture team agreed that with some relatively minorchanges, we could make the overall framework more easily extensi-ble into domains of interest to the community that found some partsof the existing models very useful, but other parts difficult to applyin their domains. The changes to the architecture that wereapproved had little impact on the development elements, but didallow some consolidation of the practices that you will see insidethis book. They were, however, highly significant in allowing syner-gistic expansion into areas closely related to development, like serv-ices and acquisition.

The FutureWe see both near-term and more distant opportunities to expand thevalue of the CMMI Product Suite. As I mentioned earlier, we have anear-term opportunity to expand coverage through the use of vari-ants we are currently calling “constellations.” Two that are under ini-tial development are constellations for acquisition and for services.Each will have elements that are the same as those in this book, plussome elements of coverage that may be unique to the domain, andperhaps some elements shared with another constellation.

While these new constellations are in early development, theclear commitment of both development teams for these domains isto maximize the commonality across the constellations. This com-monality will aid in reducing the amount of training or appraisalpreparation required for the various areas of CMMI coverage. Com-monality will also aid us in addressing other standards, such asITIL, in a complementary fashion.

We have also heard from the community of its interest in cover-ing other areas that deserve the focused attention of processimprovement. While some may need the full treatment of a newconstellation, others may be best addressed by providing interpre-tive guidance or expanded coverage of specific practices and goalsfor an area. For areas like safety, security, and design engineering,we will be investigating approaches that will build on the value ofthe CMMI Framework to provide support to more and more of thecommunity.

Since 1991, CMMs have been developed for myriad disciplines.Some of the most notable include models for systems engineering, soft-ware engineering, software acquisition, workforce management anddevelopment, and integrated product and process development (IPPD).

Chapter 1 Introduction 11

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 11

Page 12: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

Although these models have proven useful to many organizationsin different industries, the use of multiple models has been problem-atic. Many organizations would like their improvement efforts tospan different groups in their organizations. However, the differencesamong the discipline-specific models used by each group, includingtheir architecture, content, and approach, have limited these organi-zations’ capabilities to broaden their improvements successfully. Fur-ther, applying multiple models that are not integrated within andacross an organization is costly in terms of training, appraisals, andimprovement activities.

The CMM Integration project was formed to sort out the problemof using multiple CMMs. The CMMI Product Team’s initial missionwas to combine three source models:

1. The Capability Maturity Model for Software (SW-CMM) v2.0 draft C[SEI 1997b]

2. The Systems Engineering Capability Model (SECM) [EIA 1998]1

3. The Integrated Product Development Capability Maturity Model(IPD-CMM) v0.98 [SEI 1997a]

The combination of these models into a single improvementframework was intended for use by organizations in their pursuit ofenterprise-wide process improvement.

These three source models were selected because of their wide-spread adoption in the software and systems engineering communi-ties and because of their different approaches to improving processesin an organization.

Using information from these popular and well-regarded modelsas source material, the CMMI Product Team created a cohesive set ofintegrated models that can be adopted by those currently using thesource models, as well as by those new to the CMM concept. Hence,CMMI is a result of the evolution of the SW-CMM, the SECM, andthe IPD-CMM.

Developing a set of integrated models involved more than simplycombining existing model materials. Using processes that promoteconsensus, the CMMI Product Team built a framework that accom-modates multiple disciplines and is flexible enough to support thedifferent approaches of the source models [Ahern 2003].

12 PART ONE ABOUT CMMI FOR DEVELOPMENT

1. The Systems Engineering Capability Model is also known as Electronic IndustriesAlliance 731 (EIA 731).

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 12

Page 13: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

CMMI: Integration and Improvement Continue

by Bob Rassa

It is hard to believe that CMMI is almost ten years old: nearly fiveyears in development and slightly more than five years since its firstrelease. When the National Defense Industrial Association’s (NDIA)Systems Engineering Division was just a fledgling, I, as the directorof systems engineering, got together with Mark Schaeffer, of theoffice of the U.S. Under Secretary of Defense, and we decided thatthe current CMM environment was diverging. We saw that softwarewas going in one direction and systems engineering was going inanother direction, and that other discipline-specific maturity mod-els were popping up. Because of the nature of this environment, wedecided it was time to take positive action. Despite a competentsoftware process maturity model, the U.S. DoD realized that soft-ware problems were still a large cause of program failures. Bringingstronger systems engineering into play was considered an importantpart of solving this problem. It was clear that the divergence ofmaturity models kept these two communities apart.

We consulted with Roger Bate, now the CMMI chief architect,about the feasibility of building an integrated model that could sup-port best practices in multiple areas. After conducting in-depthanalyses, Roger confirmed that this new idea could be imple-mented. We then decided it was time to create an integrated CMM.

The result of this decision was CMMI-SE/SW, an integratedmaturity model that brought these two important disciplinestogether in terms of process maturity. As CMMI developmentensued, we realized that most of the critical processes for these dis-ciplines were in fact common, thus validating the concept. Shortlyafter the initial release of CMMI-SE/SW in November 2000, wereleased the IPPD environment, and then Supplier Sourcing (SS) toround out the product suite.

Even though it was designed to apply to all aspects of productor service design (including hardware design) the model retainedthe SE and SW designations to preserve ties to the legacy models(i.e., EIA 731 and the Software CMM). Whether this was a gooddecision is moot, since the results are impressive. Far more than1,000 Class A appraisals have been reported in just four years afterthe release of CMMI, and as of January 2006, more than 45,000individuals have received “Introduction to CMMI” training, andthis number typically increases between 1,000 and 1,500 per

Chapter 1 Introduction 13

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 13

Page 14: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

month. The success in CMMI recognition and adoption by theindustrial complex is undeniable.

One downside to the naming convention used for CMMI mod-els has been the view that the principal activities within the organi-zation to which CMMI applies are software and systemsengineering, and of course, nothing can be further from the truth.To gain maximum benefit from CMMI adoption and implementa-tion, CMMI must be applied to the entire development structure ofthe organization, and to that end the latest release of CMMI (v1.2)is called CMMI for Development (CMMI-DEV) to clearly signify itsapplication to the full spectrum of product and service design.

The v1.2 architecture has also undergone a slight morphing toaccommodate two additional applications of CMMI, designated CMMIfor Acquisition (CMMI-ACQ) and CMMI for Services (CMMI-SVC).CMMI-ACQ is the name of a process maturity model for acquisitionorganizations. CMMI-SVC is the name of the model for organizationsproviding services. Both of these models are being developed at therequest of the industrial complex and will appear shortly after CMMI-DEV v1.2 is released. These two additional “constellations,” as theyare called in CMMI parlance, will round out the product suite.

One additional legacy of the pre-CMMI models is retained inv1.2—namely, the concept of both staged and continuous represen-tations—but they are taught in a common “Introduction to CMMI”course which is the only introductory course now offered.

CMMI is truly state of the art in terms of process maturity, andsubstantive benefits have been reported to and summarized by thedesignated CMMI steward, the SEI, of Carnegie Mellon University.However, to be truly effective CMMI must be applied in a conscien-tious manner within the organization. When we started the initialdevelopment of CMMI, it was well publicized that its purpose was tointegrate the divergent maturity models. We soon realized that thereal purpose that should have been communicated as the ultimatebenefit of CMMI was that CMMI would integrate the design disci-plines in terms of both process and performance. To achieve this ulti-mate benefit, care is needed to make sure that integrated processesare put into place within the organization, that such processes areimplemented across the enterprise on all new programs and projects,and that such implementation is done in a thorough manner toassure that new programs start out on the right foot.

This book provides the latest guidance toward CMMI implemen-tation. It covers all the specifics, addresses nuances of interpretation,and contains expert advice useful to both new and experienced prac-titioners. Hundreds of process improvement experts have contributed

14 PART ONE ABOUT CMMI FOR DEVELOPMENT

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 14

Page 15: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

to CMMI development, and many of them contributed their expertiseto this volume for the benefit of the industrial complex. We trust youwill enjoy their work.

Since the release of CMMI v1.1, we have seen that this improve-ment framework can be applied to other areas of interest [SEI 2002a,SEI 2002b]. To apply to multiple areas of interest, the frameworkgroups best practices into what we call “constellations.” A constella-tion is a collection of CMMI components that are used to build mod-els, training materials, and appraisal documents.

Recently, the CMMI model architecture was improved to supportmultiple constellations and the sharing of best practices among con-stellations and their member models. Work has begun on two newconstellations: one for services (CMMI for Services) and the other foracquisition (CMMI for Acquisition). Although CMMI for Develop-ment incorporates the development of services, including the combi-nation of components, consumables, and people intended to meetservice requirements, it differs from the planned CMMI for Services(CMMI-SVC), which focuses on the delivery of services. The CMMImodels that have been available in the community prior to 2006 arenow considered part of the CMMI for Development constellation.

Chapter 1 Introduction 15

FIGURE 1.2The History of CMMs

v1.02 (2000)

v1.1 (2002)

History of CMMs

CMM for Softwarev1.1 (1993)

Systems EngineeringCMM v1.1 (1995)

EIA 731 SECM(1998)

INCOSE SECAM(1996)

Software CMMv2 draft C (1997)

CMMI for Developmentv1.2 (2006) CMMI for Acquisition

v1.2 (2007) CMMI for Services v1.2 (2007)

Integrated ProductDevelopment CMM(1997)

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 15

Page 16: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

The Architecture of the CMMI Framework

by Roger Bate

The CMMI Product Suite has been published in two main versions:version 1.0 released in 2000, and version 1.1 released in 2002. Asthe product suite was used in disparate industries and organiza-tions, it became apparent that CMMI could be applied to all kindsof product development, especially if the terminology was kept gen-eral for similar practices.

A further revelation was that the process and project manage-ment practices of the model are suitable for a wide range of activi-ties besides development. This discovery led me to propose that weshould enable the expansion of CMMI, including the extension ofthe scope of the CMMI Framework, by creating a new architecturefor the CMMI Framework.

This new architecture would accommodate other areas of interest(e.g., services, acquisition, and development). I was musing one dayabout the valuable best practices that were contained in models. Ibegan to think of them as the stars of process improvement. I pushedthis metaphor a little further to call the collection of components thatwould be useful in building a model, its training materials, andappraisal documents for an area of interest a constellation. This wasthe beginning of the architecture that was eventually created.

There are two primary objectives for the CMMI Frameworkarchitecture.

1. Enable the coverage of selected areas of interest to make usefuland effective processes.

2. Promote maximum commonality of goals and practices acrossmodels, training materials, and appraisal methods.

These objectives pull in opposite directions; therefore, thearchitecture was designed as a bit of a compromise.

The CMMI Framework will be used in CMMI v1.2 and beyondto accommodate additional content that the user community indi-cates is desirable. The framework contains components used toconstruct models and their corresponding training and appraisalmaterials. The framework is organized so that the models con-structed will benefit from common terminology and common prac-tices that have proven to be valuable in previous models.

16 PART ONE ABOUT CMMI FOR DEVELOPMENT

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 16

Page 17: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

The CMMI Framework is a collection of all model components,training material components, and appraisal components. Thesecomponents are organized into groupings, called “constellations,”which facilitate construction of approved models and preserve thelegacy of existing CMM and CMMI models.

In the framework, there are constellations of components thatare used to construct models in an area of interest (e.g., Acquisition,Development, and Services). Also in the framework, there is aCMMI model foundation. This foundation is a skeleton model thatcontains the core model components in a CMMI model structure.The content of the CMMI model foundation is apropos to all areasof interest addressed by the constellations. A CMMI model for aconstellation is constructed by inserting additional model compo-nents into the CMMI model foundation.

Since the CMMI architecture is designed to encourage preservingas much common material as is reasonable in a multiple-constellationenvironment, the framework contains and controls all CMMI mate-rial that can be used to produce any constellation or model. However,a majority of components of the framework are expected to be sharedamong most of the constellations and models.

CMMI models have a defined structure. This structure isdesigned to provide familiar placement of model components ofvarious constellations and versions. If you look at the structure of aprocess area, you’ll see components including Process Area Name,Category, Maturity Level, Purpose, Introductory Notes, References,and Specific Goals. You will also find that every process area in thismodel (i.e., CMMI for Development) and all other CMMI modelsproduced from the CMMI Framework have the same structure. Thisfeature helps you to understand quickly where to look for informa-tion in any CMMI model.

One of the benefits of having a common architecture and a largeportion of common content in the various models is that the effortrequired to write models, train users, and appraise organizations isgreatly reduced. The capability to add model components to thecommon process areas permits the models to expand their scope ofcoverage to a greater variety of needs. In addition, whole newprocess areas may be added to provide greater coverage of differentareas of interest in the constellations.

CMMI models have a great deal of well-tested content that canbe used to guide the creation of high-performance processes. TheCMMI architecture permits that valuable content to continue towork in different areas of interest, while allowing for innovationand agility in responding to new needs.

Chapter 1 Introduction 17

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 17

Page 18: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

So, you see that CMMI is growing beyond the star practices ofthe three original source models, and into constellations. Thisexpansion into the “galaxy” is possible only with a well-thought-out and designed architecture to support it. The CMMI architecturehas been designed to provide such support and will grow as neededto continue into the future.

CMMI for Development

The CMMI for Development constellation consists of two models:CMMI for Development +IPPD and CMMI for Development (with-out IPPD). Both models share much of their material and are identi-cal in these shared areas. However, CMMI for Development +IPPDcontains additional goals and practices that cover IPPD.

Currently, only one model is published since the CMMI forDevelopment +IPPD model contains the full complement of practicesavailable in this constellation, and you can derive the other modelfrom this material. If you are not using IPPD, ignore the informationthat is marked “IPPD Addition,” and you will be using the CMMI forDevelopment model. If the need arises or the development constella-tion is expanded, the architecture will allow other models to be gen-erated and published.

CMMI for Development is the designated successor of the threesource models. The SEI has retired the Software CMM and the IPD-CMM. EIA has retired the SECM. All three of these models are suc-ceeded by CMMI for Development.

The best practices in the CMMI models have gone through anextensive review process. CMMI version 0.2 was publicly reviewedand used in pilot activities. The CMMI Product Team evaluated morethan 3,000 change requests to create CMMI version 1.0. Shortlythereafter, version 1.02 was released, which incorporated severalminor improvements. Version 1.1 incorporated improvementsguided by feedback from early use, with more than 1,500 changerequests submitted as part of the public review, and hundreds ofcomments as part of the change control process.

CMMI version 1.2 was developed using input from nearly 2,000change requests submitted by CMMI users. More than 750 of thoserequests were directed at CMMI model content. As you can see, notonly is CMMI widely adopted, but it is improved based on the feed-back received from the community.

18 PART ONE ABOUT CMMI FOR DEVELOPMENT

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 18

Page 19: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

Stewardship of the CMMI Product Suite

by Bill Peterson

CMMI has become widely used in various industries around theworld. CMMI’s development and enhancement are sponsored bytwo organizations: the Office of the Under Secretary of Defense forAcquisition, Technology, and Logistics (OUSD/AT&L), and theNational Defense Industrial Association (NDIA) Systems Engineer-ing Committee (SEC). These two organizations, and others fromgovernment, industry, and the SEI, work hand in hand to ensurethat CMMI continues to meet the needs of and is available for gov-ernment and industry use.

The SEI serves as the steward of the CMMI Product Suite. Assteward, the SEI has the responsibility to coordinate CMMI-relatedactivities and communicate with CMMI users and the public. Thisrole fits nicely with the SEI’s mission to “advance software engineer-ing and related disciplines to ensure the development and operationof systems with predictable and improved cost, schedule, and qual-ity.” Certainly CMMI aids organizations in meeting these goals, andthe SEI’s role as steward enables it to maintain quality in the prod-uct suite, promote proper application of CMMI, and communicateto those who need information about CMMI. The SEI as stewardprovides coordination to ensure that members are involved acrossgovernment, industry, and academia.

The CMMI Steering Group is the executive team that steers thedevelopment of CMMI and makes decisions on the direction of theCMMI Product Suite. The steering group consists of membersappointed from government, industry, and the SEI. This group nowdirects and oversees CMMI maintenance and enhancements, theintroduction of new disciplines to be included in CMMI, and the char-tering of new development and maintenance projects. The group alsoreviews plans and sponsorship support of work proposed by others.

The development and maintenance of CMMI rest with theCMMI Product Team, a multiorganizational mix of people fromgovernment, industry, and the SEI. The CMMI Product Team iscomposed of different project teams that develop and maintainCMMI products, such as CMMI models and “Introduction toCMMI” training, as well as the SCAMPI A appraisal method. Teammembers represent the various disciplines and domains covered inCMMI’s best practices. Also included in the product team are a project

Chapter 1 Introduction 19

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 19

Page 20: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

manager and a chief architect. The project manager coordinates thework of the product teams and the chief architect coordinates withthe CMMI Steering Group to chart the future expansion of CMMImodels and related products.

As part of the stewardship role, the SEI coordinates a changerequest process to gather feedback about the CMMI Product Suitefrom CMMI users and the public. Any individual from anywhere inthe world can submit a change request. These change requests arereviewed and designed into product improvements proposed by theProduct Team, which are then reviewed and approved or rejected bythe CMMI configuration control board (CCB) for inclusion into anupdate release of the product suite. The CCB consists of membersfrom multiple organizations and represents different roles/segmentsof the CMMI user base. Change requests that would result in signif-icant change to the CMMI Product Suite are also reviewed with theCMMI Steering Group.

All of these groups must interact in order to continuallyimprove the CMMI Product Suite in a way that best meets the needsof CMMI users. Further, the results of the efforts of these groupsmust be communicated to CMMI users and the public.

The activities of the CMMI steward support and facilitate thecoordination of all of these groups as well as the maintenance andevolution of the CMMI Product Suite. The steward is responsiblefor providing project management coordination of CMMI ProductSuite maintenance and enhancements. This responsibility includesfacilitating the gathering of feedback from CMMI users and theproduct team, distributing new and improved best practices in thefield, and integrating new disciplines or additional features (asdirected by the steering group).

Beside managing updates to the CMMI Product Suite, the stew-ard has other responsibilities that occur on a regular basis andinclude the following:

• Providing broad access to CMMI models, the appraisal methoddefinition, and other information on the SEI Web site

• Creating and maintaining training materials

• Conducting and managing the authorizations of CMMIinstructors and lead appraisers and licensing the network ofCMMI partners

• Maintaining a quality assurance program that oversees appraisaland training activities to ensure that they support results thatare valid, consistent, repeatable, comparable, and of the highestintegrity and credibility

20 PART ONE ABOUT CMMI FOR DEVELOPMENT

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 20

Page 21: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

• Communicating to CMMI users and the public about the CMMIFramework and Product Suite

• Supporting relevant national and international standardizationactivities as part of leveraging developer and user investmentsin CMMI

• Identifying, measuring, and reporting on successes and barriersto success as experienced by CMMI users

• Funding stewardship activities

• Ensuring that standard procedures are followed for soliciting,processing, reporting, and testing improvements to existingCMMI work products

CMMI’s sponsors, steering group, product team, CCB, and stew-ard all share a long-term vision for CMMI. These groups see CMMIcontinuing to be widely adopted both nationally and internationally.Because CMMI supports the business goals and objectives of organi-zations that use it, the groups also see CMMI as the framework ofchoice for process improvement across multiple disciplines in anorganization. Finally, these groups envision CMMI as being sup-ported by appraisal methods that ensure efficient and cost-effectiveappraisals that provide the highest quality and integrity measures ofan organization’s capabilities.

The role of the CMMI steward, with the assistance of all theother CMMI groups, continually improves the CMMI Product Suiteso that it better meets the needs of organizations worldwide, andrealizes the vision shared by all.

The Scope of CMMI for Development

CMMI for Development is a reference model that covers the develop-ment and maintenance activities applied to both products and serv-ices. Organizations from many industries, including aerospace,banking, computer hardware, software, defense, automobile manu-facturing, and telecommunications, use CMMI for Development.

Models in the CMMI for Development constellation containpractices that cover project management, process management,systems engineering, hardware engineering, software engineering,and other supporting processes used in development and mainte-nance. The CMMI for Development +IPPD model also covers theuse of integrated teams for development and maintenance activi-ties (IPPD).

Chapter 1 Introduction 21

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 21

Page 22: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

The Group of IPPD Additions

In CMMI, “additions” are used to include material that may be ofinterest to particular users. For the CMMI for Development constel-lation, additional material was included to address IPPD.

The IPPD group of additions covers an IPPD approach that includespractices that help organizations achieve the timely collaboration of rele-vant stakeholders throughout the life of the product to satisfy customers’needs, expectations, and requirements [DoD 1996]. When usingprocesses that support an IPPD approach, you should integrate theseprocesses with other processes in the organization. To support thoseusing IPPD-related processes, the CMMI for Development constellationallows organizations to optionally select the IPPD group of additions.

When you select CMMI for Development +IPPD, you are selectingthe CMMI for Development model plus all the IPPD additions. Whenyou select CMMI for Development, you are selecting the model with-out the IPPD additions. In the text in Part One of this book, we mayuse “CMMI for Development” to refer to either of these models, forthe sake of brevity.

Resolving Different Approaches of CMMs

The definition of a CMM allows the community to develop modelssupporting different approaches to process improvement. As long asa model contains the essential elements of effective processes for oneor more disciplines and describes an evolutionary improvement pathfrom ad hoc, immature processes to disciplined, mature processeswith improved quality and effectiveness, it is considered a CMM.CMMI enables you to approach process improvement and appraisalsusing two different representations: continuous and staged.

The continuous representation enables an organization to select aprocess area (or group of process areas) and improve processesrelated to it. This representation uses capability levels to characterizeimprovement relative to an individual process area.

The staged representation uses predefined sets of process areas todefine an improvement path for an organization. This improvementpath is characterized by maturity levels. Each maturity level provides aset of process areas that characterize different organizational behaviors.

Choosing a Representation

If you are new to process improvement and are not familiar witheither the staged or the continuous representation, you cannot go

22 PART ONE ABOUT CMMI FOR DEVELOPMENT

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 22

Page 23: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

wrong if you choose one representation or the other. There are manyvalid reasons to select either representation.

If you have been using a CMM and you are familiar with a partic-ular representation, we suggest that you continue to use that repre-sentation because it will make the transition to CMMI easier. Onceyou have become completely comfortable with CMMI, you mightthen decide to use the other representation.

Because each representation has advantages over the other, someorganizations use both representations to address particular needs atvarious times in their improvement programs. In the following sections,we provide the advantages and disadvantages of each representation tohelp you decide which representation is best for your organization.

Continuous Representation

The continuous representation offers maximum flexibility when usinga CMMI model for process improvement. An organization may chooseto improve the performance of a single process-related trouble spot, orit can work on several areas that are closely aligned to the organiza-tion’s business objectives. The continuous representation also allowsan organization to improve different processes at different rates. Thereare some limitations on an organization’s choices because of thedependencies among some process areas.

If you know the processes that need to be improved in yourorganization and you understand the dependencies among theprocess areas described in CMMI, the continuous representation is agood choice for your organization.

Staged Representation

The staged representation offers a systematic, structured way toapproach model-based process improvement one stage at a time.Achieving each stage ensures that an adequate process infrastructurehas been laid as a foundation for the next stage.

Process areas are organized by maturity levels that take some ofthe guesswork out of process improvement. The staged representa-tion prescribes an order for implementing process areas according tomaturity levels, which define the improvement path for an organiza-tion from the initial level to the optimizing level. Achieving eachmaturity level ensures that an adequate improvement foundation hasbeen laid for the next maturity level and allows for lasting, incremen-tal improvement.

If you do not know where to start and which processes to chooseto improve, the staged representation is a good choice for you. It

Chapter 1 Introduction 23

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 23

Page 24: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

gives you a specific set of processes to improve at each stage that hasbeen determined through more than a decade of research and experi-ence with process improvement.

Comparison of the Continuous and Staged Representations

Table 1.1 compares the advantages of each representation and mayassist you with determining which representation is right for yourorganization.

Factors in Your Decision

Three categories of factors that may influence your decision whenselecting a representation are business, culture, and legacy.

Business FactorsAn organization with mature knowledge of its own business objec-tives is likely to have a strong mapping of its processes to its businessobjectives. Such an organization may find the continuous representa-tion useful to appraise its processes and in determining how well theorganization’s processes support and meet its business objectives.

If an organization with a product-line focus decides to improveprocesses across the entire organization, it might be served best by thestaged representation. The staged representation will help an organi-zation select the critical processes to focus on for improvement.

24 PART ONE ABOUT CMMI FOR DEVELOPMENT

TABLE 1.1 Comparative Advantages of Continuous and Staged Representations

Continuous Representation Staged Representation

Grants explicit freedom to select the Enables organizations to have a predefined order of improvement that best meets and proven improvement paththe organization’s business objectives and mitigates the organization’s areas of risk

Enables increased visibility of the Focuses on a set of processes that provide an capability achieved in each individual organization with a specific capability that is process area characterized by each maturity level

Allows improvements of different Summarizes process improvement results in processes to be performed at different a simple form—a single maturity-level rates number

Reflects a newer approach that does not Builds on a relatively long history of use that yet have the data to demonstrate its ties includes case studies and data that to return on investment demonstrate return on investment

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 24

Page 25: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

The same organization may opt to improve processes by productline. In that case, it might select the continuous representation—anda different appraised rating of capability might be achieved for eachproduct line. Both approaches are valid. The most important consid-eration is which business objectives you would like your processimprovement program to support and how these business objectivesalign with the two representations.

Cultural FactorsCultural factors to consider when selecting a representation have to dowith an organization’s capability to deploy a process improvement pro-gram. For instance, an organization might select the continuous repre-sentation if the corporate culture is process based and experienced inprocess improvement or has a specific process that needs to beimproved quickly. An organization that has little experience in processimprovement may choose the staged representation, which providesadditional guidance on the order in which changes should occur.

LegacyIf an organization has experience with another model that has astaged representation, it may be wise to continue with the staged rep-resentation when using CMMI, especially if it has invested resourcesand deployed processes across the organization that are associatedwith a staged representation. The same is true for the continuous rep-resentation.

Why Not Both Representations?

Whether used for process improvement or appraisals, both representa-tions are designed to offer essentially equivalent results. Nearly all ofthe CMMI model content is common to both representations. There-fore, an organization need not select one representation over another.

In fact, an organization may find utility in both representations. Itis rare that an organization will implement either representationexactly as prescribed. Organizations that are successful in processimprovement often define an improvement plan that focuses on theunique needs of that organization and therefore use the principles ofboth the staged and the continuous representations.

For example, organizations that select the staged representation andare at maturity level 1 often implement the maturity level 2 processareas but also the Organizational Process Focus process area, which isincluded at maturity level 3. Another example is an organization that

Chapter 1 Introduction 25

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 25

Page 26: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

chooses the continuous representation for guiding its internal processimprovement effort and then chooses the staged representation to con-duct an appraisal.

CMMI and Six Sigma

by Lynn Penn

Capability Maturity Model Integration (CMMI) and Six Sigma areincreasingly being discussed in the same conversation. While theydo not share a common heritage—one is from the software engi-neering world and the other is from the manufacturing world—theydo share common roots in the principles of Crosby, Deming, et al.Organizations that have endeavored to apply them both typicallyhave managed, budgeted, and resourced the two initiatives sepa-rately. This led to not only minimal integration of the initiatives,but also competition between them. Recent research, however, hasshown that these initiatives can be jointly leveraged to accelerateimplementation of both and accomplishment of mission.2

Six Sigma is a holistic approach to business improvement thatincludes philosophy, performance measurements, improvementframeworks, and a toolkit—all of which are intended to comple-ment and enhance existing engineering, service, and manufactur-ing processes. Because of its many dimensions, Six Sigma can serveas both an enterprise governance model and a tactical improve-ment engine.3

Six Sigma originated in the manufacturing industry. It was aclear way of identifying acceptable variances around the produc-tion of material. It also could be associated with identifying theability to measure the variance or tolerance around the use ofthat product or the actual performance of the product itself.Thus, Six Sigma became the quality engine for manufacturing.Although Six Sigma does not guarantee quality, it does provide

26 PART ONE ABOUT CMMI FOR DEVELOPMENT

2. Siviy, Jeannine; Penn, M. Lynn; and Harper, Erin. Relationships Between CMMI and SixSigma (CMU/SEI-2005-TN-005). Pittsburgh: Software Engineering Institute, Carnegie MellonUniversity, December 2005;www.sei.cmu.edu/publications/documents/05.reports/05tn005/05tn005.html.

3. Bergey, J.; et al. Results of SEI Independent Research and Development Projects andReport on Emerging Technologies and Technology Trends (CMU/SEI-2004-TR-018). Pittsburgh: Software Engineering Institute, Carnegie Mellon University, October 2004.

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 26

Page 27: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

expectations of program performance that can be equated to cus-tomer satisfaction, thus implying quality.

CMMI is the integrated approach to process and product devel-opment. Over the past several years, numerous Capability MaturityModels (CMMs) have been developed. Software engineering, sys-tems engineering, integrated teams, risk management, and acquisi-tion each had its own model. So industry and governmentcollaborated to establish one model with common terminology,common appraisal methods, and common disciplines.

CMMI, although a collection of multiple models, is mostclosely associated with the Software and Systems Engineering mod-els. Therefore, it has been adopted primarily by software develop-ment organizations. The model is not prescriptive, but is acollection of best practices that, when interpreted in a specificorganization, imply a quality product. Like Six Sigma, there is noguarantee of quality, but there is an expectation of product qualityas it relates to performance.

There is no question that these two approaches are focused onquality. They are different but not disjointed methodologies. Whenintegrated, these two methodologies can stimulate even more bene-fits for the organization than if they were used alone.

Let’s say an organization has adopted Six Sigma and thendecides to adopt CMMI as well. Six Sigma has already establishedthe measurement program, thus satisfying the multiple CMMIgeneric practices for each CMMI process area associated with meas-urement and improvement. Six Sigma has also laid the foundationfor satisfying the Measurement and Analysis process area. Thematurity of the Six Sigma program can also enhance the capabilityof the organization to adopt CMMI high-maturity process areassuch as Quantitative Process Management and Causal Analysis andResolution.

If an organization first adopts CMMI and then decides to adoptSix Sigma as well, a measurement program already exists. Themeasurements may be immature, strictly collected, and in someway analyzed, but perhaps not statistically managed. Six Sigma willlead the organization into a high-maturity measurement program.Six Sigma will also be the stimulus for process improvement since itwill target variance and where improvements will best benefit theorganization, its products, and its customers.

In some cases, organizations simultaneously adopt Six Sigmaand CMMI. It has been demonstrated that the rate of recognizingCMMI maturity is clearly enhanced by the adoption of Six Sigma.

Chapter 1 Introduction 27

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 27

Page 28: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

Likewise, by using CMMI, the organization can recognize the meas-urements and process effectiveness that would be of the greatestbenefit to assign a tolerance. Realistic control limits or tolerancesassist managers in using measurement effectively to manage theproject. Without realistic tolerances on measurement, decisions canbe erroneous at worst, or hampered at best. The Six Sigma method-ologies coupled with CMMI processes allow the organization thecapability to focus on the voice of both the customer and theprocess. Thus, the benefits are recognized both internally and exter-nally. In addition to enhancing the normal rate of level recognition,benefits associated with defect reduction and defect rate detectioncan be enhanced significantly.

It is very difficult for any organization to spend internal dollarswisely. There is a constant battle for resources. There is also the bur-den of proof for return on investment. An organization has a shorttimeline for seeing the benefits of adopting process improvementmethodologies. Therefore, an informed decision is critical for theorganization. It is valid to assume that two separate process initia-tives, disjointed but overlapping, will cost the organization morethan two integrated process improvement initiatives. I hope thatthis perspective starts some organizations with a thought processtoward ascertaining that integrated adoption of CMMI and SixSigma is cost effective for organizations committed to quality. Refer-ences are provided to enhance the organization’s decision analysisand resolution process as it decides how to spend its resources toimprove quality.

Your Approach to Process Improvement

To demonstrate how to use this model, let us look at two differentscenarios. Scenario 1 is an electronic systems developer that wants toimprove its product development processes using a continuousapproach. Scenario 2 is a software development company that usesIPPD, has been using the Software CMM, and now wants to useCMMI. This company most recently has been rated at maturity level3 using the Software CMM (version 1.1).

Scenario 1

In this scenario, you are using a continuous approach and thereforeyou select the processes that are important to your business objectives.

28 PART ONE ABOUT CMMI FOR DEVELOPMENT

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 28

Page 29: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

Since there are 22 process areas to choose from, this is usually toomany to focus on when starting out. You may need to narrow yourfocus. For example, you may find that your competitor always releasesits product before yours. You may choose to focus on improving yourengineering and project management processes.

Building on this decision, you select all the Engineering processareas as a starting point: Product Integration, Requirements Develop-ment, Requirements Management, Technical Solution, Validation,and Verification. You also select Project Planning and Project Moni-toring and Control.

You may at this point decide that eight process areas are still toomany to focus on initially, and you decide that the requirementsprocess is really where the problems are. Consequently, you selectthe Requirements Development and Requirements Managementprocess areas to begin your improvement efforts.

Next you decide how much improvement is needed in therequirements area. Do you have any processes in place already? Ifyou do not, your process improvement objective may be to get tocapability level 1.

Do you have your requirements development and managementprocesses in place for each project, but they are not managedprocesses? For example, policies, training, and tools are not imple-mented to support the processes. If your requirements processes arein place but there is no supporting infrastructure, your processimprovement objective may be to get to capability level 2.

Do you have all your requirements development and managementprocesses and their management in place, but each project performsthese processes differently? For example, your requirements elicita-tion process is not performed consistently across the organization. Ifthis is the case, your process improvement objective may be to get tocapability level 3.

Do you consistently manage and perform your requirements devel-opment and management processes, but do not have an objective wayto control and improve these processes? If this is the case, your processimprovement objective may be to get to capability level 4.

Do you want to ensure that you are selecting the right sub-processes to improve based on quantitative objectives to maximizeyour business? If so, your process improvement objective may be toget to capability level 5 for selected processes. In the description ofeach process area, remember to look for amplifications introduced bythe phrases “For Hardware Engineering,” “For Systems Engineer-ing,” and “For Software Engineering.” Use all information that has

Chapter 1 Introduction 29

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 29

Page 30: About CMMI for Development - pearsoncmg.comptgmedia.pearsoncmg.com/images/0321279670/samplechapter/...CMMI: History and Direction by Watts S. Humphrey To understand the future, we

no specific markings, and the material in the shaded boxes labeled“Continuous Only.”

As you can see from this scenario, you need to understand whichprocesses need improvement and how much you want to matureeach process. This way of proceeding reflects the fundamental princi-ple behind the continuous representation.

Scenario 2

In the second scenario, you are a software development companyusing IPPD, using the Software CMM, and you want to use CMMI.You select the process areas at maturity levels 2 and 3 and choose theCMMI for Development +IPPD model.

This selection includes the following seven process areas at maturitylevel 2: Requirements Management, Project Planning, Project Monitor-ing and Control, Supplier Agreement Management, Measurement andAnalysis, Process and Product Quality Assurance, and ConfigurationManagement. It also includes the following 11 process areas at maturitylevel 3: Requirements Development, Technical Solution, Product Inte-gration, Verification, Validation, Organizational Process Focus, Organi-zational Process Definition +IPPD, Organizational Training, IntegratedProject Management +IPPD, Risk Management, and Decision Analysisand Resolution. You will also include the IPPD additions.

Since you have already been rated at maturity level 3 for the Soft-ware CMM, look at the CMMI process areas that were not in the Soft-ware CMM. These process areas include Measurement and Analysis,Requirements Development, Technical Solution, Product Integration,Verification, Validation, Risk Management, and Decision Analysisand Resolution. Determine if you have these processes in your organ-ization even though they were not described in the Software CMM. Ifany processes in place correspond to these process areas and theother process areas that were in the Software CMM, perform a gapanalysis against the goals and practices to make sure you addressedthe intent of each CMMI process area.

Remember, in each process area you select, to look for informa-tion labeled “For Software Engineering” and “IPPD Addition.” Useall information that has no specific markings, as well as the materialin boxes labeled “Staged Only.”

As you can see, the information provided in this book can be usedin a variety of ways, depending on your improvement needs. The over-all goal of CMMI is to provide a framework that can share consistentprocess improvement best practices and approaches, but can be flexi-ble enough to address the rapidly changing needs of the community.

30 PART ONE ABOUT CMMI FOR DEVELOPMENT

chrissis_part1_ch1.qxd 10/18/06 6:33 AM Page 30