What is the role of KPAs in the CMM?
How do the KPAs distribute over CMM levels?
What appears to be the major stumbling block(s) to CMM adoption by industry?
Identify a cluster of related activities that, when performed collectively, achieve a set of goals considered important for enhancing process capability
Defined to reside at a single maturity level
Identify the issues that must be addressed to achieve a maturity level
Performance driven by the competence and heroics of the people doing the work
Consistency and compliance to standards driven by management priorities - usually schedule is the top priority
High quality and exceptional performance possible so long as the best people can be hired Unpredictability Ð for good or ill Ð characterizes the initial level organization
Management must "walk the talk" to initiate an improvement effort.
Only with management discipline will good software engineering practices be retained in the crunch.
Management processes establish role models for process improvement.
Management Ð and process Ð discipline empowers the engineering processes and the technical staff.
Purpose is to establish a common understanding between the customer and the software project of the customer's requirements that will be addressed by the software project
Involves establishing and maintaining an agreement with the customer on the requirements for the software project
Agreement is the basis for estimating, planning, performing, and tracking the project's software activities
Purpose is to establish reasonable plans for performing the software engineering and for managing the software project
Involves:Plan provides the basis for initiating the software effort and managing the work
Purpose is to provide adequate visibility into actual progress so that management can take effective actions when performance deviates significantly from the plan
Involves:Purpose is to select qualified software subcontractors and manage them effectively
Involves:Purpose is to provide management with appropriate visibility into the process being used and the products being built
Involves:Purpose is to establish and maintain the integrity of the products of the software project throughout the software life cycle
Involves:To control a process, it must be well understood.
Identify the inputs, how they will affect the process, and their readiness criteria.
Identify the outputs and the completion criteria for the outputs.
Establish a shared understanding of how the process works and the role of each participant.
Purpose is to establish the organizational responsibility for software process activities that improve the organization's overall software process capability
Involves:Purpose is to develop and maintain a usable set of software process assets that improve process performance and provide a basis for cumulative, long-term benefits
Involves developing and maintaining the organization's standard software process and related process assets
Purpose is to develop the skills and knowledge of individuals so they can perform their roles effectively and efficiently
Involves:Purpose is to integrate the project's software engineering and management activities into a coherent, defined software process tailored from the organization's software process assets
Involves:Purpose is to consistently perform a well-defined engineering process that integrates all the software engineering activities to produce correct, consistent software products effectively and efficiently
Involves performing the engineering tasks to build and maintain the software using appropriate tools and methods
Purpose is to establish a means for the software engineering group to participate actively with the other engineering groups so the project is better able to satisfy the customer's needs effectively and efficiently
Involves the disciplined interaction and coordination of the project engineering groups with each other to address system-level requirements, objectives, and plans
Purpose is to remove defects from the software work products early and efficiently
Important corollary is to develop a better understanding of the software work products and of defects that might be prevented
Involve a methodical examination of work products by the producer's peers to identify defects and areas where changes are needed
Applying the principles of statistical process control, address special causes of process variation.
Explicitly address the customer's needs as part of a philosophy of quality management.
Purpose is to control the process performance of the software project quantitatively
Involves:Purpose is to develop a quantitative understanding of the quality of the project's software products and achieve specific quality goals
Involves:Automate, pilot new technologies, do technology transition.
Identify and eliminate chronic causes of poor performance.
Continually improve the software process.
Purpose is to identify the cause of defects and prevent them from recurring
Involves:Purpose is to identify new technologies (i.e., tools, methods, and processes) and transfer them into the organization in an orderly manner
Involves:Purpose is to continually improve the software processes used in the organization with the intent of improving software quality, increasing productivity, and decreasing the cycle time for product development
Involves:| Level | Project Maturity (N=296) | Site Maturity (N=27) |
| 1 | 88% | 81% |
| 2 | 5% | 12% |
| 3 | 5% | 7% |
| 4 | 0% | 0% |
| 5 | 2% | 0% |
| SEI Level | Quality Defects /KSLOC | Productivity SLOC /Hour | Cost $ Millions | Cost $/SLOC | Development Time |
| 1 | 9.0+ | 1.0 | $33 M | $66 | 40 Months |
| 2 | 3.0 | 3.0 | $15 M | $30 | 32 Months |
| 3 | 1.0 | 5.0 | $ 7 M | $14 | 25 Months |
| 4 | 0.3 | 8.0 | $ 3 M | $6 | 19 Months |
| 5 | 0.1 | 12.0 | $ 1 M | $2 | 16 Months |
| SEI Level | Duration | Effort | Faults Detected during Development | Faults Delivered | Total Cost |
| 1 | 29.5 | 593.5 | 1348 | 61 | $5,440,00 0 |
| 2 | 18.5 | 143.0 | 328 | 12 | 1,311,000 |
| 3 | 15.2 | 79.5 | 182 | 7 | 728,000 |
| 4 | 12.5 | 42.8 | 97 | 5 | 392,000 |
| 5 | 9.0 | 16.0 | 37 | 1 | 146,000 |
Go To Lecture [Outline] [Overview]
Go To [311 Course Outline] [CIS Department Page]
Paulk, M. C., B. Curtis, M. B. Chrissis, & C. V. Weber (1993) The Capability Maturity Model For Software, Version 1.1. Software Engineering Institute, Carnegie Mellon University, CMU/SEI-93-TR-24.
Schach (1996) Classical and Object Oriented Software Engineering.
SEI (1993) The Capability Maturity Model: A Tutorial.