Agile . since Jun 23 . Index . DOCs TOP TOC
The origin of the CMM model is in large-scale military software development. As part of its long-term program to promote improved large-scale software development and software management, the US Department of Defense (DOD), in conjunction with Carnegie Mellon University, set up the Software Engineering Institute in 1984. The charter of the SEI was to promote software development best practices and reuse. Over time, the SEI has become a major force in software research and education, and CMM has become one of the major programs developed and promoted by the SEI. The SEI has taken the role of extending and promoting software engineering in general, and CMM, in particular, outside the defense community.
| | |
Agile . since Jun 23 . Index . DOCs TOP TOC
In the 1980s, Watts S. Humphrey, a researcher and manager who came to the SEI from IBM, took the ideas of the software lifecycle and combined them with the idea of quality maturity levels, which lead to CMM. That initial publication then became the focal point for the development of CMM, as we know it today [4].
In a Crosstalk article from 1998, Humphrey explained the basic motivation behind the development of CMM:
The US Air Force asked the Software Engineering Institute to devise an improved method to select software vendors.... A careful examination of failed projects shows that they often fail for nontechnical reasons. The most common problems concern poor scheduling and planning or uncontrolled requirements. Poorly run projects also often lose control of changes or fail to use even rudimentary quality processes [5].
It's pretty clear that if you think most projects fail because of poor project management or change control, then you are likely to come up with a method that, like CMM, focuses on installing improved project control. If, on the other hand, you think that the reason most projects fail is the result of poor user communication, poor development practices, and poor programming, you are likely to come up with a different approach.