Implementing CMMI






Implementing CMMI

As we have seen so far, CMMI is a collection of Process Areas (PAs)all in all, 22 of themand under each is a series of recommended practices. Each PA is supported by one or more specific goals, which can be reached using the recommended specific practices. To support the implementation of each PA, CMMI also uses generic goals. The generic goals help institutionalize the activities of a Process Area into a project. There are five generic goals, each with its own generic practices.

That's a lot of best-practice data. And if you were to look at the CMMI components as a single model, the way that ISO 9001 and Six Sigma are, you might reach the conclusion that there's more than enough there, maybe too much. But CMMI was designed with scalability in mind. In fact, you can implement CMMI within your organization one of three ways. In each way, you select only certain portions of the model to use: portions that best suit your own process improvement needs, portions that address your chief management concerns, portions that get you to your process goals.

One way is called the Continuous Representation. Another is called the Staged Representation. The third wayand this is my termis called the "any way you want" way. Let's take a look at each.

The Continuous Representation

The Continuous Representation is designed to address specific areas of need within an organization. Here, you select those Process Areas that you want to focus on, maybe those that need shoring up, and you implement them. It's a way to direct process improvement along very specific lines. For example, if you manage a technology shop that produces code very effectively but has a hard time managing budgets and schedules, you might elect to implement two PAs: Project Planning and Project Monitoring and Control. A different shop might have a different problem: project components might be slipping from team to team with noticeable defects or functional mismatches. This shop might elect to implement three PAs: Configuration Management, Verification, and Validation; those give you practices to deal with those kinds of issues. With Continuous Representation, the choice is yours.

As a process improvement tool, the Continuous Representation measures your progress along a six-tier capability scale. It is specific to each Process Area you work with. The assumption is that the higher up the scale you move, the more capable you have become with each Process Area.

The capability scale is as follows:

  1. Incomplete

  2. Performed

  3. Managed

  4. Defined

  5. Quantitatively Managed

  6. Optimizing

Incomplete

At Capability Level 0, the Process Area, although it may be partially in line with CMMI, is not yet in compliance with model recommendations.

Performed

At Capability Level 1, the organization has implemented Generic Goal 1 (which says follow the specific goals) and has also implemented, for the Process Areas it has elected, the specific goals and the recommended Level 1 specific practices. When implementing the Continuous Representation for any PA, you'll find that the vast majority of the recommended specific practices come into play at Level 1.

THE CODING SCHEME EXPLAINED

This is a good point to explain the coding scheme behind the model. It's helpful to understand. As noted, the model is composed of specific goals and specific practices, and generic goals and generic practices.

Specific goals are coded as SGs, specific practices are coded as SPs, generic goals are coded as GGs, and generic practices as GPs. As an example, under the Process Area Technical Solution, there are three specific goals. They are coded as SG 1, SG 2, and SG 3.

SG 2 states, "Develop the Design." Under this goal, there are four specific practices: SP 2.1, SP 2.2, SP 2.3, and SP 2.4. So, SP 2.3 can be read as, "This is a specific practice for Specific Goal 2, and it is practice number 3."

After this, you'll see a hyphen and then a final numberfor example, SP 2.31. The 1 indicates the capability level at which the practice should be implemented. SP 2.31 then can be read as, "This is a specific practice for Specific Goal 2, it is practice number 3, and it should be implemented at Capability Level 1, Performed."


Managed

At Capability Level 2, you've kept your Level 1 program in place but have augmented it by implementing Generic Goal 2, a step that broadens the depth at which the processes are deployed on your projects. Along with Generic Goal 2, the organization also implements those Level 2-specific practices recommended in the model.

Defined

At Capability Level 3, the use of your Process Areas has matured to the point where the organization can adopt them for organization-wide use. Here, the organization adds to its Level 2 program by implementing Generic Goal 3 and the Level 3-specific practices recommended in the specific goals.

Quantitatively Managed

At Capability Level 4, your Process Areas are reaching a high degree of capability. Here, you add to you Level 3 program by adopting Generic Goal 4. No new specific practices are introduced at Level 4. At Level 4, the organization takes a growing quantitative approach to process management. Precise measures of expected process performance are established, tracked, and used for process improvement.

Optimizing

The Continuous Representation reaches its apex at Level 5, the optimizing level. Here, the organization adopts Generic Goal 5 for its Process Areas and realizes a culture of continuous process improvement and defect prevention for each of those Process Areas it has adopted.

That's a quick look at the Continuous Representation. Let's summarize a few of the more important points. The Continuous Representation is centered on those Process Areas you elect to implement. Logically, it's better to select Process Areas that can deliver distinct benefits to your organization, that can help you improve management, production, and quality. You may elect one or many PAs to implement. And since the sophistication of a Process Area is rated along a six-tier capability scale, the measurement 0 to 5 indicating how capable each PA is, you can raise the capability level of each Process Area at its own rate, independent of other Process Areas.

If you implement the Continuous Representation and then choose to be formally appraised, the appraiser will evaluate each Process Area independently of the others and then award a capability rating to each Process Area. With all PAs combined, you'll then have a capability profile.

