At a recent Agile Leaders Network (ALN) meeting in Washington, D.C. on CMMI and Scrum,
the Lead Appraiser answered an attendee’s question about how the CMMI can improve agile methods.
CMMI can be used to make process better. The challenge is that some agile practitioners don’t believe they are using process. They will say things like, “We want to be ML2. We want to have an appraisal. But we don’t really use process around here.”
Really? When you take a closer look at all of the different techniques of a Scrum team, all the “Scrum Elements,” you’ll find that every one of them is a process. They’re pretty darn good ones, too! And every one of them is in the CMMI.
For example, Planning Poker is represented in the CMMI’s Project Planning Specific Goal One. Refactoring is in Requirement Management; Pair Programming is part of Verification; Velocity is part of Measurement and Analysis; and Test-Driven Development is part of Requirements Development. And so on.
These Scrum Elements are all techniques or methods. Every one of them has a CMMI equivalent that can be used to make it better.
HOW DOES CMMI MAKE PROCESS BETTER?
CMMI makes process better by providing 12 characteristics of a process. Think of these as the 12 things that we need to get right. For example, we need to figure out who the right people are, and make sure they are there. Another thing we need to get right is: people need to be trained on how to use the process.
TRANSLATING CMMI LANGUAGE TO AGILE LANGUAGE
One of the reasons that some agile practitioners believe they don’t have process is in the language we use. For example, in CMMI, we have a practice that says, “Identify and involve relevant stakeholders.”
Now, the CMMI language may sound academic and dry to some agile Puristas. So let’s translate that practice into agile language. As it relates to the estimating process, the question becomes: “Who needs to be there for Planning Poker?”
This is the same exact practice. It says Scrum Teams need to figure out who the right people are, and those right people need to show up to play Planning Poker. So, in this simple example, we just used CMMI to make playing Planning Poker better.
IDENTIFYING THE RIGHT PEOPLE & TRAINING THEM
A more complex example is as follows. Someone from the Scrum Team says, “We’re already using Planning Poker, but we aren’t really getting the results we want from it, and it is not very accurate.”
Why is this happening? When we look at the 12 characteristics of process, we’ll notice that the right stakeholders need to show up, but aren’t. That’s one problem. Now that we’ve identified it, we can fix it. Then we may notice that people aren’t trained. That’s another problem. Let’s fix that.
In this way, the CMMI serves almost like a checklist. It helps you foresee all of the aspects of Planning Poker, for example, that the company may not have really thought through before implementing it. They may have simply passed the cards out, said, “Go play.”
Better results are available to those who go through these 12 attributes – they are called “Generic Practices” (or GPs) in the CMMI. With the GPs, you can use the CMMI as a checklist to make the process better.
CMMI Generic Practices serve as a checklist to provide better results for Scrum methods, including:
- Planning poker
- Sprint demos
- Test-driven development
The goal is to make the process better.
Jeff Dalton is a Certified SCAMPI Lead Appraiser, Certified CMMI Instructor, author, and consultant with years of real-world experience with the CMMI in all types of organizations. Jeff has taught thousands of students in CMMI trainings and has received an aggregate satisfaction score of 4.97 out of 5 from his students.