Share This Article
CMMI and Agile: Opposites Attract
The myths surrounding the compatibility of CMMI and Agile have recently been debunked by SEI. Learn how these seemingly opposing strategies can be paired to foster dramatic improvements in business performance! 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.
"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.
Setting the Record Straight
"It was an opportunity for us at SEI to dispel some myths and 'apologize', in a sense, to some people in the Agile community," Konrad says. "Further, since each process attempts to embrace technology to get the desired result, we do have more in common than people may think."
Moreover, since people learn what works for them and their organizations in limited settings, it is sometimes difficult to notice how another method may be beneficial to them, continues Konrad.
Integrating the Two
Further, according to the report, many CMMI-adopting organizations also have Agile development teams. On the other hand, organizations can effectively introduce CMMI in an Agile setting where an iterative, time-boxed approach is used. Konrad says CMMI and Agile development methods can complement each other by creating synergies that can benefit the organization.
"Organizations can benefit from both methods because CMMI is essentially a list of topic areas that need to be addressed in process improvement while Agile approach is a subset of topics and how they may work in certain situations", Konrad says. In other words, CMMI provides the systems engineering practices that help to enable an Agile approach on larger projects. Agile methods provide the software development "how-tos" that are missing from the CMMI best practices.
Of course, just like any process change, this change may not be 100 percent perfect. For example, Konrad says that some Agile approaches do not work well in all contexts, and some CMMI details may be considered "overkill" in a streamlined environment. Yet, there are some important learnings from both processes that truly can be shared and should be considered, Konrad adds.
"I think organizations will be fine if they choose just Agile or just CMMI," Konrad relates. "There is room for multiple points of view, and we learned that there is value in each approach. However, my view is that there really is a benefit from implementing a variety of technologies. Moreover, organizations do themselves a disservice if they limit themselves to only a single technology.
"When you peel back the layers, we are essentially after the same thing - which is improved ways of building software in a wide variety of contexts," Konrad remarks.
Additionally, Dalton was surprised with how quickly and how thoroughly leaders embraced the technical note. Of the two communities in the Agile world, those individuals who took the report seriously and viewed the report as an empowering methodology, shared favorable comments of the report. In fact, Dalton also was surprised with the high compatibility of these two approaches.
"We always believed it, but now we have the research to support it," adds Dalton. "When presented with the right facts and information, people embraced our viewpoint." Dalton says that the next steps for this project are to take another iteration of the subject on a different level. The first step did make strides in addressing people's issues. Moreover, the technical note included a Call to Action that outlined steps that both communities could take to mend and reconcile perceptions about the two communities. Dalton says the next phase of the project will include practical examples and case studies. Over time then, it is expected that the CMMI and Agile communities will continue to build on their shared strengths and lessen the focus on the differences between these two approaches.
How Six Sigma Can Help the System Development Process
© Copyright 2009 ExecutiveBrief. Used by permission.
© Copyright 2009 ExecutiveBrief. Used by permission.
© Copyright 2009 Auerbach Publications