There are many professionals who feel that the Continuous Representation is the best choice when implementing CMMI. Since process improvement is all about getting better at what you do, at minimizing weaknesses, the Continuous Representation shares that end. It lets you select where to target your efforts, where to focus your energy.

The Staged Representation

The official SEI alternative to the Continuous Representation is the Staged Representation. The Staged Representation takes a different perspective on process improvement using CMMI. With the Continuous Representation, the focus is on the capability of Process Areas. And you choose the Process Areas. With the Staged Representation, the focus is on organizational maturity. Here you implement predefined sets of PAs.

With the Staged Representation, projectsor the organization as a wholework a process improvement program that moves through a series of five maturity levels. At each maturity level, the project or organization adopts more and more Process Areas. The five maturity levels of the Staged Representation are as follows:

  1. Initial

  2. Managed

  3. Defined

  4. Quantitatively Managed

  5. Optimizing

This five-tier scale has some commonality with the six-tier scale of the Continuous Representation. You'll notice that Levels 2 through 5 share common names. And in fact their intended outcomes are pretty well aligned. But there is one big difference, and that has to do with the generic goals.

Generic goals in the Staged Representation

As we have seen with the Continuous Representation, CMMI has five generic goals. Under each goal is a set of recommended generic practices. As a Process Area increases in capability, it implements a successive number of generic goals. For example, for the Project Planning Process Area to be profiled at Capability Level 4, its team needs to implement the specific goals and specific practices defined for that Process Area, as well as the Generic Goals 1, 2, 3, and 4.

But with the Staged Representation, only Generic Goals 2 and 3 apply. You implement the practices of Generic Goal 2 when you are forming your Maturity Level 2 program. You implement the practices of Generic Goal 3 when you are forming your Level 3 program. Maturity Levels 4 and 5 require the addition of no new generic goals.

Following is a brief description of each maturity level in the Staged Representation.

Initial

When an organization or project is at the initial stage, it has no consistent process program in place. Shops that are run this way typically manage projects in an ad hoc fashion. The goal is simply to get the work done, and any way that gets it done in even a close-to-acceptable condition is OK.

Here's what you'll commonly find: organizations in the initial phase are personality-driven. Project success depends largely on the talents and the temperaments of the people working the project. The term "hero-dependent" is often employed here. It takes the tireless efforts of heroes in the organization to bring projects off. There are obvious drawbacks to working this way. First is the waste of effort. Without process or a program of improvement in place, the team learns little about how to do things better. The wheel is constantly being reinvented in these shops. Second, visibility is low. Management has little view as to what is going on inside project activity. And so management has little control over cost, accountability, or quality. This "just do it" environment might work well for an exercise program, but it'll do little for product development. Finally, shops in the initial stage operate with very low predictability. And with low predictability comes high risk: risk of schedule overruns, risk of cost overruns, risk of missing functionality.

All in all, it's a risky way to run a business. But it's easy. And more times than many IT professionals might like to admit, easy wins out.

Managed

Maturity Level 2 is the Managed level. Here, the project or organization makes a conscientious move into the culture of process improvement. The following seven Process Areas are implemented: Requirements Management, Project Planning, Project Monitoring and Control, Configuration Management, Measurement and Analysis, Process and Product Quality Assurance, and Supplier Agreement Management.[*] The recommended generic practices of Generic Goal 2 are also implemented.

[*] They can be implemented for a single project, or they can be implemented for the entire organization. The usual recommended path, when viable, is to let projects develop their own processes. That way the organization can try out many different approaches, keeping the best of what's developed over time.

Notice this: the focus at the Managed level is on two key factors. The first is project management: effectively planning, managing, and controlling project components. The second is process management: implementing a program to ensure that the established processes are being honored in a company.

Defined

At the Defined level, the organization has learned enough and tested its processes thoroughly enough that it can now standardize on a full suite of process assets. This isin my opinionthe biggest leap in the Staged Representation of CMMI. Here the organization augments its Level 2 program with a host of new Process Areas, including Requirements Development, Technical Solution, Product Integration, Risk Management, Decision Analysis and Resolution, Verification, Validation, Integrated Project Management (with extensions for IPPD), Organizational Process Focus, Organizational Process Definition (with IPPD extensions), and Organizational Training. The organization also implements Generic Goal 3. The move here is substantial. At Maturity Level 3, the organization has a broad and robust process management and improvement program in place that reaches into the areas of project management, engineering, process management, and support.

Quantitatively Managed

At Maturity Level 4, the organization begins to shape its process and management programs through the use of empirical measurements. Just as moving to Maturity Level 3 signifies a major step forward in the commitment to process improvement, the move to Level 4 marks another major advancement. Data takes on a new importance here. Decisions are now in large part data-driven (similar to Six Sigma). Here the organization implements two new Process Areas: Organizational Process Performance and Quantitative Project Management. No new generic goals are required at Level 4.

Optimizing

The final maturity level is Level 5, Optimizing. Notice the verb form used. Optimizing is an ongoing process. Here, the organization adopts two final Process Areas: Organizational Innovation and Deployment, and Causal Analysis and Resolution. (Again, no new generic goals are required at Level 5.) At this point, the organization has entered a level of maturity in which the full enterprise is focused on continuous process and product improvement.


