Date post: | 28-Dec-2015 |
Category: |
Documents |
Upload: | leonard-chandler |
View: | 218 times |
Download: | 0 times |
Software Inspections
Defect Removal Efficiency
The number of defects found prior to releasing a product
divided byThe 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 InspectionsManagement 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 InspectionObjectives
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 InspectionPrerequisites
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