CMMI, for all its alleged faults, is smart enough to recognize that one size does NOT fit all. The truth is even more extreme, organizations tempted into the “one true process” quickly realize that “one size fits no one”. Even if the “one true process” was created by looking at projects in progress at the time, no two projects are the same so the process does not really fit new projects as they come along.
CMMI embodies ideas to stop organizations falling into the “one true process” trap. First, organizations must build a “set of standard processes” – enough processes to support the different types of projects that the organization has to deliver. We can think of these types of projects as forming families – for each distinct family there is a distinct standard process.
CMMI goes further and permits tailoring of the selected processes to better fit the needs of each specific project. Tailoring can only occur within permitted guidelines – to ensure that the performance of different projects remains comparable. In particular, the quality of the work products produced will be comparable across projects.
There is a further allowance for unusual projects. Recognizing that all organizations evolve continuously and will have to tackle new and unique challenges, projects are permitted to seek exceptions to the standard processes and tailoring guidelines. The only condition is that the project makes a reasonable case for its exceptional behavior and describes how it will perform its work to ensure that the organization’s policies will not be violated.
The way that CMMI is defined means that organization’s that attempt “one true process” are not fulfilling the CMMI requirements – they cannot achieve maturity level 3.
But organizations trying “one true process” put themselves in an even more invidious position. They cannot improve. The “one true process” becomes a straight jacket that is almost impossible to change.
Surely, though, it is easier just to change one process than to keep several processes current? In terms of the amount of intellectual property to be kept up to date, that’s certainly true. But consider the problems from the other side. Different projects need different changes to be incorporated in the “one true process” to make it better suit their needs. The problem comes when these projects requires contradictory changes – one project needs more agility, the other more formality…
Now, which changes are we going to incorporate into the process? If we incorporate more formality, the agile project is disadvantaged. If we go for more agility, the formal project is disadvantaged.
Very quickly the strains on the process and the demands to change the process become so great, the “one true process” becomes an unsustainable position. The organization learns to support families of processes, or abandons the idea of process altogether.
Avoid rigor mortis, create your set of standard processes today…