CMM (Capability Maturity Model)

Question: Choose one of the three process improvement initiatives (CMM, ISO 9000, SPICE) and review the advantages and disadvantages of using it in a small organization and a large organization. Include references for your research including two references to conferences specifically dealing with that initiative. Please remember that references need to be authoritative, i.e., another student is not an authority generally.

Answer:

·        Capability Maturity Model (CMM) assists organizations in maturing their people, process, and technology assets to improve long-term business performance. The SEI has developed CMM for software, people, and software acquisition, and assisted in the development of CMM for Systems Engineering and Integrated Product Development. The latest development in this initiative is the CMM IntegrationSM (CMMISM) Product Suite.

·        The purpose of CMM IntegrationSM is to provide guidance for improving your organization's processes and your ability to manage the development, acquisition, and maintenance of products and services. CMM Integration places proven practices into a structure that helps your organization assess its organizational maturity and process area capability, establish priorities for improvement, and guide the implementation of these improvements.

·        The CMMI Product Suite springs from a framework that generates multiple integrated models, courses, and an assessment method. As new material is added to the framework, more integrated models and supporting materials will become available that cover additional disciplines.

·        The CMM Integration project was formed to address the problem of having to use multiple Capability Maturity Models. The initial mission of the project was to combine three source models:

 

1.      Capability Maturity Model for Software (SW-CMM) v2.0 draft C

2.      Electronic Industries Alliance Interim Standard (EIA/IS) 731, Systems Engineering Capability Model (SECM)

3.      Integrated Product Development Capability Maturity Model (IPD-CMM) v0.98 into a single model for use by organizations pursuing enterprise-wide process improvement.

·        Discipline and process improvement experts from industry, government, and the Software Engineering Institute (SEI) joined together to develop the CMMI Framework, CMMI models, and supporting products.

·        This project work is jointly sponsored by the Office of the Under Secretary of Defense, Acquisition, Technology, and Logistics (OUSD/AT&L) and the Systems Engineering Committee of the National Defense Industrial Association (NDIA).

 

Small organization

 

Advantage:

Disadvantages: 

·         The SCE is very disruptive to the organization for the on-site period and although individuals may only be interrupted to participate in one to two hour interviews, a great deal of background documentation and support materials must also be collected and made available for review by the assessment team.

·         High costs in relation to the company’s size

·         Commitment of key resources to develop an CMM system infrastructure

·         Cost for training people

·         No resources for a full-time facilitator or coordinator

·         Difficulty of implementing change against the backdrop of tight working capital levels

 

 

Large organization

Advantages: 

Disadvantage:

·         High implementation costs in term of time consuming, money, training people and so on.

·         The CMM has no formal theoretical basis. It's based on the experience of "very knowledgeable people". Hence, the de facto underlying theory seems to be that experts know what they're doing. According to such a principle, any other model based on experiences of other knowledgeable people has equal veracity.

·         The CMM has only vague empirical support. That is, the empirical support for CMM could also be construed to support other models. The model is based mainly on experience of large government contractors, and Watts Humphrey's own experience in the mainframe world. It does not account for the success of shrink-wrap companies, and levels 1, 4, and 5 are not well represented in the data: the first because it is misrepresented, the latter two because there are so few organizations at those levels. The SEI’s, Mark Paulk can cite numerous experience reports supporting CMM, and he tells me that a formal validation study is underway. That's all well and good, but the anecdotal reports I've seen and heard regarding success using the CMM could be interpreted as evidence for the success of people working together to achieve anything. In other words, without a comparison of alternative process models under controlled conditions, the empirical case can never be closed. On the contrary, the case is kept wide open by ongoing counterexamples in the form of successful level 1 organizations, and by the curious lack of data regarding failures of the CMM (which may be due to natural reluctance on the part of companies to dwell on their mistakes, or of the SEI to record them).

·         The CMM reveres process, but ignores people. This is readily apparent to anyone who is familiar with the work of Gerald Weinberg, for whom the problems of human interaction define engineering. By contrast, both Humphrey and CMM mention people in passing [5], but both also decry them as unreliable and assume that defined processes can somehow render individual excellence less important. The idea that process makes up for mediocrity is a pillar of the CMM, wherein humans are apparently subordinated to defined processes. But, where is the justification for this? To render excellence less important the problem solving tasks would somehow have to be embodied in the process itself. I've never seen such a process, but if one exists, it would have to be quite complex. Imagine a process definition for playing a repeatably good chess game. Such a process exists, but is useful only to computers; a process useful to humans has neither been documented nor taught as a series of unambiguous steps. Aren't software problems at least as complex as chess problems?

·         The CMM reveres institutionalization of process for its own sake. Since the CMM is principally concerned with an organization's ability to commit, such a bias is understandable. But, an organization's ability to commit is merely an expression of a project team's ability to execute. Even if necessary processes are not institutionalized formally, they may very well be in place, informally, by virtue of the skill of the team members. Institutionalization guarantees nothing, and efforts to institutionalize often lead to a bifurcation between an oversimplified public process and a rich private process that must be practiced undercover. Even if institutionalization is useful, why not instead institutionalize a system for identifying and keeping key contributors in the organization, and leave processes up to them?

·         The CMM contains very little information on process dynamics. This makes it confusing to discuss the relationship between practices and levels with a CMM proponent, because of all the hidden assumptions. For instance, why isn’t training on level 1 instead? Training is especially important at level 1, where it may take the form of mentoring or of generic training in any of the skills of software engineering. The answer seems to be that nothing is placed at level 1, because level 1 is defined merely as not being at level 2. The hidden assumption here is that who we are, what problems we face, and what we’re already doing doesn’t matter: just get to level 2. In other words, the CMM doesn’t perceive or adapt to the conditions of the client organization. Therefore training or any other informal practice at level 1, no matter how effective it is, could be squashed accidentally by a blind and static CMM. Another example: Why is defect prevention a level 5 practice? We use project post mortems at Borland to analyze and improve our processes -- isn't that a form of defect prevention? There are many such examples we could cite, based on a reading of the CMM 1.1 document (although w did not review the voluminous Key Practices document) and the appendix of Humphrey's Managing the Software Process [5]. Basically, most and perhaps all of the key practices could be performed usefully at level 1, depending on the particular dynamics of the particular organization. Instead of actually modeling those process dynamics, the way Weinberg does in his work, the CMM merely stratifies them.

·         The CMM encourages displacement of goals from the true mission of improving process to the artificial mission of achieving a higher maturity level. We call this "level envy", and it generally has the effect of blinding an organization to the most effective use of its resources. The SEI itself recognizes this as a problem and has taken some steps to correct it. The problem is built in to the very structure of the model, however, and will be very hard to exorcise.

 

References:

1. Berti, Pat, "Four Pennsylvania schools await defense cuts.", Pittsburgh Business Times, Jan 22, 1990 v9 n24

2. Coplien, James, "Borland Software Craftsmanship: a New Look at Process, Quality and Productivity", Proceedings of the 5th Borland International Conference, 1994

http://www.sei.cmu.edu/managing/evaluator.listing.html

Reference: advantage and disadvantage of CMM from www.yahoo.com and www.google.com