This month’s DC SPIN meeting featured a comparison of the Software Program Manager’s 16 Critical Software Practices™ vs. the Software Engineering Institute’s Capability Maturity Model Integration (CMMI).
Jonathan Addelston opened by saying that he was a skeptic, because he has been working with process improvement since he met Watts Humphrey in 1987 and has seen so much “blood-sucking level one software development." Since he has worked with so many organizations, he has a feel for how they would respond to a proposed method.
He described some of the problems with the SEI approach. It has a specialized vocabulary. For example, CMMI, v2.1 has a ten line definition of a project. Any comparison of the two should keep in mind that SEI applies to a whole constellation of projects and organizations, whereas SPMN speaks only to projects. Because of this, Addelston's presentation dealt only with the competing methodologies as they would apply to software projects as opposed to systems engineering or related work.
Addelston reviewed some of the attributes of a framework for process improvement. He indicated the limits of frameworks by quoting George Box, “All models are wrong, but some are useful.” He reminded the audience that process is constrained by the kind of project you are working on; software for weapons development is different from software for patient healthcare data.
He discussed the difficulty of communicating the specialized vocabulary of CMMI to corporate management, describing their attitude as “cargo cult” and mimicking their conversations, “Are you at Level 3? The new RFP requires you to be a level 3 to bid.” While humorous, this points to the influence of the federal government on software development. The requirement that bidders demonstrate a certain level of capability has a ripple effect upon the entire industry, although not nearly as much as we would like. It also illustrates the influence of the Potomac area on the tech industry. While we do have venture capitalists and some major companies, that is not what makes the Potomac area special. What makes us special is our influence on industry standards and practices. The DC chapter of SPIN is by far the largest and most active. You don’t hear about the names of the players (they would scoff to hear themselves described in such terms), but their influence upon the tech industry is profound.
Addelston made some general observations about the Software Project Manager’s Network (SPMN). He said they had a very entertaining book about bad management excuses. SPMN’s mission is “to identify proven industry and government software best practices and convey them to managers of large-scale software-intensive acquisition programs. Applying extensive ‘in the trenches’ experience, the SPMN enables program managers to achieve project success and deliver quality systems on schedule and on budget.”
SPMN has been used on Defense programs. Its website is owned and operated by the Integrated Computer Engineering Division of the American Systems Corporation.
Addelston emphasized that CMMI is about showing that an organization has met certain goals, not merely about documenting practices.
Going over the 16 Critical Software Practices™, he suggested that some of the titles were cutesey platitudes with no real meaning for software development (design twice, code once), while others were not relevant for all organizations. They seem to have been developed with database development in mind. Altogether, Addelston thought they were “all over the map.” He did not think they would work well with enterprise architecture projects.
While comparing the requirements of CMMI and SPMN, Addelston quoted Barry Boehm, who said “it’s not a requirement if you can’t afford it,” stressing the need to concentrate on what is really a requirement.
In conclusion, Addelston suggested that the 16 Critical Software Practices did not apply globally and that they might better have been called best practices.
Edit - this post has been edited to reflect corrections made by Addelston.