300 likes | 539 Views
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE. FIRST HAND EXPERIENCE WITH PROPER INSPECTIONS AND ITS REWARDS. EARLY SKEPTIC BELIEVER. AGENDA:. 1 Anatomy of Inspection. Inspection Team Inspection Phases Inspection Types Wrap-up 2 Lessons learned through the evolution
E N D
FIRST HAND EXPERIENCE WITH PROPER INSPECTIONS AND ITS REWARDS EARLY SKEPTIC BELIEVER
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
Inspection Team Anatomy Of Inspection… MANAGER MODERATOR INSPECTORS READER AUTHOR
Inspection Phases • Planning: Starting Phase The 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 Phase The 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.
REQUIREMENTS PROGRAM SPECIFICATIONS I0 HIGH-LEVEL DESIGN I1 LOW-LEVEL OR DETAILED DESIGN I2 CODE IMPLEMENTATION INSPECTION TYPES 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. Example Goal – Monitor and Control Question – 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???