Note: As with the Continuous Representation, the Staged Representation consists of specific goals and specific practices, and generic goals and generic practices. But with the Continuous Representation, the coding scheme is important in that it shows you what practices to implement at what levels. For the sake of continuity, the Staged Representation retains the same coding scheme, but here it loses its significance. When a Process Area appears at a certain maturity level, all the recommended specific practices under the specific goals apply.

That's a quick look at the Staged Representation. Let's summarize a few important points about it.

The Staged Representation is centered on a series of five maturity levels, the levels moving from 1, the initial stage, to 5, the optimizing stage. At Maturity Level 1, the organization has not fully implemented its process program or any set of CMMI's Process Areas. At Level 2, the Managed Level, a series of Process Areas is implemented to guide project planning and management, process management, and related support functions. Level 2, even though it is constrained in scope, is usually the toughest leap for an organization. Making the move from Initial to Managed requires a cultural shift that many organizations find difficult to maneuver.

Level 3, the Defined level, is arguably the biggest leap in the Staged Representation. Here, the organization adopts a host of new Process Areas that address project management, engineering, supplier management, and support functions. All in all, 18 Process Areas can come into play at Level 3.

At the high maturity Levels 4 and 5, the organization moves to a more quantitative approach to decision making, to proactive defect prevention, and to a coordinated method for innovation and deployment.

If you implement the Staged Representation and then choose to be formally appraised, the appraiser will evaluate your project or your organization (using a sample of typical projects) against implementation of the Process Areas for a predefined maturity Level (and the Levels under that).

Just as the Continuous Representation has its advocates, there are many professionals who feel that Staged is the best choice when implementing CMMI. Staged is an ordered way to integrate a suite of process improvement practices within an organization. And it provides a path the whole organization can follow on its way to increased maturity.

The "Any Way You Want" Way

The third way is the "any way you want" way. This is just what it sounds like: you implement the best practices described in any Process Area any way you want to, according to the needs of your organization. In fact, this is the probably the best way to use CMMI. (It's probably the best way to use any formalized process improvement program.) The whole idea behind process improvement is to establish a road map you can follow to steadily move toward the goals of increased predictability, reduced risk, and stronger quality controls. The need is an internal need. In the purest sense, organizations should implement process improvement not to receive an award, like a formal maturity rating. Rather, the evolution of getting betterof delivering heightened qualityis the real reward.

Organizations that make the commitment to process improvement might find that the Continuous Representation or the Staged Representation include recommendations that don't fit the group's current quality position. In cases like these, it's probably better to take a simple three-step implementation approach in line with the any-way-you-want way.

First, assess your organization. Understand what it does well; know what its strengths are. At the same time, take a critical look at areas where performance is not all it could be. Pinpoint opportunities for improvement. This is the beginning of any improvement strategy.

Second, study the CMMI framework. Acquire a solid understanding of the scope of CMMI, the goals and practices it promotes, and the estimated level of effort you think will be required to realize the recommendations that seem to address your needs.

Third, target select practices based on these needs and then implement them in the way you deem to be the most effective, the way that will have long-lasting impact and benefits for the organization.

In terms of a solutions approach, the any-way-you-want way probably provides the best goodness-of-fit for an organization. It allows for maximum customization and the sharpest degree of focus. Of course, this approach limits the external recognition of your program. The SEI actually enthusiastically endorses the any-way-you-want way. But, when it comes to official appraisal recognition, it can only recognize the Continuous or Staged Representations. The same holds true for authorized Lead Appraisers. They can only perform a SCAMPI[*] appraisal using the Continuous or Staged approach. And it's true that many organizations that adopt CMMI do so because they want the rewards of process improvement along with official external recognition. They need it for competitive advantage, or for marketplace requirements, or because headquarters says so.

[*] SCAMPI is the SEI's name for its authorized appraisal process. The acronym stands for Standard CMMI Appraisal Method for Process Improvement. It's a clunky name, but an effective methodology. If you wish your organization to receive official recognition for being CMMI-compliant, you will need to undergo an authorized SCAMPI A appraisal. This is conducted by an SEI authorized Lead Appraiser who is bound to follow the guidelines set for SCAMPI. These guidelines ensure consistency across the discovery and evaluation activities and reduce the degree of subjectivity that might creep into an appraisal.

Aside from the Class A SCAMPI appraisal, there are also Class B and C appraisals. These are lighter forms of the full-blown Class A appraisal. Typically, companies conduct internal Class B and C appraisals for one of two purposes: 1) to gain a picture of their current quality position when they are first developing a CMMI program, and 2) to make sure the organization is ready for a forthcoming Class A appraisal.

If you're free of those requirements, you may be able to focus solely on getting better, on the tangible benefits of CMMI's proven practices. In that case, the any-way-you-want way may be the best way to go.



 Python   SQL   Java   php   Perl 
 game development   web development   internet   *nix   graphics   hardware 
 telecommunications   C++ 
 Flash   Active Directory   Windows