DEFINITION:
Capability Maturity Model (CMM) is a model of 5 levels of process ‘maturity’ that determine effectiveness in delivering quality software.he model describes a five-level evolutionary path of increasingly organized and systematically more mature processes. CMM was developed and is promoted by the Software Engineering Institute (SEI), a research and development center sponsored by the U.S. Department of Defense (DoD). SEI was founded in 1984 to address software engineering issues and, in a broad sense, to advance software engineering methodologies.
Highlights of Levels:
Level 1: Initial: – characterized by chaos, periodic panics, and heroic efforts required by individuals to successfully complete projects. Very few or none of the processes are in place.
Level 2: Repeatable: – Software Project Tracking, Requirements Management, Realistic Planning and Configuration Management Processes are in place; successful practices can be repeated.
Level 3: Defined: – Standard Software Development and Maintenance Processes are integrated throughout an organization. A Software Engineering Process Group is in place to oversee software processes, and training programs are used to ensure understanding and compliance.
Level 4: Managed: – Metrics are used to track productivity, processes, and products. Project performance is predictable, and quality is consistently high.
Level 5: Optimizing: – The focus is on continuous process improvement. The impact of new processes and technologies can be predicted and effectively implemented when required.
Any organization can start from any level, but its motto is to reach level 5; where the focus is continuous process improvement. By doing this, high quality s/w delivery is assured.
CMM VS TMM
est Maturity Model is based on the Capability Maturity Model (CMM), and it was first developed by the Illinois Institute of Technology. It is a detailed model for test process improvement. It can be complemented with any process improvement model or can be used as a STAND ALONE model.
TMM has major two components
- A set of 5 levels that define testing capability
- An Assessment Model
TMM Levels | Goals | Objective of TMM levels |
Level 1:Initial | Software should run successfully |
|
Level 2:Defined | Develop testing and debugging goals and policies |
|
Level 3:Integrated | Integrate testing into the software life cycle |
|
Level 4:Management and Measurement | Establish a test measurement program |
|
Level 5:Optimized | Test process optimization |
|
Difference between CMM & TMM
CMM | TMM |
|
|
What is the difference between capability level and maturity level?
Both these metrics are closely related, and often rely upon each other. Capability level can be used to measure the attained improvement in individual process areas; maturity level can determine the achieved improvement in multiple process areas.
How can it be effectively implemented?
CMMI model does not only apply to processes. It applies to work groups, people, rules, teams and projects. To effectively implement CMMI in your organization,
- Choose staff members who will be trained.
- Work on creating Engineering Process Groups.
- Consult with CMMI consultants.
- Implement quality processes and practices.
- Select appropriate tools.
- Make your staff learn quality assurance, configuration management and project planning.
- Introduce the CMMI model to a few projects.
- Get feedback and reviews from customers
- Learn and improve the practices implemented.
- Add on more projects under the CMMI model.
LEVELS OF CMM:
Levels Activities Benefits Level 1 Initial
- At level 1, process is usually chaotic and ad hoc
- Capability is characterized on the basis of the individuals and not of the organization
- Progress not measured
- Products developed are often schedule and over budget
- Wide variations in schedule, cost, functionality and quality targets
None. Project is Total Chaos Level 2 Managed
- Requirement Management
- Estimate project parameters like cost, schedule, and functionality
- Measure actual progress
- Develop plans and process
- Software project standards are defined
- Identify and control products, problem reports changes, etc.
- Processes may differ between projects
- Processes become easier to comprehend
- Managers and team members spend less time in explaining how things are done and more time in executing it
- Projects are better estimated, better planned and more flexible
- Quality is integrated into projects
- Costing might be high initially but goes down overtime
- Ask more paperwork and documentation
Level-3 Defined
- Clarify customer requirements
- Solve design requirements, develop implementation process
- Makes sure that product meets the requirements and intended use
- Analyze decisions systematically
- Rectify and control potential problems
- Process Improvement becomes the standard
- Solution progresses from being “coded” to being “engineered”
- Quality gates appear throughout the project effort with the entire team involved in the process
- Risks are mitigated and don’t take the team by surprise
Level-4 Quantitatively Managed
- Manages the project’s processes and sub-processes statistically
- Understand process performance, quantitatively manage the organization’s project
- Optimizes Process Performance across the organization
- Fosters Quantitative Project Management in organization.
Level-5 Optimizing
- Detect and remove the cause of defects early
- Identify and deploy new tools and process improvements to meet needs and business objectives
- Fosters Organizational Innovation and Deployment
- Gives impetus to Causal Analysis and Resolution
Following diagram, gives a pictorial representation of what happens at different CMM level:
Limitations of CMM Models
- CMM determines what a process should address instead of how it should be implemented
- It does not explain every possibility of software process improvement
- It concentrates on software issues but does not consider strategic business planning, adopting technologies, establishing product line and managing human resources
- It does not tell on what kind of business an organization should be in
- CMM will not be useful in the project having crisis right now