CMMI Versus Agile: Which Is Best?

Written by:  • Edited by: Ronda Roberts
Published Apr 11, 2010
• Related Guides: Project Management Methodology

It’s hard to keep up with every project management methodology; there are many. For instance, if you love the Agile Methodology, can you be swayed into using CMMI? Jean Scheid takes a look at CMMI versus Agile.

Explaining the Two Methodologies

Before you tackle the question, which is best CMMI or Agile, what’s the difference? Actually, they’re a lot different:

  • CMMI – Also known as Capability Maturity Model Integration, CMMI is considered costly by some management experts. It requires much testing and documentation, often costing more than the project itself. The word “integration” is important in CMMI. What this methodology does is take various models from CMM or Capability Maturity Models and integrates reliable processes that work which are then integrated into the project. Think of it as a process improvement system.
  • Agile – The Agile Methodology works with iterations and sprint teams who, along with agile user stories, develop assigned sections or elements of a project that are in deliverable or “shippable” condition prior to handing the element onto the next sprint team. In essence, if the Agile method is utilized, a task that is handed over or passed on is considered to be usable and done.

The Case for CMMI

Components of CMMI Model Wikimedia Commons
click to enlarge
No matter what field of project management you’re in, there will be cases for both Agile and CMMI. Both were initially used in software development situations before being implemented into various types of projects. So which one is better?

With CMMI there are three constellations, development, acquisition, and services. To be true to the methodology, all three must be utilized in order for the integration to be successful. Remember, CMMI is a process improvement system. If we take the average project is it progressive to seek out a process improvement system for every element or task within the project? Perhaps, if projects were in fact always similar, by using CMMI, an improvement process could help projects proceed quickly using good risk and total quality management efforts.

What About Agile?

Agile is more adaptable to unique projects. Because the outcomes of iterations are done and finished and then passed along after review, testing, and acceptance by the user, Agile can be implemented into almost any project. Of course if you want to be totally Agile in your projects, you can’t pass on iterations until they are done. Perhaps the process improvement integration elements of CMMI would prevent project failures in Agile.

Making the Decision

Bridge to Nowhere Wikimedia Commons
click to enlarge
As the project leader, you need to be able to make the decision on which methodology will work for your projects. Some project management experts argue the expense of CMMI is not effective on small projects especially because it integrates so many principles of project management. Other experts say Agile is a slow process, especially if user stories are not followed or iteration results are not tested and approved. In Agile, passing on something that is not done, means starting all over again.

Still, CMMI covers a lot of the basics like total quality management, risk management, and even resource management to ensure the entire process flows well. Ask project management colleagues and you’ll get a range of opinions on CMMI versus Agile, but is anyone really right? Can you truly compare project management methodologies?

In the end, effective project managers should examine the two methodologies based on the project at hand to make not only an informed decision, but also one that will offer the correct project outcome.


Comments

Showing all 3 comments
 
Devin Hedge Oct 23, 2010 4:22 PM
Neither are Project Management Methodologies
Jeff has pointed that CMMI is NOT a methodology. I'll reiterate that. In fact, here is a link: http://www.sei.cmu.edu/cmmi/index.cfm "CMMI is a process improvement approach that provides organizations with the essential elements of effective processes that ultimately improve their performance." In PMBOK terms, it's an implementation Quality Assurance mechanisms.

Agile isn't a methodology either. Anyone who says Agile is a methodology didn't read the Agile Manifesto: http://agilemanifesto.org/

Agile is a set of principles for improving ANYTHING (not exclusive to software development). It contains several principles and practices that allow organizations to create value rather than reams of unnecessary artifacts. The principles and practices reinforce adherence to the values in the manifesto.

Can CMMI and Agile coexist? Not just yes, but they complement each other. As Jeff has said, and I have implemented to CMMI Level 3, CMMI describes the WHAT and Agile describes the HOW, PMBOK and Agile describe the Value in terms of Velocity and Running Tested Features.
Winifred Menezes Apr 13, 2010 12:06 AM
CMMI vs Agile - which is best
I'm with Jeff (and hopefully others) on this. It is not a question of one vs the other. In fact the two don't are not even comparable.

CMMI tells you what an organization should think about having in their processes for managing and developing products OR acquiring products or services OR developing and delivering services. Yes there are 3 constellations - and many "pieces" (Process Areas for the initiated) are the same in all 3 constellations, but an organization does not need to use all 3 constellations.

Similarly Agile is somewhat of an umbrella term that encompasses several different methods and techniques that a project can use.

One of the pieces that CMMI has is the focus on continuously getting better. This actually works very well with the agile philosopy.
Jeff Anderson Apr 11, 2010 6:06 PM
it's not a case of one or the other
CMMI is not a methodology, it's a model used to describe a methodology. You use it to rate your own processes in terms of maturity.

Agile has a set of practices that can be used to meet certain portions of CMMi.

CMMI has been described as the what, and agile as the how, the two can be completely despite the big differences in culture.
 
blog comments powered by Disqus
Email to a friend