Software Inspections
Defect Removal Efficiency
The number of defects found prior to
releasing a product
divided by
The number of defects found prior to
release plus the number reported by
customers during the first n months of
actual use
times 100%
Objectives of an Inspection
 Find problems at the earliest possible
point in the software development
process
 Ensure that agreement is reached on
rework that may need to be done
 Verify that any rework done meets
predefined criteria
Other Benefits of Inspections
 Provide data on product quality and
process effectiveness
 Build technical knowledge among team
members
 Increase the effectiveness of software
validation testing
 Raise the standard of excellence for
software engineers
Participants of an Inspection
 Moderator – Coordinates the inspection
and leads the discussion
 Producer – Responsible for the work
being inspected
 Reader – Paraphrases the work
inspected
 Inspector – Inspects the product
 Recorder – Records problems discussed
 Manager – Supervises the producer
Responsibilities of the
Moderator
 Understand the information being
inspected
 Lead the team in an effective discussion
 Mediate disputes
 Recognize key issues and keep the
team focused on them
 Maintain an unbiased view of the
information being presented
 Assign responsibilities appropriately
Responsibilities of the
Producer
 Insure that the work product is ready for
inspection
 Make required information available on time
 Support the moderator in making meeting
arrangements, providing copies of materials,
and establishing schedules for any required
corrective action
 Promptly resolve all problems identified
 Remain objective and avoid becoming
defensive
Responsibilities of the Reader
 Be thoroughly familiar with the work
product being inspected
 Identify logical chunks of information and
be able to paraphrase the information in
each chunk to allow the moderator to
keep the team focused on one chunk at
a time
 Support the moderator
Responsibilities of the
Inspectors
 Be thoroughly familiar with the work product
being inspected as well as the appropriate
documents and standards for the product
 Identify discrepancies between the work
product and applicable documents and
standards
 Focus on identifying problems, not solving them
 Remain objective
 Criticize the product not the producer
 Support the moderator
Responsibilities of the
Recorder
 Be thoroughly familiar with the work
product being inspected
 Record all issues raised by the team and
ensure that they are recorded correctly
 Record additional information as
requested by the moderator
 Support the moderator
Responsibilities of the
Manager
 Help decide what to inspect
 Include inspections in project schedules
 Allocate resources for inspections
 Support inspection training
 Participate in the selection of moderators
 Support the moderator in completing any
required rework
Attributes of a Good Process
(according to SEI)
 The process is written
 The process is flexible and can be changed
 Everyone agrees to follow the process
 The process includes metrics, which are used
to measure process efficiency
 Metrics are the basis for changing the process
 The process is actively managed
Institutionalizing Inspections
Management Issues
 Management must:
 Understand and support the objectives of
the inspection process
 Be willing to commit the resources
necessary to train inspectors
 Be willing to include inspections in project
schedules
Institutionalizing Inspections
(Development Process Issues)
 There must be:
 A written software development process or
one must be developed
 Management support for preparing a
software development process if it doesn’t
already exist
 A way to modify the process, if necessary,
to include inspections at appropriate points
 Active management of the process
Institutionalizing Inspections
(Development Process Issues)
 There must be:
 Support for inspections within the software
engineering organization
 An identification of potential obstacles to
the inspection process
 Resources available to train people in the
inspection process and a commitment to
train new employees as they are hired
Institutionalizing Inspections
(Inspection Metrics)
 There must be:
 A definition of what product and process
metrics will be collected form inspections
and how this data will be used
 A continuous improvement process in
place that identifies improvements to the
inspection process based on collected data
Requirements Inspections
“If you can only afford to do one
inspection on a project, you will get the
biggest return on investment from a
requirements inspection. A
requirements inspection should be the
one inspection that is never skipped.”
- Steven R. Rakitin
Why are Requirements
Inspections Important?
 Requirements are the most common
source of problems in the development
process
 Requirements are written in English by
people who typically have little or no
training in writing software requirements
 The English language is imprecise,
ambiguous, and nondeterministic
Attributes of Good
Requirements Specifications
 Unambiguous
 Complete
 Verifiable
 Consistent
 Modifiable
 Traceable
 Usable
Requirements Inspection
Objectives
 Make sure each requirement in the
Software Requirements Specification
(SRS) is consistent and traceable to the
document that preceded the SRS
 Make sure each requirement in the SRS
is clear, concise, internally consistent,
unambiguous, and testable
Requirements Inspection
Prerequisites
 All inspection team members must receive
appropriate training
 The document(s) that preceded the SRS must
have been reviewed and approved
 The SRS must have been internally reviewed
 A requirements inspection checklist must be
available
 Guidelines for a good SRS must be available
A Sample Inspection Process
 Planning
 Overview Meeting (optional)
 Preparation
 Inspection Meeting
 Follow-up
Objectives of Planning
 Determine which work products need to
be inspected
 Determine whether a work product is
ready for inspection
 Identify the inspection team
 Determine whether an overview meeting
is necessary
 Schedule overview and inspection
meetings
Objective of Overview Meeting
 Educate the inspection team on the work
product being inspected and discuss the
review material
Objective of Preparation
 To be prepared for the inspection
meeting by critically reviewing the review
materials and the work product
Objective of the Inspection
Meeting
 Identify errors and defects in the work
product being inspected
An error is a problem in which the software or
documentation does not meet defined requirements and
is found at the point of origin
A defect is a problem in which the software or its
documentation does not meet defined requirements and
is found beyond the point of origin.
Objective of the Follow-Up
 Assure that appropriate action has been
taken to correct problems found during
an inspection
SoftwareInspections.pptbjhbbhjhbjjhjjbbvv
SoftwareInspections.pptbjhbbhjhbjjhjjbbvv

