page 1 the capability maturity model (cmm) distinguishes between immature and mature software...
TRANSCRIPT
Page 1
• The Capability Maturity Model (CMM) distinguishes between immature and mature software organizations.
• Immature software organizations are typically reactionary and have little understanding as to how to successfully develop software.
• Mature software organizations understand the development process, which enables them to judge the quality of the software products and the process that produces them. Mature software organizations have a higher success rate and a lower overall cost of software across the entire life of a software product than do immature software organizations.
• The CMM has been adopted by hundreds of organizations worldwide who want to improve the way they develop software.
Capability Maturity Model provides a framework from which a process for large, complex software efforts can be defined
The CMM defines five maturity levels, evolutionary plateaus toward achieving a mature software process, that an organization can attain with respect to the software process.
The CMM defines five maturity levels, evolutionary plateaus toward achieving a mature software process, that an organization can attain with respect to the software process.
Source: Software Engineering Institute
Level 5: Optimized Work the measures
Level 4: Managed Measure the work
Level 3: Defined Work the plan
Level 2: Repeatable Plan the work
Level 1: Initial Worship the hero
Ma
turi
ty
IT Functions Management
Page 2
Defect Prevention
Technology change management
Process change management
Defect Prevention
Technology change management
Process change management
Quantitative process management
Software quality management
Quantitative process management
Software quality management
Requirements management
Software project planning
Software project tracking and over sight
Software subcontract management
Software quality assurance
Software configuration management
Requirements management
Software project planning
Software project tracking and over sight
Software subcontract management
Software quality assurance
Software configuration management
Level 1: Initial
Level 2: Repeatable
Level 4: Managed
Level 5: Optimizing
Organization process focus
Organization process definition
Training program
Integrated software management
Software product engineering
Intergroup coordination
Peer reviews
Organization process focus
Organization process definition
Training program
Integrated software management
Software product engineering
Intergroup coordination
Peer reviews
Level 3: Defined
CMM defines issues to be addressed
The true value of the CMM is that it defines the issues that must be addressed by a software process to achieve each maturity level.
These issues are called key process areas (KPA).
IT Functions Management
Page 3
The software process for both management and development activities is documented, standardized, and integrated into a standard software process for the entire organization. All projects use an approved, tailored version of the organization’s standard software process for developing and maintaining software.
Detailed measures, called metrics, of the software process and product quality are collected. Both the software process and products are quantitatively understood and controlled
Continuous process improvement is enabled by quantitative feedback from the software process and from piloting innovative ideas and technologies.
• The planning and management of new projects is based on experience with similar projects.• Process capability is enhanced at the project level by establishing basic process management
techniques• Software requirements and deliverables are baselined• Processes often differ between projects, reducing opportunities for teamwork and reuse• The user community is provided visibility into the project at defined occasions, typically via the
review and acceptance of major project deliverables, allowing limited management control
• Overcommitment si common• During a crisis, planned procedures are abandoned and project teams revert to
coding and testing• Success depends on having an exceptional manager and seasoned and effective
software team• The software team process is effectively a black box to the user community.
Resources go in and software potentially comes out
Level Description
1. Initial The software process is ad hoc, and occasionally even chaotic. Few processes are defined, and success depends on individual effort and heroics
2. Repeatable Basic project management processes are established to track cost, schedule, and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications
3. Defined • A standard process is used, with possible tailoring, on all projects.• Management has good insight into technical progress on the project• Defined processes allow the user community greater visibility into the project and
enable accurate and rapid status updates.
4. Managed • Productivity and quality are measured for important software process activities across all projects.
• The user community can establish an accurate, quantitative understanding of the software process capability of your organization/team and the project risk before the project begins.
5. Optimized • Innovations that exploit the best software engineering practices are identified and shared throughout the organization
• The software process is improved by changing common causes of inefficiency• Disciplined change is the norm, not the exception.
Features
The five CMM maturity levelsCapability Maturity Model