Skip to main content

What is CMM?

CMM = 'Capability Maturity Model', developed by the SEI. It's a model of 5 levels of organizational 'maturity' that determine effectiveness in delivering quality software. It is geared to large organizations such as large U.S. Defense Department contractors. However, many of the QA processes involved are appropriate to any organization, and if reasonably applied can be helpful. Organizations can receive CMM ratings by undergoing assessments by qualified auditors.

Level 1 - characterized by chaos, periodic panics, and heroic efforts required by individuals to successfully complete projects. Fw if any processes in place; successes may not be repeatable.

Level 2 - software project tracking, requirements management, realistic planning, and configuration management processes are in place; successful practices can be repeated.

Level 3 - standard software development and maintenance processes are integrated throughout an organization; a Software Engineering Process Group is is in place to oversee software processes, and training programs are used to ensure understanding and compliance.

Level 4 - metrics are used to track productivity, processes, and products. Project performance is predictable, and quality is consistently high.

Level 5 - the focus is on continouous process improvement. The impact of new processes and technologies can be predicted and effectively implemented when required.

Perspective on CMM ratings: During 1997-2001, 1018 organizations were assessed. Of those, 27% were rated at Level 1, 39% at 2, 23% at 3, 6% at 4, and 5% at 5. (For ratings during the period 1992-96, 62% were at Level 1, 23% at 2, 13% at 3, 2% at 4, and 0.4% at 5.) The median size of organizations was 100 software engineering/maintenance personnel; 32% of organizations were U.S. federal contractors or agencies. For those rated at Level 1, the most problematical key process area was in Software Quality Assurance.

Comments

Popular posts from this blog

Manual testing - Brief Summary

Manual testing is a type of software testing in which testers execute test cases without the use of automation tools or scripts. Instead, testers follow a series of predefined steps to verify that a software application or system functions correctly and meets its requirements. Manual testing is an essential part of the software testing process and is typically performed alongside automated testing, where applicable. Here are some key aspects of manual testing: Test Case Design : Testers create test cases based on the software's requirements, specifications, and design documents. These test cases outline the steps to be followed, the expected results, and any necessary preconditions. Test Execution: Testers manually execute the test cases by interacting with the software just like a user would. They input data, navigate through the user interface, and observe the system's behavior. Exploratory Testing: In addition to predefined test cases, manual testers often perform ex...

What is Installation testing?

Installation testing is done to verify whether the hardware and software are installed and configured properly. This will ensure that all the system components were used during the testing process. This Installation testing will look out the testing for a high volume data, error messages as well as security testing

Software testing guide - Testing tutorial

Introduction There are many potential pitfalls to manual software testing, including: 1. Manual testing is slow and costly. 2. Manual tests do not scale well. 3. Manual testing is not consistent or repeatable. 4. Lack of training. 5. Testing is difficult to manage. This article will cover five "best practices" recommendations to help avoid the pitfalls associated with manual software testing. Be Thorough in Test Design and Documentation In designing the tests, there should be agreement among the business staff, product and project managers, developers, and testers on test coverage. This can be documented as test requirements in a test plan. With this documentation, management can have visibility of the test coverage and know that the right areas are being tested. This then becomes an important management tool in managing testing. The goal is to find the easiest way to document as many test cases as possible without having the test effort turn int...