An informal extension (by Captain Tom Schorsch of the U.S. Air Force) of the CapabilityMaturityModel to include those organizations that have yet to reach the level of (or digressed from) Initial. Levels 1 and above (with their characteristic features) are from the official CMM.
See http://www.omahafreenet.org/spin/cimm.htm for a more detailed, if not strangely-formatted, listing.
Captain Tom Schors original paper, published in "Crosstalk" November 1996, can be found at http://www.stsc.hill.af.mil/crosstalk/1996/11/xt96d11h.asp and is based on research documented in the article by Finkelstein, "A Software Process Immaturity Model," ACM SIGSOFT, Software Engineering Notes, Vol. 17, No. 4, October 1992, pp. 22-23.
Referenced in The Seven Habits of Highly Defective Developers by JackGanssle. (http://www.embedded.com/98/9807br.htm or http://www.ganssle.com/articles/7habits.htm)
See also: the SevenHabitsOfHighlyDefectiveProgrammers
The official CapabilityMaturityModel fails in the primary purpose for which it was created: To differentiate between organizations based on their process maturity. The CMM fails because nearly all organizations in the industry are properly rated CMM level "1". With so many of them having the same rating, the CMM fails in its mission to differentiate between them.
Thus the need for a well-defined CIMM (CapabilityImMaturityModel) -- to assign meaningful differentiating ratings to the vast number of organizations that would all otherwise have a uniform "1" rating ("Ad hoc and Chaotic"). This could be of great benefit to purchasing organizations, as they could sensibly choose negligent (0) organizations over contemptuous (-2) ones, for example, and enjoy the benefits of improved and less unproductive vendor relationships. ;->
The company's gotten worse. We're down around -8 now, where the code spontaneously changes on development and on the server for no apparent reason. I'm pretty sure management has us on a nose dive just to see just how bad the development process can actually become. --BruceIde
It's nice to see people employing the scientific method, from time to time. ;->
How can I make my years of experience in organizations at Levels -2, -3 and -4 look good on a resume? --PhlIp
Talk about how you succeeded (or at least put off failure) at the organization. For example, at a previous employer I introduced JUnit and unit-testing techniques to the teams I interacted with. Those projects that adopted good unit testing practices succeeded in delivering applications with good user satisfaction. --StevenNewton
Here's a picture of my former boss (behind the right cop) having me (inverted) arrested for introducing ProgrammerTests, and trying to pitch them to my colleagues:
--PhlIp
Us geeks never learn: Being liked is more important than being right.
Sometimes. But in this case I never lectured anyone. I just did TDD and said, "Heck, look at me!"