Topic: Management Improvement
Stretching Agile to fit CMMI Level 3 by David J. Anderson.
I highly recommend reading this article. My work happens to straddle both the management improvement and software development areas that this article covers. But, if you are interested in either area, this article offers some great material. And if you are interested in both, you are in for a treat.
Capability Maturity Model Integration (CMMI) is the process developed by the Software Engineering Institute (at Carnegie Mellon) that was heavily influenced by Quality Management. When I first ran across it (then called Capacity Maturity Model) in the mid 1990’s, as I remember, I was struck that the model did a better job of integrating Quality Management ideas than most programs specifically calling themselves Quality programs.
I was also struck that it was extremely documentation heavy. It was developed for large, complicated, critical software system (for the Department of Defense). While the heavy documentation focus made sense for that type of development it seemed to require too much overhead for less complex software development efforts but still had lots of good ideas that smaller efforts could benefit from. And the ideas in David Anderson’s paper show how to get the benefits of CCMI without the normal drawbacks (including importantly, as he mentions:
As the paper mentions this is not necessary even though it is often the result of using CMMI.
By embracing the teachings of W. Edwards Deming and understanding their relationship to agile principles and practices, it is possible to develop a truly agile full life cycle process which meets the requirements for all 5 levels in the CMMI model. Specifically by using agile metrics such as velocity, cumulative flow and trends in open issues, we have designed planning and monitoring methods which embrace variation and allow for postponed, late commitment and adaptive iterative planning.