First, I’d like to understand what does it mean to be compatible. Almost all articles I read explain how it would be possible to obtain a CMMI level 3 or 5 using Agile practices. But does been able to obtain a certification makes them compatible? I don’t think so. Obtaining a certification is not an objective per se, right? So how should we define whether they are compatible or not?
Agile’s objectives are to be able to improve business value, to increase performance and to increase quality. CMMI is a process improvement framework whose objective is to identify and evolutionary improve the processes of an organization. Based on both objectives, I believe being compatible should mean that CMMI can help an Agile organization improve its processes. Putting it in other words, would an agile organization benefit from using CMMI?
A question that I asked myself a few times is: If an agile organization uses a process improvement framework, should it be to improve its Agility? Well, something that we should not forget (although most of us do) is that being Agile is not an objective. It’s more like a requisite. It is also important to understand that Agility goes against standardization and also that it decreases as the size of the problem increases. Small organizations dealing with small problems (and less critical) can naturally be more flexible, more agile than bigger teams dealing with bigger problems. Standardization also comes at a price. Of course, it has its advantages such as leveraging the knowledge of the organization but flexibility and customization is lost. Those, I consider understandable reasons to loose Agility. What should not be lost is the philosophy, the set of values (as Jeff Patton says “Agile is a value system”). Therefore, if a process improvement framework is used in an Agile organization, it should share or at least respect the Agile values. Otherwise, the framework would be detrimental to the Organization’s Agility and this wouldn’t be for understandable reasons.
Does CMMI share the Agile values?