Are agile and CMMI — Capability Maturity Model Integration — antithetical? Prior to embarking on our relationship with Hillel Glazer, our CMMI consultant, several of us thought exactly that: Agile and lean thinking means that we avoid unnecessary waste and overhead, while CMMI demands heavyweight approaches and documentation. Happily, we’ve learned that our preconceptions about CMMI were wrong and that it in fact can harmonize with agile, especially in our environment.
CMMI is, simply, a framework for business-process improvement. It’s a software-management model for software projects to plan, organize and identify what needs to get done to run the project. It’s not an engineering-development standard, a process itself or a prescribed way of doing things. Since our teams have been doing regular retrospectives as an application of agile thinking for a while now, CMMI allows us to build on that foundation of process improvement that is already part of our thinking.