Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the Difference between CMMI and Agile? [closed]

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!

like image 296
lute Avatar asked Jun 12 '13 05:06

lute


People also ask

Is CMMI compatible with agile?

Yes, CMMI and agile are potentially compatible , and it is possible to apply Disciplined Agile and CMMI together.

What is Agile Scrum CMMI?

Scrum is the next most lightweight. Agile supports many Agile method terms, and CMMI, which stands for Capability Maturity Model Integration, provides the most support for formal processes and change management. The Basic process is available with Azure DevOps Server 2019 Update 1 and later versions.

Is CMMI a project management methodology?

We start by explaining the basic structure of CMMI and describe the goals set for project management in CMMI maturity level 2. LogicVision selects the specific goals for project planning (PP) and project monitoring and control (PMC). Then these goals are transformed into requirements for project management templates.


2 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:

  1. Chaotic, no real control.
  2. Managed, processes at project level, mostly reactive.
  3. Defined, processes at organisation level, proactive.
  4. Quantitative, processes measured and controlled.
  5. 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.

like image 114
paxdiablo Avatar answered Sep 27 '22 19:09

paxdiablo


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

—Agile Manifesto

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

like image 29
Sklivvz Avatar answered Sep 27 '22 20:09

Sklivvz