The Capability Maturity Model (CMM) was developed by the Software Engineering Institute as a way to describe the maturity of a software organization's development practices. People who practice agile development view the CMM as being the opposite of agile: ponderous, cumbersome, and antiquated. Process-oriented people look upon agile methods as being undisciplined and chaotic. However, from the standpoint of sustainable development, there is actually a great deal to learn from and draw on from both agile development and the CMM. As pointed out in the quote above, people who dismiss agile are missing the benefits of simple and powerful development methods, and people who dismiss the CMM are limiting their ability to implement organizational process improvements. In this Appendix, I will briefly describe the CMM and then show how the CMM and agile development complement each other. |