IT Performance Improvement

IT Performance Improvement

IT Today

Auerbach Publications

Book Catalog

Archives

Author Guidelines


Share This Article


New Books

Delivering Successful Projects with TSP and Six Sigma: A Practical Guide to Implementing Team Software Process

Six Sigma Software Development, Second Edition

Interpreting the CMMI: A Process Improvement Approach, Second Edition


Partners


Subscribe to IT Performance Improvement





Powered by VerticalResponse

 

CMMI and Agile: Opposites Attract

ExecutiveBrief Staff

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.

Why Now?
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.

Setting the Record Straight
As mentioned previously, the authors, Konrad, Dalton, Sandy Shrum, Hillel Glazer, and David Anderson, released the technical note in an attempt to set the record straight about these two processes. Consequently, Konrad knew that this controversial topic would delight some people while it would anger others-because that is simply the way it is with CMMI and Agile.

"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
Konrad believes that much value can be gained when CMMI and Agile work in a synergistic manner. "The two methods are certainly compatible", he says. At the project level, CMMI focuses on what projects actually do, while Agile methods focus on how projects developing products.

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.

CMMIAgile
Management plays an important role in ensuring project success.Management is a coaching function that helps to eliminate barriers to progress.
The focus is on the organization or enterprise.The focus is on the project or team.
CMMI is broadly beneficial - especially when the target market matures.Agile methods have the most benefit in an emergent and misunderstood market.
CMMI assumes a longer-term view.Agile takes a short- to medium-term view.
CMMI was developed in a high-cost of failure domain.Agile methods flourish in a low-cost of failure domain.
CMMI has a strong "review as you develop" emphasis.Agile methods employ concurrent development.

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.

Community Response
The CMMI/Agile technical note was ultimately viewed positively and negatively as expected. However, Konrad says that it was encouraging to see CMMI proponents and Agile proponents react favorably to the report. Some big names in the Agile community, for example, said that the report was a positive development. Other individuals publicly shared that they could see the harmony and value in pursuing both approaches.

"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.


Related Reading

Introduction to Process Improvement and the CMMI

How Six Sigma Can Help the System Development Process

© Copyright 2009 ExecutiveBrief. Used by permission.


© Copyright 2009 Auerbach Publications