Tuesday, June 26, 2012

We need the CMMI because we need one standard process, right?

Hey, CMMI Appraiser, I am an engineering executive in Virginia serving healthcare organizations. We use Agile methods for most of our internal projects, but we now need to become more disciplined. A Virginia CMMI consultant recently told us that our organization needs one standard process. This sounds correct, but while we evaluate our options, what is your opinion? ~ Douglas F.

Hey, Douglas,

I hear that all the time.  Consultants love talking about the CMMI as being all about everybody doing the same thing every time. According to them, the CMMI is repeatable and predictable, and that means that everybody has to have the same behavior. One size fits all.

It sounds correct. But is it?

Unfortunately, the CMMI says nothing of the kind.  What needs to be repeatable are the OUTCOMES.  Many projects are unique and require there own "way of doing things" (otherwise known as the PROCESS) - even though they will have repeatable outcomes (high quality software, efficient production, happy customers).

This is not to downplay the CMMI’s ability to help you bring more discipline to your Agile methods. It is a terrific tool for that purpose. As a matter of fact, it is THE TOOL for that.  However, it does not say you need a single standard process. The CMMI says you should have a SET of standard processes from which each project can derive their unique process.  A “set” means more than one. And “more than one” means you need some flexibility and agility to decide how you are going to do something.

So, to be successful in adopting the CMMI in your Agile environment, you’ll need to understand what the CMMI says and doesn’t say. You also need to know that, in the CMMI, flexibility and agility outweigh rigid compliance.  See my Agile Process Manifesto....

For example, let’s say your development team has a new project. Do they want to use Planning Poker to estimate? Do they want to use Wideband Delphi or Cocomo? Or do they want to use something else? The answer depends on what they are building and the constraints they are dealing with.

"Constraint-based process."  I like it.  Look for more of that in the future!

The ability to provide flexibility is the most important thing you can do when it comes to improvement and deploying process. Rigid compliance hurts you, it doesn’t help you.

The great thing about the CMMI is that it is extremely agile. It gives you the ability – in fact, it mandates – that you have choices and agility. It's right in the book ("Integrated Project Management").

I’ll say it again. A set means more than one, and more than one means there is room for flexibility and agility.

Now, there are some excellent consultants who specialize in the CMMI out there. But there are also many (too many) who can barely spell “CMMI.”

The adoption of CMMI carries with it many complex emotions. Some software and engineering executives feel strongly that they want to improve organizational performance. Sometimes they covet "CMMI certification" – and sometimes they want both.

Whatever your goals, Douglas, it can be a challenge understand how to interpret the true meaning of the CMMI at first. Turning to a qualified CMMI consultant can help alleviate the pain, remove roadblocks, and set you on the right path. But beware! A person promising to relieve you of the baggage by promising “one standard process” may not have the skills and experience you need - so tread carefully.

Anyone can claim to be a CMMI consultant. But only a small amount of people in the world have the requisite skills, training, experience, and certifications that qualify them for the task - and an even smaller group of them have a proven track record.  Think about it - it's not just "CMMI."  It's organizational change, communications, successfully giving (and getting ) advice.  It's complicated!

Good CMMI consultants have a deep holistic understanding of the entire model, how it works, and useful ideas on how to use it to improve your company. They will recommend an approach that bridges agility and discipline, in a manner that fits the way your organization is already doing things.

Watch out for CMMI consultants tell tell you one size fits all.  Next time, just say, "NO!"

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 running a successful CMMI program.

1 comment:

itsridhar said...

Hey Jeff

Great post. You correctly dispel the myth that CMMI is an iron-clad standard to be followed across all types of projects and organizations.

One of the key issues I see in multiple organizations is that the "Process toolkit" in the organization is not often updated with new thought processes. It took ages for "CMMI Level 5" companies to bring in Agile methodologies as valid processes for suitable projects.

Also, experimentation with new techniques is generally frowned upon, unless mandated by an external customer. Even in such cases, the poor project team has to duplicate efforts - follow customer's process AND the company's process to maintain the standard.

A comprehensive FAQ (one that is at least, not contradicted by the SEI) would go a long way. Do you know of a useful one?