CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
description
Transcript of CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
CHAPTER 9
INSPECTIONS AS AN UP-FRONT QUALITY
TECHNIQUE
EARLY SKEPTIC
BELIEVER
FIRST HAND EXPERIENCE WITH PROPER INSPECTIONS
AND ITS REWARDS
AGENDA:
1 Anatomy of Inspection. Inspection Team Inspection Phases Inspection Types Wrap-up
2 Lessons learned through the evolution of the Inspection process.
3 Inspection Metrics 4 The National perspective 5 Examples of Payoff
Anatomy Of Inspection
Primary Purpose “..to remove defects as early as possible in the
development process.”
Secondary Purposes Trace requirements to design. Provide a technically correct base for next phase of
development. Increase programming quality Increase product quality Decrease life cycle cost Increase effectiveness of test activity Provide first indication of maintainability Encourage entry/exit criteria software management
Anatomy Of Inspection…
Inspection Team
MODERATOR
INSPECTORSREADER
AUTHOR
MANAGER
Inspection Phases
Planning: Starting PhaseThe moderator will Establish conduct & progress for entire process. Identify team members and roles Assure that materials to be inspected are
available and conform to standards. Determine entry criteria is met. Determine need for overview. Schedule meeting time and place. Provide team with materials, resources and
meeting notice.
Inspection Phases…
Overview: Discretionary PhaseThe Author: Gives a brief description of the product, its
functionality and interfaces.
The Attendees: Get familiar with product before the inspection
The Moderator: Conducts the overview meeting. Provides the inspection package to the team. Gives inspection meeting notice.
Inspection Phases…
Preparation: Begins at least 5 days before inspection meeting. Lead time to allow inspectors to examine the
material for all possible defects. Time spent – as much as duration of inspection
meeting – maximum of 2 hours. Inspectors record the defects and the time spent
in preparation. Reader prepares to present the material to the
team. Reader records any difficulties in understanding
the material.
Inspection Phases…
Inspection Meeting: The main event Team meets to inspect the product. Moderator ensures proper conduct of the meeting. Reader presents the product to the team in a
systematic manner. Team identifies, discusses, validates and records
the defects detected. Moderator decides if re-inspection is required. Moderator logs records of preparation and
inspection times, defects found and re-inspection requirement.
Moderator sends the findings to author and SQA.
Inspection Phases…
Rework: Author examines the defects and makes the
necessary fixes. Author verifies the fixes and informs moderator. Moderator determines if re-inspection required.
Follow-Up: Moderator assures that all defects logged have
been fixed. Moderator logs the verification and sends the
summary to SQE. Moderator declares inspection complete.
INSPECTION TYPES
REQUIREMENTS
PROGRAM SPECIFICATIONS
LOW-LEVEL OR DETAILED DESIGN
HIGH-LEVEL DESIGN
CODE IMPLEMENTATION
I0
I2
I1
SOFTWARE DEVELOPMENT PHASES
Inspection Types…
High-Level Design Inspection I0: Examine the HLD to verify that the
specification has been correctly mapped to functional design.
Identify each requirement to process and task.
One I0 per mode.
Perform all six inspection phases.
Inspection Types…
Low-Level Design Inspection I1: Held for any module that is new, has
structural or interface change, or 40% or more change in SLOC.
Verifies the detailed design before translation to code.
Perform all six inspection phases. Coding begins only after the successful
completion of this inspection.
Inspection Types…
Code Inspection I2: Held for all/selected new or changed
code. Code must compile cleanly. Perform all six inspection phases. Result of a successful I2 – Compiled code
that conforms to requirements specifications, high-level and low-level design.
Testing begins only after the successful completion of this inspection.
Inspection Types…Some more
Requirements Inspections Specification Inspections Document Inspections Salient Points:
Inspection is effective only when the product is presented in a standardized, structured form.
The results of these inspections, logged in a standardized form, can help the management in decision making.
Anatomy of Inspection – Wrap-up
Inspection Defect Types Design Defects Logic Defects Syntax Defects Standards Defects Data Defects Interface Defects Return code/Message Defects Prologue/Comment Defects Requirements change Defects Performance Improvement Defects
Inspections - Success Factors
Inspection Prerequisites Technically competent and trained inspectors. Trained moderator. Proper planning and distribution of materials. Good professional attitude. Full preparation prior to inspection meeting. Completed design or cleanly compiled code. Updated resource requirements. Training for managers to understand and gain
from inspections.
AGENDA:
1 Anatomy of Inspection. Inspection Team Inspection Phases Inspection Types Wrap-up
2 Lessons learned through the evolution of the Inspection process. 3 Inspection Metrics 4 The National perspective 5 Examples of Payoff
Lessons Learned
Keep the psychological factor in mind. – Help, don’t embarass!!!
Make inspections impersonal Keep team size to small groups of
peers Make data collection consistent Utilize only trained personnel.
Inspection Metrics
Established by AT&T Bell Labs. Defines nine metrics. Help plan, monitor, control and
improve code inspection process. Helped to achieve >70% defect
removal. Used the Goal-Question-Metric
paradigm to derive the nine metrics.
Inspection Metrics…
GQM paradigm Identify measurement goal. Pose specific question – in measurable terms –
whose answer fulfills the goal. Enumerate the metrics.
ExampleGoal – Monitor and ControlQuestion – What is the quality of the
inspected software?Metric – Average faults detected per KLOC
- Average inspection rate - Average Preparation rate
Inspection Metrics…
Total KLOC
Average lines of code inspected =
1000 x KLOC / #Inspections
Average Preparation rate =
1000 x KLOC / AvgInspectPrepTime
Average Inspection rate =
1000 x KLOC / TotInspectMeetingTime
Average Effort per KLOC =
TotInspectionEffort / KLOC
Inspection Metrics… (cont’d)
Average Effort per fault detected = TotalInspectEffort / #Faults_Detected
Average Faults detected per KLOC = #Faults_detected / KLOC
Percentage of re-inspections = 100 * #Re-Inspections / #Inspections
Defect removal efficiency = 100 x #Faults_Detected / #CodingFaults
AGENDA:
1 Anatomy of Inspection. Inspection Team Inspection Phases Inspection Types Wrap-up
2 Lessons learned through the evolution of the Inspection process. 3 Inspection Metrics 4 The National perspective 5 Examples of Payoff
National Software Quality Experiment
Reasons for the experiment Quality has become a national goal. Software Engineering is maturing. Aware consumers demand higher quality. Aggressive quality goals at corporate level.
Experiment - 1992 27 inspections labs 327 trained professionals 90,925 SLOC inspected using packaged
procedures. 22, 828 minutes of preparation effort 5,464 minutes of inspection time 1,849 defects detected
Examples of Payoff
AT&T Bell Laboratories Adopted Nine Metrics based on GQM paradigm Reduced cost of fault removal by 300% Defect Removal Efficiency of +70%
Bell Northern Research Inspections give 1 defect per person-hour
invested – 2-4 times faster than testing 1 person-hour of code inspection saves 33
person-hours of future maintenance effort.
Examples of Payoff…
Large Satellite Comm System The project was done in 1993. 330 KLOC on five target platforms with
many COTS products. 73 inspection meetings over 4 months #Defects recorded – 2,760 Cost Savings - $1 million
Cost to find and fix during test – Cost to find and fix via inspections prior to test
Examples of Payoff…
Raytheon Inspection = Defect Detection Process
DDP + Defect Prevention Process DPP Used DDP + DPP (1988-1994) Rework cost decrease: 45% to 5-10%. Increase software productivity 2.7x Reduced negative deviation from
budget and deadlines from 40% to near 0.
Reduced error density by factor of 3.
Final Words …
And
Questions???