Is there anyone who can tell me what is the difference between CMMI and Agile. I know some obvious difference, but I want to know it further. I will appreciate it a lot if someone can help me! Thanks!
-
There are some that think Agile is at about CMM level 1 :-) – paxdiablo Jun 12 '13 at 05:47
-
1The CMM level 1 is chaotic but Agile is not. Maybe that kind of viewpoint is not really very right in my view. – lute Jun 12 '13 at 06:04
-
Hence the smiley on my comment, and why I did it as a comment rather than an answer. Don't get me wrong, we use Agile (and XP) but there still remains a mindset among some that it's all just a trick by cowboy coders to get out of the drudge-work (doco, design and so on). We know better. – paxdiablo Jun 12 '13 at 06:15
-
All right, thanks anyway!:-) – lute Jun 12 '13 at 06:39
3 Answers
CMMI is a process improvement methodology which aims to take projects or teams from level 1, "chaotic", to a higher level, ideally but not necessarily level 5, "optimising".
It consists of various capabilities, each of which is assigned to a specific level. For example, CMM level 2 requires the Project Planning capability. The levels are basically:
- Chaotic, no real control.
- Managed, processes at project level, mostly reactive.
- Defined, processes at organisation level, proactive.
- Quantitative, processes measured and controlled.
- Optimising, feedback loops and continuously improving.
In my opinion, high levels of CMMI maturity are rather complex and difficult to achieve. While working for a large company doing outsourcing for a major Telco, we achieved level 5 but it was a great deal of work for continuously diminishing returns. We ended up viewing it as mostly a way to get government work and, in fact, I made a name for myself as a small projects specialist where we could still follow CMMI but not have to charge megabucks to the customer.
Agile, on the other hand, is a project management methodology focusing more on delivering what customers need rather than copious amounts of paperwork :-)
I see CMMI as one level up from Agile in that Agile itself is not a massively self-improving process.
It has improvement processes built in (such as retrospectives) but not in such a manner that the whole methodology may be turfed out if it's not performing.
In higher CMMI levels, whole chunks of project management methods (including Agile for example) can be tossed out or bought in depending on their performance and/or likely efficiencies.

- 854,327
- 234
- 1,573
- 1,953
-
2'I see CMMI as one level up from Agile in that Agile itself is not a massively-self-improving process' - you are forgetting retrospectives. They are regular meetings to review the process and change the rules if needed. – Sklivvz Jun 16 '13 at 13:43
-
1Well, no, I didn't forget it but it's still _part_ of Agile. With CMMI, you could throw the entire Agile methodology away if it gets in the way. That's not something you do with retrospectives, and it's why I stated CMMI was one level up. – paxdiablo Jun 16 '13 at 14:05
-
"Quantitative, processes measured and controlled". Would that be in conflict with this: http://www2.computer.org/cms/Computer.org/ComputingNow/homepage/2009/0709/rW_SO_Viewpoints.pdf – thirdy Oct 17 '13 at 02:54
Agile is a set of four main principles:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
From which dozens of software development methodologies are derived.
CMMI is a process improvement model. It's a meta-process and it's not, AFAIK, strictly related to software development.
As such it makes absolutely no sense comparing the two (a model and a set of principles). It also makes no sense asking about which maturity level is agile or even which maturity level is a specific agile methodology.
We can only talk about the specific maturity level of a particular agile software methodology implementation, e.g. "in this team we do Scrum at an optimizing maturity level".

- 30,601
- 24
- 116
- 172
-
Actuallty, I totally agree with that it makes no sense to make comparison because they are two different things. But my professor told me to make a deep analysis about their differences... – lute Jun 16 '13 at 13:13
-
Agreed. Agile methodologies, such as Scrum, can compatible with [CMMI](http://cmmiinstitute.com/cmmi-getting-started/cmmi-compatibility/cmmi-and-agile/cmmi-and-scrum/) – Dave Hillier Jun 17 '13 at 19:55
Some great formal answers are already here, maybe this will help to understand the difference for ones who seek understanding:
On a pirate ship set of principles that keep pirates moving towards a common goal is called "pirate code of honor" - this is set of Agile principles.
But there is always one guy on a boat with navigational instruments and a map, who knows where we are now and how to guide the ship through the seas - this is CMMI.

- 45
- 2
-
6
-
2This really doesn't add any value. You should at least try to explain the problem and give your shot at the solution before giving analogies. – Robotronx Apr 19 '14 at 13:29
-