SoftwareInspections.pptbjhbbhjhbjjhjjbbvv

  • 1.
  • 2.
    Defect Removal Efficiency Thenumber of defects found prior to releasing a product divided by The number of defects found prior to release plus the number reported by customers during the first n months of actual use times 100%
  • 3.
    Objectives of anInspection  Find problems at the earliest possible point in the software development process  Ensure that agreement is reached on rework that may need to be done  Verify that any rework done meets predefined criteria
  • 4.
    Other Benefits ofInspections  Provide data on product quality and process effectiveness  Build technical knowledge among team members  Increase the effectiveness of software validation testing  Raise the standard of excellence for software engineers
  • 5.
    Participants of anInspection  Moderator – Coordinates the inspection and leads the discussion  Producer – Responsible for the work being inspected  Reader – Paraphrases the work inspected  Inspector – Inspects the product  Recorder – Records problems discussed  Manager – Supervises the producer
  • 6.
    Responsibilities of the Moderator Understand the information being inspected  Lead the team in an effective discussion  Mediate disputes  Recognize key issues and keep the team focused on them  Maintain an unbiased view of the information being presented  Assign responsibilities appropriately
  • 7.
    Responsibilities of the Producer Insure that the work product is ready for inspection  Make required information available on time  Support the moderator in making meeting arrangements, providing copies of materials, and establishing schedules for any required corrective action  Promptly resolve all problems identified  Remain objective and avoid becoming defensive
  • 8.
    Responsibilities of theReader  Be thoroughly familiar with the work product being inspected  Identify logical chunks of information and be able to paraphrase the information in each chunk to allow the moderator to keep the team focused on one chunk at a time  Support the moderator
  • 9.
    Responsibilities of the Inspectors Be thoroughly familiar with the work product being inspected as well as the appropriate documents and standards for the product  Identify discrepancies between the work product and applicable documents and standards  Focus on identifying problems, not solving them  Remain objective  Criticize the product not the producer  Support the moderator
  • 10.
    Responsibilities of the Recorder Be thoroughly familiar with the work product being inspected  Record all issues raised by the team and ensure that they are recorded correctly  Record additional information as requested by the moderator  Support the moderator
  • 11.
    Responsibilities of the Manager Help decide what to inspect  Include inspections in project schedules  Allocate resources for inspections  Support inspection training  Participate in the selection of moderators  Support the moderator in completing any required rework
  • 12.
    Attributes of aGood Process (according to SEI)  The process is written  The process is flexible and can be changed  Everyone agrees to follow the process  The process includes metrics, which are used to measure process efficiency  Metrics are the basis for changing the process  The process is actively managed
  • 13.
    Institutionalizing Inspections Management Issues Management must:  Understand and support the objectives of the inspection process  Be willing to commit the resources necessary to train inspectors  Be willing to include inspections in project schedules
  • 14.
    Institutionalizing Inspections (Development ProcessIssues)  There must be:  A written software development process or one must be developed  Management support for preparing a software development process if it doesn’t already exist  A way to modify the process, if necessary, to include inspections at appropriate points  Active management of the process
  • 15.
    Institutionalizing Inspections (Development ProcessIssues)  There must be:  Support for inspections within the software engineering organization  An identification of potential obstacles to the inspection process  Resources available to train people in the inspection process and a commitment to train new employees as they are hired
  • 16.
    Institutionalizing Inspections (Inspection Metrics) There must be:  A definition of what product and process metrics will be collected form inspections and how this data will be used  A continuous improvement process in place that identifies improvements to the inspection process based on collected data
  • 17.
    Requirements Inspections “If youcan only afford to do one inspection on a project, you will get the biggest return on investment from a requirements inspection. A requirements inspection should be the one inspection that is never skipped.” - Steven R. Rakitin
  • 18.
    Why are Requirements InspectionsImportant?  Requirements are the most common source of problems in the development process  Requirements are written in English by people who typically have little or no training in writing software requirements  The English language is imprecise, ambiguous, and nondeterministic
  • 19.
    Attributes of Good RequirementsSpecifications  Unambiguous  Complete  Verifiable  Consistent  Modifiable  Traceable  Usable
  • 20.
    Requirements Inspection Objectives  Makesure each requirement in the Software Requirements Specification (SRS) is consistent and traceable to the document that preceded the SRS  Make sure each requirement in the SRS is clear, concise, internally consistent, unambiguous, and testable
  • 21.
    Requirements Inspection Prerequisites  Allinspection team members must receive appropriate training  The document(s) that preceded the SRS must have been reviewed and approved  The SRS must have been internally reviewed  A requirements inspection checklist must be available  Guidelines for a good SRS must be available
  • 22.
    A Sample InspectionProcess  Planning  Overview Meeting (optional)  Preparation  Inspection Meeting  Follow-up
  • 23.
    Objectives of Planning Determine which work products need to be inspected  Determine whether a work product is ready for inspection  Identify the inspection team  Determine whether an overview meeting is necessary  Schedule overview and inspection meetings
  • 24.
    Objective of OverviewMeeting  Educate the inspection team on the work product being inspected and discuss the review material
  • 25.
    Objective of Preparation To be prepared for the inspection meeting by critically reviewing the review materials and the work product
  • 26.
    Objective of theInspection Meeting  Identify errors and defects in the work product being inspected An error is a problem in which the software or documentation does not meet defined requirements and is found at the point of origin A defect is a problem in which the software or its documentation does not meet defined requirements and is found beyond the point of origin.
  • 27.
    Objective of theFollow-Up  Assure that appropriate action has been taken to correct problems found during an inspection