CMMi - Verification (VER)



Verification (VER)
Process Areas
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) .
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 .



Verification (VER)



An Engineering Process Area at Maturity Level 3

Purpose


The purpose of Verification (VER) is to ensure that selected work products meet their specified requirements.

Introductory Notes


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 Select Work Products for Verification specific practice enables the identification of the work products to be verified, the methods to be used to perform the verification, and the requirements to be satisfied by each selected work product.
  • The Establish the Verification Environment specific practice enables the determination of the environment that will be used to carry out the verification.
  • The Establish Verification Procedures and Criteria specific practice then enables the development of verification procedures and criteria that are aligned with the selected work products, requirements, methods, and characteristics of the verification environment.
  • The Perform Verification specific practice conducts the verification according to the available methods, procedures, and criteria.
Verification of work products substantially increases the likelihood that the product will meet the customer, product, and product component requirements.

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:
  • Inspections
  • Structured walkthroughs
Related Process Areas.

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:
  • Path coverage testing
  • Load, stress, and performance testing
  • Decision-table-based testing
  • Functional decomposition-based testing
  • Test-case reuse
  • Acceptance tests
For Systems Engineering

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.

IPPD Addition

The verification methods should be developed concurrently and iteratively with the product and product component designs.

Typical Work Products
  • Lists of work products selected for verification
  • Verification methods for each selected work product
Subpractice 1: Identify work products for verification.

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
  • Verification environment
Subpractice 1: Identify verification environment requirements.

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.

IPPD Addition

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:
  • Product and product component requirements
  • Standards
  • Organizational policies
  • Test type
  • Test parameters
  • Parameters for tradeoff between quality and cost of testing
  • Type of work products
  • Suppliers
  • Proposals and agreements
Typical Work Products
  • Verification procedures
  • Verification criteria
Subpractice 1: Generate the set of comprehensive, integrated verification procedures for work products and any commercial off-the-shelf products, as necessary.

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
  • Peer review schedule
  • Peer review checklist
  • Entry and exit criteria for work products
  • Criteria for requiring another peer review
  • Peer review training material
  • Selected work products to be reviewed
Subpractice 1: Determine what type of peer review will be conducted.

Examples of types of peer reviews include the following:
  • Inspections
  • Structured walkthroughs
  • Active reviews
Subpractice 2: Define requirements for collecting data during the peer review.

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:
  • Rules of construction
  • Design guidelines
  • Completeness
  • Correctness
  • Maintainability
  • Common defect types
The checklists are modified as necessary to address the specific type of work product and peer review. The peers of the checklist developers and potential users review the checklists.

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:
  • Leader
  • Reader
  • Recorder
  • Author
Subpractice 10: Prepare for the peer review by reviewing the work product prior to conducting the peer review.

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
  • Peer review results
  • Peer review issues
  • Peer review data
Subpractice 1: Perform the assigned roles in the peer review.

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
  • Peer review data
  • Peer review action items
Subpractice 1: Record data related to the preparation, conduct, and results of the peer reviews.

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:
  • Phase defect was injected
  • Preparation time or rate versus expected time or rate
  • Number of defects versus number expected
  • Types of defects detected
  • Causes of defects
  • Defect resolution impact
SG 3 Verify Selected Work Products

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
  • Verification results
  • Verification reports
  • Demonstrations
  • As-run procedures log
Subpractice 1: Perform verification of selected work products against their requirements.

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
  • Analysis report (e.g., statistics on performances, causal analysis of nonconformances, comparison of the behavior between the real product and models, and trends)
  • Trouble reports
  • Change requests for the verification methods, criteria, and environment
Subpractice 1: Compare actual results to expected results.

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.

Elaboration:

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.

Elaboration:

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.

Elaboration:

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:
  • Test management tools
  • Test-case generators
  • Test-coverage analyzers
  • Simulators
GP 2.4 Assign Responsibility

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.

Elaboration:

Examples of training topics include the following:
    tion or service domain
  • Verification principles, standards, and methods (e.g., analysis, demonstration, inspection, and test)
  • Verification tools and facilities
  • Peer review preparation and procedures
  • Meeting facilitation
GP 2.6 Manage Configurations

Place designated work products of the verification process under appropriate levels of control.

Elaboration:

Examples of work products placed under control include the following:
  • Verification procedures and criteria
  • Peer review training material
  • Peer review data
  • Verification reports
GP 2.7 Identify and Involve Relevant Stakeholders

Identify and involve the relevant stakeholders of the verification process as planned.

Elaboration:

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:
  • Selecting work products and methods for verification
  • Establishing verification procedures and criteria
  • Conducting peer reviews
  • Assessing verification results and identifying corrective action
GP 2.8 Monitor and Control the Process

Monitor and control the verification process against the plan for performing the process and take appropriate corrective action.

Elaboration:

Examples of measures and work products used in monitoring and controlling include the following:
  • Verification profile (e.g., the number of verifications planned and performed, and the defects found; or perhaps categorized by verification method or type)
  • Number of defects detected by defect category
  • Verification problem report trends (e.g., number written and number closed)
  • Verification problem report status (i.e., how long each problem report has been open)
  • Schedule for a specific verification activity
GP 2.9 Objectively Evaluate Adherence

Objectively evaluate adherence of the verification process against its process description, standards, and procedures, and address noncompliance.

Elaboration:

Examples of activities reviewed include the following:
  • Selecting work products for verification
  • Establishing and maintaining verification procedures and criteria
  • Performing peer reviews
  • Verifying selected work products

Examples of work products reviewed include the following:
  • Verification procedures and criteria
  • Peer review checklists
  • Verification reports
GP 2.10 Review Status with Higher Level Management

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.

Elaboration:

Examples of work products, measures, measurement results, and improvement information include the following:
  • Peer review records that include conduct time and average preparation time
  • Number of product defects found through verification per development phase
  • Verification and analysis report
GG 4 Institutionalize a Quantitatively Managed Process

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:-