Agile and CMMI: Incompatible?
Are agile and CMMI completely incompatible? It would seem that if you think about the approaches to documentation alone that they would be very incompatible, but think again...
Jeff Sutherland of Scrum Inc. turns that erroneous understanding on its head! Scum and CMMI actually are compatible, if you organize things to take advantage of the best of both.
CMMI for Quality
CMMI is about making sure you understand what must be done. It does, in fact, emphasize documentation, in direct contradiction to the foundations of agile approaches. However, the reality is that we need to know details about the product, and that can be complicated, requiring the rigor and detail that CMMI prescribes.
The problem with CMMI is that it does not consider efficiency. You may get the product right...but it could take a while!
Scrum for Efficiency
Scrum is great for keeping the developers functioning at maximum productivity and efficiency. It's also great at ensuring that stakeholders see deliverables on a regular, reliable basis.
The problem with agile scrum approaches is that they tend to be agnostic to the quality of the requirements. They also can be agnostic to the long term goals of the project!
Agile and CMMI approaches can be highly complementary. There are strengths to each - and weaknesses, too. For a more detailed explanation, view Jeff Sutherland's excellent video on how "Scrum Ensures Agility". He explains how the key is to extract the goodness from both CMMI and Agile and to recognize the weaknesses of each and handle them.