|The CMMi easy button concept and disclaimer
Disclaimer: The opinions expressed here are the authors
and do not express a position on the subject from the
Software Engineering Institute (SEI) or any organization
or SEI Partner affiliated with the SEI.
The concept of The CMMi easy button is to be able to
jump start SQA software professionals in establishing an
effective Software process Improvement (SPI) framework that is based on CMMi theories and best practices.
CMMI, CMM, and Capability Maturity Model are registered
in the U.S. Patent and Trademark Office.
CMM Integration, SCAMPI, and IDEAL are service marks of
Carnegie Mellon University.
|Causal Analysis and Resolution (CAR)||Configuration Management (CM)||Decision Analysis and Resolution (DAR)|
|Integrated Project Management +IPPD (IPM+IPPD)||Measurement and Analysis (MA)||Organizational Innovation and Deployment (OID)|
|Organizational Process Definition +IPPD (OPD+IPPD)||Organizational Process Focus (OPF)||Organizational Process Performance (OPP)|
|Organizational Training (OT)||Product Integration (PI)||Project Monitoring and Control (PMC)|
|Project Planning (PP)||Process and Product Quality Assurance (PPQA)||Quantitative Project Management (QPM)|
|Requirements Development (RD)||Requirements Management (REQM)||Risk Management (RSKM)|
|Supplier Agreement Management (SAM)||Technical Solution (TS)||Validation (VAL)|
|Verification (VER) purpose and introductory notes|
|Specific Goals and Practices|
|Specific Goal 1 (SG 1) Prepare for Verification (SP 1.*)|
|SP 1.1 Select Work Products for Verification||SP 1.2 Establish the Verification Environment||SP 1.3 Establish Verification Procedures and Criteria||.|
|Specific Goal 2 (SG 2) Perform Peer Reviews (SP 2.*)|
|SP 2.1 Prepare for Peer Reviews||SP 2.2 Conduct Peer Reviews||SP 2.3 Analyze Peer Review Data||.|
|Specific Goal 3 (SG 3) Verify Selected Work Products (SP 3.*)|
|SP 3.1 Perform Verification||SP 3.2 Analyze Verification Results||.||.|
|Generic Goals and Practices|
|Generic Goal 1 (GG 1) Achieve Specific Goals, Generic Practices (GP 1.*)|
|GP 1.1 Perform Specific Practices||.||.||.|
|Generic Goal 2 (GG 2) Institutionalize a Managed Process, Generic Practices (GP 2.*)|
|GP 2.1 Establish an Organizational Policy||GP 2.2 Plan the Process||GP 2.3 Provide Resources||GP 2.4 Assign Responsibility|
|GP 2.5 Train People||GP 2.6 Manage Configurations||GP 2.7 Identify and Involve Relevant Stakeholders||GP 2.8 Monitor and Control the Process|
|GP 2.9 Objectively Evaluate Adherence||GP 2.10 Review Status with Higher Level Management||.||.|
|Generic Goal 3 (GG 3) Institutionalize a Defined Process, Generic Practices (GP 3.*)|
|GP 3.1 Establish a Defined Process||GP 3.2 Collect Improvement Information||.||.|
|Generic Goal 4 (GG 4) Institutionalize a Quantitatively Managed Process, Generic Practices (GP 4.*)|
|GP 4.1 Establish Quantitative Objectives for the Process||GP 4.2 Stabilize Subprocess Performance||.||.|
|Generic Goal 5 (GG 5) Institutionalize an Optimizing Process, Generic Practices (GP 5.*)|
|GP 5.1 Ensure Continuous Process Improvement||GP 5.2 Correct Root Causes of Problems||.||.|
Verification in CMMi is a Software Quality Control (SQC) process that addresses the question:-
Are we building the product correctly?
This process looks at specifications, standards and guidelines to ensure that they have been correctly applied. For example if it is agreed (and this is usually documented in the Quality Plan) that standard IEEE xyz be used for the technical specification then an inspection is made to verify that the given standard has indeed been used for the technical specification.
Contrast this to Validation which ensures that the software product will satisfy the user requirements when placed in its proper environment.
For further information on Verification and the roles played by SQA and SQC with regard to this process area see Clarification of the definitions of SQA and SQC .
An Engineering Process Area at Maturity Level 3
The purpose of Verification (VER) is to ensure that selected work products meet their specified requirements.
The Verification process area involves the following: verification preparation, verification performance, and identification of corrective action.
Verification includes verification of the product and intermediate work products against all selected requirements, including customer, product, and product component requirements. Throughout the process areas, where we use the terms product and product component, their intended meanings also encompass services and their components.
Verification is inherently an incremental process because it occurs throughout the development of the product and work products, beginning with verification of the requirements, progressing through the verification of the evolving work products, and culminating in the verification of the completed product.
The specific practices of this process area build on each other in the following way:
The Verification and Validation process areas are similar, but they address different issues. Validation demonstrates that the product, as provided (or as it will be provided), will fulfill its intended use, whereas verification addresses whether the work product properly reflects the specified requirements. In other words, verification ensures that “you built it right”; whereas, validation ensures that “you built the right thing.”
Peer reviews are an important part of verification and are a proven mechanism for effective defect removal. An important corollary is to develop a better understanding of the work products and the processes that produced them so that defects can be prevented and process improvement opportunities can be identified.
Peer reviews involve a methodical examination of work products by the producers’ peers to identify defects and other changes that are needed.
Examples of peer review methods include the following:
Refer to the Validation process area for more information about confirming that a product or product component fulfills its intended use when placed in its intended environment.
Refer to the Requirements Development process area for more information about the generation and development of customer, product, and product component requirements.
Refer to the Requirements Management process area for more information about managing requirements.
Specific Practices by Goal
SG 1 Prepare for Verification
Preparation for verification is conducted.
Up-front preparation is necessary to ensure that verification provisions are embedded in product and product component requirements, designs, developmental plans, and schedules. Verification includes selection, inspection, testing, analysis, and demonstration of work products.
Methods of verification include, but are not limited to, inspections, peer reviews, audits, walkthroughs, analyses, simulations, testing, and demonstrations. Practices related to peer reviews as a specific verification method are included in specific goal 2.
Preparation also entails the definition of support tools, test equipment and software, simulations, prototypes, and facilities.
SP 1.1 Select Work Products for Verification
Select the work products to be verified and the verification methods that will be used for each.
Work products are selected based on their contribution to meeting project objectives and requirements, and to addressing project risks.
The work products to be verified may include those associated with maintenance, training, and support services. The work product requirements for verification are included with the verification methods. The verification methods address the approach to work product verification and the specific approaches that will be used to verify that specific work products meet their requirements.
For Software Engineering
Examples of verification methods include the following:
Verification for systems engineering typically includes prototyping, modeling, and simulation to verify adequacy of system design (and allocation).
For Hardware Engineering
Verification for hardware engineering typically requires a parametric approach that considers various environmental conditions (e.g., pressure, temperature, vibration, and humidity), various input ranges (e.g., input power could be rated at 20V to 32V for a planned nominal of 28V), variations induced from part to part tolerance issues, and many other variables. Hardware verification normally tests most variables separately except when problematic interactions are suspected.
Selection of the verification methods typically begins with involvement in the definition of product and product component requirements to ensure that these requirements are verifiable. Reverification should be addressed by the verification methods to ensure that rework performed on work products does not cause unintended defects. Suppliers should be involved in this selection to ensure that the project's methods are appropriate for the supplier's environment.
The verification methods should be developed concurrently and iteratively with the product and product component designs.
Typical Work Products
Subpractice 2: Identify the requirements to be satisfied by each selected work product.
Refer to the Maintain Bidirectional Traceability of Requirements specific practice in the Requirements Management process area to help identify the requirements for each work product.
Subpractice 3: Identify the verification methods that are available for use.
Subpractice 4: Define the verification methods to be used for each selected work product.
Subpractice 5: Submit for integration with the project plan the identification of work products to be verified, the requirements to be satisfied, and the methods to be used.
Refer to the Project Planning process area for information about coordinating with project planning.
SP 1.2 Establish the Verification Environment
Establish and maintain the environment needed to support verification.
An environment must be established to enable verification to take place. The verification environment can be acquired, developed, reused, modified, or a combination of these, depending on the needs of the project.
The type of environment required will depend on the work products selected for verification and the verification methods used. A peer review may require little more than a package of materials, reviewers, and a room. A product test may require simulators, emulators, scenario generators, data reduction tools, environmental controls, and interfaces with other systems.
Typical Work Products
Subpractice 2: Identify verification resources that are available for reuse and modification.
Subpractice 3: Identify verification equipment and tools.
Subpractice 4: Acquire verification support equipment and an environment, such as test equipment and software.
SP 1.3 Establish Verification Procedures and Criteria
Establish and maintain verification procedures and criteria for the selected work products.
The verification procedures and criteria should be developed concurrently and iteratively with the product and product component designs.
Verification criteria are defined to ensure that the work products meet their requirements.
Examples of sources for verification criteria include the following:
Subpractice 2: Develop and refine the verification criteria when necessary.
Subpractice 3: Identify the expected results, any tolerances allowed in observation, and other criteria for satisfying the requirements.
Subpractice 4: Identify any equipment and environmental components needed to support verification.
SG 2 Perform Peer Reviews
Peer reviews are performed on selected work products.
Peer reviews involve a methodical examination of work products by the producers’ peers to identify defects for removal and to recommend other changes that are needed.
The peer review is an important and effective verification method implemented via inspections, structured walkthroughs, or a number of other collegial review methods.
Peer reviews are primarily applied to work products developed by the projects, but they can also be applied to other work products such as documentation and training work products that are typically developed by support groups.
SP 2.1 Prepare for Peer Reviews
Prepare for peer reviews of selected work products.
Preparation activities for peer reviews typically include identifying the staff who will be invited to participate in the peer review of each work product; identifying the key reviewers who must participate in the peer review; preparing and updating any materials that will be used during the peer reviews, such as checklists and review criteria, and scheduling peer reviews.
Typical Work Products
Examples of types of peer reviews include the following:
Refer to the Measurement and Analysis process area for information about identifying and collecting data.
Subpractice 3: Establish and maintain entry and exit criteria for the peer review.
Subpractice 4: Establish and maintain criteria for requiring another peer review.
Subpractice 5: Establish and maintain checklists to ensure that the work products are reviewed consistently.
Examples of items addressed by the checklists include the following:
Subpractice 6: Develop a detailed peer review schedule, including the dates for peer review training and for when materials for peer reviews will be available.
Subpractice 7: Ensure that the work product satisfies the peer review entry criteria prior to distribution.
Subpractice 8: Distribute the work product to be reviewed and its related information to the participants early enough to enable participants to adequately prepare for the peer review.
Subpractice 9: Assign roles for the peer review as appropriate.
Examples of roles include the following:
SP 2.2 Conduct Peer Reviews
Conduct peer reviews on selected work products and identify issues resulting from the peer review.
One of the purposes of conducting a peer review is to find and remove defects early. Peer reviews are performed incrementally as work products are being developed. These reviews are structured and are not management reviews.
Peer reviews may be performed on key work products of specification, design, test, and implementation activities and specific planning work products.
The focus of the peer review should be on the work product in review, not on the person who produced it.
When issues arise during the peer review, they should be communicated to the primary developer of the work product for correction.
Refer to the Project Monitoring and Control process area for information about tracking issues that arise during a peer review.
Peer reviews should address the following guidelines: there must be sufficient preparation, the conduct must be managed and controlled, consistent and sufficient data must be recorded (an example is conducting a formal inspection), and action items must be recorded.
Typical Work Products
Subpractice 2: Identify and document defects and other issues in the work product.
Subpractice 3: Record the results of the peer review, including the action items.
Subpractice 4: Collect peer review data.
Refer to the Measurement and Analysis process area for more information about data collection.
Subpractice 5: Identify action items and communicate the issues to relevant stakeholders.
Subpractice 6: Conduct an additional peer review if the defined criteria indicate the need.
Subpractice 7: Ensure that the exit criteria for the peer review are satisfied.
SP 2.3 Analyze Peer Review Data
Analyze data about preparation, conduct, and results of the peer reviews.
Refer to the Measurement and Analysis process area for more information about obtaining and analyzing data.
Typical Work Products
Typical data are product name, product size, composition of the peer review team, type of peer review, preparation time per reviewer, length of the review meeting, number of defects found, type and origin of defect, and so on. Additional information on the work product being peer reviewed may be collected, such as size, development stage, operating modes examined, and requirements being evaluated.
Subpractice 2: Store the data for future reference and analysis.
Subpractice 3: Protect the data to ensure that peer review data are not used inappropriately.
Examples of inappropriate use of peer review data include using data to evaluate the performance of people and using data for attribution.
Subpractice 4: Analyze the peer review data.
Examples of peer review data that can be analyzed include the following:
Selected work products are verified against their specified requirements.
The verification methods, procedures, and criteria are used to verify the selected work products and any associated maintenance, training, and support services using the appropriate verification environment. Verification activities should be performed throughout the product lifecycle. Practices related to peer reviews as a specific verification method are included in specific goal 2.
SP 3.1 Perform Verification
Perform verification on the selected work products.
Verifying products and work products incrementally promotes early detection of problems and can result in the early removal of defects. The results of verification save considerable cost of fault isolation and rework associated with troubleshooting problems.
Typical Work Products
Subpractice 2: Record the results of verification activities.
Subpractice 3: Identify action items resulting from verification of work products.
Subpractice 4: Document the “as-run” verification method and the deviations from the available methods and procedures discovered during its performance.
SP 3.2 Analyze Verification Results
Analyze the results of all verification activities.
Actual results must be compared to established verification criteria to determine acceptability.
The results of the analysis are recorded as evidence that verification was conducted.
For each work product, all available verification results are incrementally analyzed to ensure that the requirements have been met. Since a peer review is one of several verification methods, peer review data should be included in this analysis activity to ensure that the verification results are analyzed sufficiently. Analysis reports or “as-run” method documentation may also indicate that bad verification results are due to method problems, criteria problems, or a verification environment problem.
Typical Work Products
Subpractice 2: Based on the established verification criteria, identify products that have not met their requirements or identify problems with the methods, procedures, criteria, and verification environment
Subpractice 3: Analyze the verification data on defects.
Subpractice 4: Record all results of the analysis in a report.
Subpractice 5: Use verification results to compare actual measurements and performance to technical performance parameters.
Subpractice 6: Provide information on how defects can be resolved (including verification methods, criteria, and verification environment) and initiate corrective action.
Refer to the corrective action practices of Project Monitoring and Control process area for more information about implementing corrective action.
Generic Practices by Goal
GG 1 Achieve Specific Goals
The process supports and enables achievement of the specific goals of the process area by transforming identifiable input work products to produce identifiable output work products.
GP 1.1 Perform Specific Practices
Perform the specific practices of the verification process to develop work products and provide services to achieve the specific goals of the process area.
GG 2 Institutionalize a Managed Process
The process is institutionalized as a managed process.
GP 2.1 Establish an Organizational Policy
Establish and maintain an organizational policy for planning and performing the verification process.
This policy establishes organizational expectations for establishing and maintaining verification methods, procedures, criteria, and the verification environment, as well as for performing peer reviews and verifying selected work products.
GP 2.2 Plan the Process
Establish and maintain the plan for performing the verification process.
This plan for performing the verification process can be included in (or referenced by) the project plan, which is described in the Project Planning process area.
GP 2.3 Provide Resources
Provide adequate resources for performing the verification process, developing the work products, and providing the services of the process.
Special facilities may be required for verifying selected work products. When necessary, the facilities required for the activities in the Verification process area are developed or purchased.
Certain verification methods may require special tools, equipment, facilities, and training (e.g., peer reviews may require meeting rooms and trained moderators; and certain verification tests may require special test equipment and people skilled in the use of the equipment).
Examples of other resources provided include the following tools:
Assign responsibility and authority for performing the process, developing the work products, and providing the services of the verification process.
GP 2.5 Train People
Train the people performing or supporting the verification process as needed.
Examples of training topics include the following:
Place designated work products of the verification process under appropriate levels of control.
Examples of work products placed under control include the following:
Identify and involve the relevant stakeholders of the verification process as planned.
Select relevant stakeholders from customers, end users, developers, producers, testers, suppliers, marketers, maintainers, disposal personnel, and others who may be affected by, or may affect, the product as well as the process.
Examples of activities for stakeholder involvement include the following:
Monitor and control the verification process against the plan for performing the process and take appropriate corrective action.
Examples of measures and work products used in monitoring and controlling include the following:
Objectively evaluate adherence of the verification process against its process description, standards, and procedures, and address noncompliance.
Examples of activities reviewed include the following:
Examples of work products reviewed include the following:
Review the activities, status, and results of the verification process with higher level management and resolve issues.
GG 3 Institutionalize a Defined Process
The process is institutionalized as a defined process.
GP 3.1 Establish a Defined Process
Establish and maintain the description of a defined verification process.
GP 3.2 Collect Improvement Information
Collect work products, measures, measurement results, and improvement information derived from planning and performing the verification process to support the future use and improvement of the organization’s processes and process assets.
Examples of work products, measures, measurement results, and improvement information include the following:
The process is institutionalized as a quantitatively managed process.
GP 4.1 Establish Quantitative Objectives for the Process
Establish and maintain quantitative objectives for the verification process, which address quality and process performance, based on customer needs and business objectives.
GP 4.2 Stabilize Subprocess Performance
Stabilize the performance of one or more subprocesses to determine the ability of the verification process to achieve the established quantitative quality and process-performance objectives.
GG 5 Institutionalize an Optimizing Process.
The process is institutionalized as an optimizing process.
GP 5.1 Ensure Continuous Process Improvement
Ensure continuous improvement of the verification process in fulfilling the relevant business objectives of the organization.
GP 5.2 Correct Root Causes of Problems
Identify and correct the root causes of defects and other problems in the verification process.
Software-Quality-Assurance.org is an independent Web Site that presents information about CMMi and Software Quality Assurance.
No guarantee (or claim) is made regarding the accuracy of this information. Any questions or comments should be sent to:-