Despite the perception that CMMI best practices and Agile development methods are at odds with each other, new research suggests just the opposite train of thought. In fact, CMMI and Agile champions can benefit from using both methods within organizations - with the potential to dramatically improve business performance.
SEI published a technical note in late 2008 entitled: CMMI or Agile: Why Not Embrace Both? Written by SEI staff members and industry experts, this technical note thoroughly addressed this topic. As you know, CMMI and Agile methods involve two different technologies; as a result, each technology has its own community of loyal adopters. Mike Konrad, a Senior Member of SEI’s Technical Staff, concurs and states that the natural tendency is to form specific “camps” around different methods. However, according to the technical note, this discord is not healthy for the software engineering profession.
“As the two communities continued to increase in size, it seemed like the appropriate time to address this issue head on in this technical note,” Konrad explains. “Also, it was an excellent opportunity for us at SEI to dispel some myths and set the record straight about these two methodologies.”
According to Jeffrey Dalton, the President of the Michigan-based Software Process Improvement firm Broadsword, different triggers spurred the growth of CMMI and Agile methods. For instance, CMMI is driven by a particular organization’s needs, and adopted in a top-down fashion, whereas Agile is very organic in its adoption process. Therefore, according to Dalton, it was inevitable that there would be a crossover between these two approaches because the adoption was getting larger.
“We are starting to see collisions as the younger folks who practice Agile in an organic manner start to move up in their organizations, and see the influence that CMMI has on Agile’s organic process,” Dalton says. “Previously, there was confusion concerning just how these two methods could co-exist in the same environment - but as it turns out, we know now that these two methods can function together.”
In fact, for over two years now, Dalton has considered the issue of CMMI and Agile coming together. Additionally, as more people started to ask questions about this issue, he decided that it was time to address the issue of these processes coming together more seriously.
Furthermore, Dalton admits that the Agile community does not agree with this viewpoint. To fully embrace the benefits of the CMMI and Agile methods co-existing, the Agile community needs to learn more about CMMI. However, since one tenet of the Agile methods is to embrace change a little at a time, there is the possibility that the Agile community will embrace this synergistic viewpoint in the future - as small changes are made.