bannera

Book A.
Introduction

Book B.
7150 Requirements Guidance

Book C.
Topics

Tools,
References, & Terms

SPAN
(NASA Only)

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
Set Data
hiddentrue
namereftab
4

...

Div
idtabs-1

1. Purpose and Roles

1.1 Introduction

Peer reviews and inspections use a straight-forward, organized approach for conducting an evaluation of a work product. The approach is designed to detect potential defects in a product and to methodically evaluate each defect to identify solutions and track incorporation of these solutions into the product. A product could be almost anything that is being produced, including documentation, designs, manufactured goods, or, in the case of software, the code. The value of this approach is that it is simple to understand and, when adhered to, can result in a very efficient method of identifying defects early in a product's life cycle.

1.2 Purpose

This topic provides guidance for projects implementing peer reviews and formal inspections, in accordance with the existing best practices, standards, and guidance at NASA. This topic also provides a procedural overview that cross-references to other resources for more information.

1.3 Roles

Role

Responsibility

Author

The author:

  • Prepares the work product to address applicable standards and to meet the inspection entrance criteria.
  • Works with the moderator to plan the inspection, providing input on key decisions, such as the most important parts of the document on which to focus, needed expertise on the inspection team, etc.
  • Responds to questions about the work product at the inspection meeting.
  • Performs rework, correcting defects identified by the inspection team.
  • Verifies with the moderator that all corrections are made.

Moderator

The moderator is the single person responsible for overseeing the inspection process and obtaining a good inspection. The moderator does this by:

  • Determining if the work product is ready to inspect.
  • Organizing the participants and materials, including determining if training and additional informational briefing are needed.
  • Assigning roles and actions.
  • Conducting the inspection meeting.
  • Verifying that rework is accurately completed.
  • Ensuring that all open issues are dispositioned.
  • Collecting and recording inspection metrics.
  • Fulfilling normal inspector responsibilities.

Inspectors

Inspectors:

  • Allocate time for performing inspection activities.
  • Attend the overview (if held) and inspection meetings.
  • Review the materials thoroughly.
  • Perform any assigned role (reader or recorder).
  • Support the moderator and author to complete action items outside the inspection itself.
  • Maintain a professional attitude that focuses on constructively improving the work product under inspection.
  • Focus on finding defects.
  • Are open to learning from the other inspectors and possibly expanding their expertise.

Managers

Managers are essential to the success of an inspection. They:

  • Demonstrate to the inspection team members the importance of the activity and its contributions to the quality of the software product.
  • Establish schedules that allow adequate time for all stages of the inspection process.
  • Ensure that all team members are trained in the inspection process. Managers, however, should not be chosen as part of the inspection team unless they are the authors of the inspected work products or if their expertise is essential to the inspection. If managers participate in an inspection, e.g., on very small teams, both managers and the other inspectors should be aware that defects found during inspections are never used to evaluate authors.

Software Assurance (SA)
Representatives

SA Representatives:

  • Verify compliance of a team's inspection practice with the process requirements of the software inspection standard by working with the project in defining the inspection procedures and records.
  • Verify the collection of all required data.
  • Selectively review inspection packages for required inspection materials.
  • Participate in inspection meetings, fulfilling any applicable inspection roles, except for those of the author.
  • Provide an independent evaluation of the effectiveness of the inspection process and the product quality.
  • Assure that reports of inspection process evaluation and analysis are defined, scheduled, provided to appropriate stakeholders, and considered as part of inspection process improvement.

...

idtabs-2

2. Process Overview

Figure 1, Inspection Process Activity Diagram, illustrates an activity diagram for the inspection process. Activities to be performed in each phase are discussed in detail in the following sections.

Image Removed
Note: Clear diamonds represent optional path; see descriptions below.

Figure 1 - Inspection Process Activity Diagram

2.1 Planning

The purpose of this phase is to:

  • Organize the inspection, in terms of making key decisions about:
    • The participants to be involved (how many and which areas of expertise should be represented).
    • Exactly which materials are to be inspected (making sure that critical areas of the system are covered, that the materials make sense as a coherent piece, and that the amount of material is appropriate for the time available).
    • Facilities (whether meeting rooms are available for the team on the appropriate dates).
  • Ensure that the work product is ready to inspect and that the team's time will be well spent on understanding and assessing the quality of the document.

Activities to be completed during this phase are performed by the moderator and include:

...

Determining whether an overview meeting is needed.

Note

If an overview meeting is needed, make sure to schedule it at this point.

...

Calculating the time required for inspection, based on the amount of material that needs to be reviewed, and assuming each inspection meeting will last no more than 2 hours in duration.

...

2.1.1 Defining the Review Perspectives, Quality Focus, and Checklists

It is important to remember that, while the inspection process itself should not change, the details of how it is applied in different contexts should change. The greatest benefit can be received from an inspection by using the process appropriately and by understanding how to focus it on the specific areas of concern for the various work products being inspected.

