Ken Orr wrote ( in Cutter IT Journal Vol.3, No. 7 ):

Agile . since Jun 23 . Index . DOCs TOP TOC

APPLYING THE NEXT PRACTICE QUADRANTS TO UNDERSTANDING CMM AND AGILE DEVELOPMENT


The next practice quadrants provide a way to compare the discussion of CMM with the agile development debate. Using diagrams, I have tried to place the CMM levels along with agile development to see what each is trying to say and do. This is by no means a scientific analysis, but it does point out some interesting issues, as we will explore in this report.

If you apply the next practice quadrants to CMM, you get some very interesting results (see Figure 5). CMM Level 1 organizations fit naturally in Q1 (no practice). Next, is the most interesting placement. I would put most CMM Level 2 organizations in Q2 (worst practice). Although this may confuse some people, I think that it is, in fact, a fair description of what I think really happens; moving from CMM Level 1 to CMM Level 2 doesn't necessarily improve short-term productivity.

 

Figure 5

Figure 5 -- CMM levels and next practice quadrants.

Consider the following scenario: The first step in moving up the CMM levels actually makes things appear worse. Designers and programmers must do a lot more documentation and fill out a lot more forms, but, initially at least, they don't get a lot more out of it in terms of knowledge (output).

This may not fit the CMM promotional literature, but it actually fits my own experiences working with organizations trying to install new processes. After the first blush of excitement, things often get difficult as people try to do new things that they are not good at; there is a lot of additional work that doesn't seem to produce much output. As a result, the people in the trenches often lose interest and are tempted to go back to their old non-process.

This represents one of the real difficulties in following a program like CMM in the real world; before things get better, they tend to get worse.18 This is not an unknown phenomenon in other areas. The same thing often happens, for example, with individuals who embark on a program of diet, exercise, or any number of other things that are truly good for you. To go from where you are to where you want to be, you often must endure some considerable pain and frustration; that's why it's so hard to change.

So it is with CMM. To get from Level 1 to Level 3, you have to go through Level 2, which many people will find more difficult and less rewarding than what they are currently doing. It takes a lot of determination on the part of management to stick with the CMM program long enough to make real, recognizable improvements.

Once you break through to Level 3, things get better. Levels 3 and 4, then, represent what most people would label as best practice in the industry today. Again, what is most interesting is that Level 3 organizations work harder and get less out of their efforts than Level 4 organizations because Level 4 organizations are more skilled and experienced -- they know what to expect, and they know how to work around problems. Finally, the best of the best make it to Level 5 and break into Q4. These organizations are constantly revisiting their processes and making them more and more efficient and effective. They work less and attain more knowledge.

Unfortunately, there are not many Level 4 and 5 organizations in the world, and most of them are outside the US. As you can see by Figure 6, the vast majority of CMM Level 4 and 5 organizations are classified as offshore. The number is not particularly large by any standards, but US Level 4 and 5 organizations represent 7% of all the organizations seeking CMM certification, which is only a small percentage of the firms nationwide.

 

Figure 6

Figure 6 -- CMM-certified organizations by level and location. (Source: Software Engineering Institute, 2001.)

Agile . since Jun 23 . Index . DOCs TOP TOC

APPLYING NEXT PRACTICE QUADRANTS TO AGILE DEVELOPMENT


Where does agile development fit on this next practice diagram? Well, since it is relatively new, there are not a lot of statistics for agile development projects. Based on the reading that I have done, I would place agile development in Q4 (next practice). From everything that I understand about agile development, it attempts, and to a high degree succeeds, in gaining a lot of knowledge -- especially about the functionality and behavior of a new program or system -- with less effort than you would ordinarily expend. My guess is that a typical agile development project would not provide as much knowledge as might be gained by a CMM Level 5 organization, but it represents a different way to get the information.

It is useful to look at the next practice quadrants as a way to compare CMM and agile development as it points out some interesting things to think about. By focusing on knowledge versus effort, it provides an analysis framework that can be used to think about alternative ways of doing things (see Figure 7). Various questions can then be posed (e.g., "What do we learn from this?"; "Is the knowledge worth the effort?").

 

Figure 7

Figure 7 -- Agile development and the next practice quadrants.

Though agile development may not be mature yet, it has come on strong in recent years, and any serious software development organization ought to look at it. The agile development people have taken a very Alexandrian approach to solving the software version of the Gordian knot. Instead of trying to unravel the traditional software ball of twine, the agile development gurus have simply sliced it in two. Everything that they feel doesn't contribute to direct user communication or the end product is out.

Agile . Index . DOCs . TOC