Agile and the CMMI
This chapter discusses using Agile Methods with CMMI processes. Some of you will think we are crazy; that the two should never, and could never, mix. Au contraire. One of our clients, recently awarded CMMI Maturity Level 5, has blended the two approaches and seen significant benefits. Our client reports that productivity on Scrum teams (an Agile Method) is almost twice that of traditional teams. Projects demonstrated that using a story-based, test-driven approach to software development reduced defects found during final test by 40 percent. Another project finished early and reduced the number of coding defects in final test by 38 percent. Most organizations using Agile Methods do not report these figures because, since they chose Agile, most do not have the rigorous measurement processes in place to really prove these benefits. However, a CMMI Maturity Level 5 organization, with its databases of historical measurements, process performance baselines, and process performance models must be able to prove and defend their measures. So, we believe that the two approaches to software development can work, and do work, quite well together. However, like anything else, the devil is in the details. When reading this chapter, we ask that those of you who are experts in CMMI or Agile or both keep an open mind. There is no point in continuing turf wars. Can’t we all just get along?