To ensure the right quality focus during the planning phase, the moderator:

  • Identifies the key stakeholders in the work product, i.e., those persons who use, helped to produce, or interface with the technical aspects of the system described in that work product.
  • Selects team members so that the expertise of each stakeholder is present on the team.
  • Reflects on the high-level quality goals of the team – which characteristics are of highest priority, e.g., reliability, robustness, performance, maintainability, cost.
  • Ensures that items on the checklist(s) for use by the team remind the inspectors to focus on indicators of those quality goals.

...

2.2 Overview

The purpose of this phase is to provide inspectors with the background information needed to properly inspect the technical work product, which may include:

  • An overview of the work product itself.
  • Special considerations of which the review team should be aware.
  • How the work product fits into the overall system/mission being developed.
  • New or unique development techniques that have been or will be used in its construction.

Activities to be completed during this phase include:

  1. Conduct of the overview meeting (moderator).
  2. Presentation of background information (author or other knowledgeable subject matter expert, as appropriate).
  3. Assignment of roles to inspectors, if not already done (moderator).
  4. Recording of the total time spent in the overview meeting to allow for later analysis of the effort and cost of the inspection (moderator).

2.3 Preparation

The purpose of this phase is to give inspectors time to:

  • Learn and understand the work product.
  • Identify potential defects.
  • Prepare to fulfill their assigned roles.
  • Prepare for the meeting by logging or otherwise marking potential defects and other issues that should be discussed by the inspection team.

Activities to be completed during this phase include:

(1) Each inspector should:

      (a) Review the assigned checklist to refresh memory of the issues that should be focused on during the review.
      (b) Examine the materials for understanding and possible defects.
      (c) Prepare for the assigned role (reader, recorder, moderator), if applicable.
      (d) Record the total time spent in preparation and communicate that to the moderator.
      (e) Provide an indication to the moderator that individual preparation work has been completed and that the individual is ready for the team meeting.

(2) The moderator reviews the degree of preparation work done by inspectors and:

      (a) Organizes the inspection meeting by making note of where the problem areas seem to be (and where there is sure to be some discussion during the meeting).
      (b) Makes the "GO" or "NO GO" decision on the inspection meeting, i.e., determines whether the team can proceed and is likely to have an effective discussion or whether the meeting and discussion should be postponed until additional preparation work can be done.
      (c) Records the total time spent on preparation by the team to allow for later analysis of the effort and cost of the inspection.

2.4 Inspection Meeting

The purpose of this phase is to:

  • Find, classify, and record defects.
  • Record and assign open issues.

Activities to be completed during this phase include:

...

2.5 Third Hour

Note

If a third hour activity is needed, make sure to schedule it at this point.

...

  • Individual work done by inspectors to resolve discrepancies and open issues.
  • Meeting held at author's request to discuss solutions or improvements.

Activities to be completed during this phase include:

  • Resolution of open issues:
    • Complete assigned action item(s) on a timely basis.
    • Provide information to author.
    • Provide time spent in third hour to moderator.
  • Discussion of solutions or improvements:
    • Attend third-hour meeting.
    • Provide time spent in third hour to moderator.
  • Informing moderator of time spent.

2.6 Rework

The purpose of this phase is to remove known defects from the work product.

  • Major defects are required to be removed.
  • Minor and trivial defects are removed at author's discretion, as cost and time allow.

Activities to be completed during this phase include:

  1. Resolution of all major defects found during the inspection meeting by the author.
  2. Resolution of minor and trivial defects at author's discretion, as time and cost allow.
  3. Recording of time spent for rework.

2.7 Followup

The purpose of this phase is to:

  • Assure that all major defects detected during the inspection have been corrected.
  • Check for the possible introduction of new defects during the correction process.
  • Assure that all open issues are resolved in one of the following ways:
    • Decided to be a non-issue, with no action required.
    • Communicated to the author as a defect.
    • Recorded as a problem report or change request.

Activities to be completed during this phase include:

  1. Verifying that all major defects have been corrected and checking for introduction of possible new defects during correction process (moderator and author).
  2. Ensuring that all open issues are resolved and that problem reports and change request are filed (moderator).
  3. Verifying that all exit criteria for inspection are met;  if issues remain open or defects are not corrected, work product is returned to rework (moderator).
  4. Recording of time spent for rework and followup (moderator).
  5. Communication to the inspection team and cognizant manager the outcome of the inspection (moderator).
Div
idtabs-3

3. Barriers and Enablers

There is a need for local champions and management support.

Development teams who implement inspections need trained moderators and support materials. Providing explicit training helps improve effectiveness.

Inspections work best if management is not present at inspections, removing the threat that defect information could be used to evaluate workers.

The primary inhibitors to inspection use seem to be in the realm of developer motivation: inspections can be perceived as being labor intensive in nature, although the return on investment, when done correctly, rewards the effort spent.

Div
idtabs-4

4. Resources

4.1 Reference Documentation Table

Table 4.1 below provides guidance on what products a project will need to inspect/peer review to meet NPR 7150.2. The software products to be inspected/peer reviewed will depend on the classification of the project.

Table 4.1 - Reference Documentation Table

Image Removed

4.2 Resources

refstable-topic

4.3 Tools

toolstable-topic

...

idtabs-5

5. Lessons Learned

...

A documented lesson from the NASA Lessons Learned database notes the following: 

...