Monday, March 12, 2012

SPaMCast Question #1: Agile and CMMI together? Why?

[NOTE: Over the next few days, the CMMI Appraiser, will be sharing snippets from my recent conversation with Tom Cagley on SPaMCast about how the CMMI is fully compatible with Scrum, and can be used to improve agile methods, making the investment in agile both powerful and productive. Listen to the full interview at SPaMCast 176.]

Hey, Jeff - Agile and the CMMI. You say that these two frameworks can function together. Why would a company want them to function together? ~ Tom Cagley, SPaMCast

What I find myself asking clients more often is, “Why would you NOT want the two to function well together in your organization?” But before I go into the benefits, first we need to look at what is Agile and what is CMMI.

There’s an awful lot of confusion in our industry about what they are. Those of us who work with agile and the CMMI every day understand the difference, but there are thousands of companies that are adopting agile or CMMI without really knowing what they are asking for. As a result, they say, “We can’t do CMMI because we’re agile.” Or, “We can’t use agile because we’re CMMI.” What they don’t understand is that both agile and the CMMI are frameworks that are intended to help us write better software. They absolutely can work together.

Next we need to look at what Agile and CMMI are not.

Neither agile nor the CMMI are processes. Neither agile nor the CMMI are methods. Both are collections of practices and philosophies that help us write better software. And yet, while there are great things about Scrum, XP and Spiral – and great things about CMMI – those two approaches to writing great software not the same.

The difference between them has to do with intent. The intent of the CMMI, in our view, is to be a tool to take what you are already doing, and make it better. It was never intended to be a method or a process to be followed. There is a perception that people “implement” CMMI. That’s not something that we do. We use the CMMI as a way to improve what companies are already doing.

We stumbled across this idea about eight or nine years ago, when we started working with a company that wanted to adopt agile methods. They took it seriously and were studious about learning about agile. But they struggled with things like Daily Stand-ups, backlog grooming and user stories. They were struggling, not just to get value out of it, but struggling to get their management to understand what they are doing and to see the value in it.

As it turns out, the CMMI has some awesome tools to help add value to things like the Daily Stand-up, managing risk and transforming an epic to a user story. But the CMMI also has great tools for helping management understand what the heck is going on within the project teams. So it helps both Scrum teams and executives.  That's why it makes sense for companies to allow the two frameworks to work together.  It's a win-win.

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 for more information about running a successful CMMI program.

No comments: