[NOTE: Over the past several weeks, the CMMI Appraiser has been sharing excerpts from a recent conversation with Tom Cagley on SPaMCast about whether agile is resilient – i.e., whether it will be able to spring back into shape after being bound or compressed by the pressures of development and support – and how frameworks like the CMMI can be used to make agile more resilient. Listen to the full interview at SPaMCast 296.]
Tom, thank you for picking up on this distinction. It’s an important one. The difference between asking “CMMI questions” and being compliant has to do with the point in time that you ask the question. Asking at the wrong time can lead to painful face-palm moments.
So many of the folks I see out in the industry have zero defined processes, or at least they don't have them fleshed out enough to be able to describe them. So they hire a so-called CMMI consultant who tells them to open the CMMI book and walk through the practices. They create flow diagrams based on the practices. And they say, “Okay. Here's our project planning process. It includes estimating, and it includes reviewing.” They use the CMMI as the source of their process descriptions, as a source document.
That’s a mistake. The CMMI is not a source document. That wasn’t what it was intended for. It wasn't intended for you to create process. It was intended for you to take what you already do, and make it better.
This really hit home for me the first time I walked into a self-described agile organization and saw them using all Waterfall tools. I saw work breakdown structures, weekly status meetings and all of the trappings of a typical Waterfall project that you expect to see.
I said, “You told me you were agile. Why are you doing all these things?”
They replied, “Well, we wrote a process based on what the CMMI told us to write.”
This was a face-palm moment. I said, “Oh my gosh! People don't really understand what this thing is. They actually believe adopting a performance innovation model like CMMI has something to do with compliance!”
The truth is, CMMI doesn’t tell you to do anything. CMMI is not about compliance. It’s not about documents. Adopting the CMMI is 100% about solving business problems and, the more we use it, the more we work with companies that are using the CMMI, the more we realize that CMMI is a Model that's about how great companies perform.
Too many so-called CMMI Consultants don't get this, especially those in Washington, DC. They think CMMI is about passing an audit. They see no value in providing resources and assuring that actions are planned for. They are out there saying, “You must have flow diagrams and process descriptions that mirror this Model.”
Oh really? The truth is, the good folks at SEI and the CMMI Institute who oversee the Model never meant for that to happen. This compliance mindset is the result of ambitious consultants and ambitious companies trying to get a CMMI Maturity Rating by reverse engineering the Model, and then forcing their people to behave in that manner.
How useful is that? Not very.
Now, good CMMI consultants – those who understand that CMMI is 100% about solving business problems – encourage companies to turn that around. We say, “Don't use CMMI as a compliance model. Use it as a way to ask questions about the way you already work.”
For instance, let’s say we are an agile organization and we’re using Daily Standups. Good. We’ve got our Daily Standup, and we’re meeting every week. We’re talking about blocking; we’re talking about yesterday’s weather; we’re talking about all that kind of good stuff. Now, let’s crack open the CMMI book and walk through the practices and ask questions, such as:
“How are we estimating how big this project is?”
The answer might be, “Well, we’ve got a product backlog and we’ve got Epics to find in story points and we've got that broken down into Sprints.”
If that’s your answer, I will say, “Hey guys, you nailed it! That's exactly right. That's exactly what you should be doing, and there’s nothing I can do improve it.”
So you keep paging through the CMMI book, and you get to the practice about risk management. The CMMI question to ask is as follows:
“So tell me, how are we managing risks at our Daily Standup?”
Now, you might find that the team looks around and says, “Ha! You know what? We're really not talking about risks, are we? We better correct that. Let’s make a section of whiteboard for our high and low and medium risks, just so we can keep track of how they’re going. And, here's our information radiator for that. And here’s how we’re doing this.”
Again, you nailed it! You successfully answered the question about risk management.
As you can see, Tom, CMMI questions are very effective. As a Lead Appraiser, my approach is to take what folks are already doing, and walk them through the practices, asking questions for every single one of them.
The really cool thing about this approach is, engineers are smart people, so they know all the answers! They know what they need to do to fix deficiencies. This would not be possible if we went about things using the compliance mentality. All of these super smart engineers would be sitting around, scratching their heads for weeks, wondering what the heck the practices mean, what are the sub-practices and what are the documents? At the end, they would wind up with four hundred documents, instead of the right amount of work products.
Asking CMMI questions, rather than focusing on being compliant, is a completely different mental model. Using CMMI questions is an organizational innovation and engineering strategy that drives completely different behavior. So whether your goals are to successfully deliver software, achieve a CMMI Maturity Level, use the CMMI as a strategic weapon to help you attract and retain new customers, or get on the path to becoming a great company, asking CMMI questions can help you get there. Focusing on being compliant can only lead to face-palm moments.
For those who are interested in learning more about applying the lessons of CMMI and agile to be a great company, we invite you to participate in our upcoming Webinar: “Agile Resiliency Scaling Agile so that it Thrives and Survives” on November 6, 2014 from 12-1PM EST.
Click here to register for the webinar.
Like this blog? Forward to your nearest engineering or software exec!
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.