I keep answering the same question over and over again. On one hand, it’s good that interest in CMMI (and Agile) is growing. On the other, I’d really like the development world to be able to move onto more interesting challenges. I know it’s foolish to believe that answering a question on my blog will stop the questions from coming in, but at least once it’s answered, I’ll just point people here instead of repeating myself in emails and phone calls.
Whether the desire is to implement CMMI in an agile environment or a traditional environment, the key to making CMMI “work”, and by “work” I don’t mean “get you a rating”, or as people incorrectly call it, “get you CMMI certified”. By making CMMI “work” I mean, incorporating CMMI into your organization in such a way that the resulting processes:
Here it is. The “key” to making CMMI work is what I call, an “Engineering Mindset”. Engineers realize that when they fail to be honest, precise, and thorough, things fail to work and many times this failure means someone is either disappointed, or worse, hurt or killed. To avoid the undesirable outcomes, engineers have a sense of integrity. Not in the moral or religious sense, but in the sense that things are whole and complete. An Engineering Mindset includes seeing things as problems or opportunities and their corresponding solutions or exploits. So an Engineering Mindset has two elements: Integrity and Solutions.
For using CMMI, these two elements align nicely with what I’ve been saying for years. These elements are not magic or glamorous, but people find them to be challenging, nonetheless:
Please pay attention to this next point: In my work, the organizations that embraced key point #1 had no trouble with key point #2, and, in many cases, required very little new or different to take them to any maturity level they wanted.
When we work with clients, we spend most of our effort to help them internalize #1 (if they need it). When they’re able to do #1, they generally “get” #2 on their own AND they figure out where the value lies in the practices in CMMI they’re not already doing AND they figure out where and how to incorporate those practices into their own.
If your organization can’t figure out the value to your organization in CMMI practices, you’re not allowing yourselves to be creative enough and you’re not thinking like engineers. An engineering mindset must exist first. When it doesn’t, it’s a long and challenging road ahead. Choose wisely.