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
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
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.