Hey, CMMI Lady, that’s great to hear! I’m thrilled you cared enough to send a note about your newfound appreciation for the CMMI. So appropriate for Valentine’s Day ... even better than a box of chocolates. I love it!
Like you, a lot of agile practitioners don’t love the concept of CMMI+Scrum, at first. Your message is a reminder that many folks are still burdened with misinformation about the CMMI.
And so, on this widely celebrated day of love, I thought it would be useful to list some of the complaints I hear most often from agile practitioners ... things they DON'T LOVE about the CMMI ... along with some reasons to reconsider:
“I don’t love the CMMI because I don’t love process models!”
Really? And did you realize that Scrum is a process model? When you look at all of the different techniques of a Scrum team, all the "Scrum Elements," every one of them is a process. 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.
“I don’t love the CMMI because I don’t love BPUF (Big Plan Up Front)!”
That’s OK! I don’t, either. But make sure you understand, the CMMI is not a methodology. It does not have to be BPUF. That’s a perception based on some implementations, not based on fact. Because the CMMI is SOMETIMES used in BPUF types of organizations, the CMMI must be a BPUF process model, right? Uh … no. The real meaning behind CMMI is that it makes anything that you are doing better. So why not use CMMI to make a Scrum better?
“I don’t love the CMMI because I don’t love being forced to conform!”
Another way this complaint is often expressed is, “Leave me alone! I need to be independent!” Unfortunately, that perception is one reason why most companies are using Scrum for only a small subset of their projects. Strengthening Scrum with CMMI can change that. By providing a framework for changing behaviors and changing culture, the CMMI can help establish an environment for allowing you to operate like a great company – for the long term.
As you pointed out, CMMI Lady, part of the challenge with using Scrum is sometimes upper management doesn’t understand it. It’s well suited for “bottom-up” implementations, but not so much for “top-down.” CMMI is a tool that can help bring discipline to agile methods, helping you solve business problems in a way that management can understand and support.
There has always been this sort of love-hate relationship between the Agile and CMMI communities. It’s so prevalent in our industry that I co-authored a white paper called "CMMI or Agile? Why Not Embrace Both?" for the SEI, along with several of my peers, on why that perception is hurting the software community, and why the CMMI is an excellent fit for agile environments.
So don’t feel bad if you didn’t love the CMMI at first. Every framework, including Scrum, has weaknesses, and you’re learning to use CMMI to make it even stronger. It’s awesome you’ve embraced CMMI+Scrum as a tool to make your organization a great company.
Thanks for being our CMMI Valentine!
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.
Visit www.broadswordsolutions.com for more information about engineering strategy, performance innovation , software process improvement and running a successful CMMI program.
To download eBooks about CMMI, visit Jeff’s Author Page on Amazon.