CMM LEVELS IN TESTING


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

  1. A set of 5 levels that define testing capability
  2. An Assessment Model

TMM

TMM Levels Goals Objective of TMM levels
Level 1:Initial Software should run successfully
  • At this level, no process areas are identified
  • Objective of testing is to ensure that software is working fine
  • This level lacks resources, tools, and trained staff
  • No quality assurance checks before software delivery
Level 2:Defined Develop testing and debugging goals and policies
  • This level distinguish testing from debugging & they are considered distinct activities
  • Testing phase comes after coding
  • Primary goal of testing is to show software meets specification
  • Basic testing methods and techniques are in place
Level 3:Integrated Integrate testing into the software life cycle
  • Testing gets integrated into entire life cycle
  • Based on requirements test objectives are defined
  • Test organization exists
  • Testing recognized as a professional activity
Level 4:Management and Measurement Establish a test measurement program
  • Testing is a measured and quantified process
  • Review at all development phases are recognized as tests
  • For reuse and regression testing, test cases are gathered and recorded in a test database
  • Defects are logged and given severity levels
Level 5:Optimized Test process optimization
  • Testing is managed and defined
  • Testing effectiveness and costs can be monitored
  • Testing can be fine-tuned and continuously improved
  • Quality control and defect prevention are practiced
  • Process reuse is practiced
  • Test related metrics also have tool support
  • Tools provide support for test case design and defect collection

Difference between CMM & TMM

CMM TMM
  • CMM or Capability Maturity Model is for judging the maturity of the software processes of an organization
  • TMM or Test Maturity Model describes the process of testing and is related to monitoring the quality of software testing model

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:

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:

flowcmm

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