Você está na página 1de 33

Module 2

Introduction to Software
Inspections

SQAM Course, Proficience, IISc 1


Why Inspections?
 Inspections can be applied to many
different things by many different groups
 Inspections are a “Best Known Method”
(BKM) for increasing quality
– Developed by Michael Fagan at IBM, paper
published 1976
– Estimates: Inspections of design and code
usually remove 50-90% of defects before
testing
– Very economical compared to testing
 Formal inspections are more productive
than informal reviews

SQAM Course, Proficience, IISc 2


Cost of Fixing a Defect

Req Design Coding Test Accept Prod


SQAM Course, Proficience, IISc 3
Inspection Experience
 Widely used at many companies
– HP, Microsoft, IBM, AT&T, Bell Labs, etc. all have an
established track record with inspections
– Aetna: Found 82% of errors in a program by
inspections, was able to decrease development
resources by 25%
– AT&T : Reported 90% decrease in defects after
introducing inspections
 Finding defects early can save money and time
– TRW : Changes in requirements stage cost 50-200
times less than changes during coding or
maintenance
– JPL : Estimates saved $25,000 per inspection by
finding/fixing defects early on

SQAM Course, Proficience, IISc 4


Formal Inspections
 By formalizing the process, inspections
become systematic and repeatable
– Each person in the inspection process must
understand their role
– Use of checklists focus concentration on
detection of defects that have been
problematic
 Metrics
– Feedback and data collection metrics are
quantifiable
– Feed into future inspections to improve them
 Designers and developers learn to improve
their work through inspection participation
SQAM Course, Proficience, IISc 5
More reasons to use
inspections
 Inspections are measurable
 Ability to track progress
 Reduces rework and debug time
 Cannot guarantee that a deadline will
be met but can give early warning of
impending problems
 Information sharing with other
developers, testers
SQAM Course, Proficience, IISc 6
Definition
 What is an inspection?
– A formal review of a work product by
peers. A standard process is followed
with the purpose of detecting defects
early in the development lifecycle.
 Examples of work products
– Code, Specs, Web Pages
– Presentations, Guides, Requirements,
– Specifications, Documentation

SQAM Course, Proficience, IISc 7


When are inspections used?
 Possible
anytime when code or
documents are complete
– Requirements: Inspect specs, plans,
schedules
– Design: Inspect architecture, design doc
– Implementation: Inspect technical code
– Test: Inspect test procedure, test report

SQAM Course, Proficience, IISc 8


What should be inspected?
 For existing code or documentation, select
– The most critical piece to the program’s
operation
– Most used section
– Most costly if defects were to exist
– Most error-prone
– Least well-known
– Most frequently changed
 For new code or documentation
– 20% <= inspect <= 100%

SQAM Course, Proficience, IISc 9


Defects
• Inspections are used to find defects
 A defect is a  Something wrong
deviation from  Missing
specific or information
expected  Common error
behavior
 Standards
violation
 Ambiguity
 Inconsistency
 Perception
SQAM Course, Proficience, IISc
error 10
Inspection Process
A rigorous team review of a work
product by peers of the producer.
 An independent moderator usually
leads the inspection
 To find defects, record them for
analysis, initiating the rework and
use for historical purpose.

SQAM Course, Proficience, IISc 11


Roles

Moderator Inspectors

Scriber Author
SQAM Course, Proficience, IISc 12
Inspection Process Flow

Planning and
Scheduling

Y
N Analysis
Overview Preparation Inspection Defects
Required Meeting Analysis Meeting
N
Y
Rework
Overview
Follow Up

Prevention
Meeting
SQAM Course, Proficience, IISc 13
Planning
 A Policy and procedures exist for the projects
organization
 Works products for inspections are identified in
the plan.
 Well defined work product completion or
readiness criteria are available
 Expected project participants have been trained
 Goals and targets have been established for the
volume/percentage of work products to be
inspected
 Estimate resources for inspections and allocate
budget
 Identify dependencies for the inspections
 Identify the risksSQAM
to Course,
any Proficience,
inspections
IISc
in the project14
Scheduling
 Project Lead makes request to the moderator
 Determine the inspection meeting date
 Ensure that the work product is complete and
ready for inspection
 Schedule the inspection meeting

SQAM Course, Proficience, IISc 15


Overview
 Overview material to the inspection team members to
enable their better understanding
 Alternative is to give a tutorial
 Any format is fine
 Can be extended or follow up session can be scheduled
if required
 This is not an inspection meeting
 Open issues is known
 Participants are not familiar with the material, Material
is critical to the success of the project,work product is
large or complex – Mandatory
 Always required for SRS, Architectures, HLD, SDP and
any significant changes to major baselines.
 If inspectors are already familiar, this can be skipped

SQAM Course, Proficience, IISc 16


Preparation
 All members of the inspection team should
prepare including the moderator
 Materials should be provided in advance
 Moderator should confirm that sufficient time is
allocated
 Baseline materials, checklists, previous versions
of the work product, templates for logging the
defects can be inputs
 The questions and possible defects should be
marked
 Helps inspectors to understand the material,
identify possible defects in advance.
SQAM Course, Proficience, IISc 17
Meeting
 To find as many defects as possible
 Guidelines are to be followed and focus should be always
on the business
 The discussion is always within the scope of inspection
 Identified defects should be agreed by the team including
the producer
 Non-agreed defects can be marked as open issues
 Defects should be mentioned clear, crisp and easy to
understand
 Defects can be classified by class, severity and type
 Roles of reader and recorder
 Moderator can make the judgment for defects and open
issues

SQAM Course, Proficience, IISc 18


Analysis Meeting
 Optional, but recommended
 Performed immediately after the inspection
meeting
 Select the defects to discuss
 Determine the potential causes of the defects
 Record the analysis meeting results
 Provide them to SEPG as input for process
improvement considerations
 Should not take long time
 Only most critical and frequently occurring
defects can be analyzed

SQAM Course, Proficience, IISc 19


Rework
 All major defects should be fixed
 If not fixed, should be justified on the basis of
business objectives
 Defects elected to not be repaired must be
recorded
 Any open issues should be accepted as a defect
and repaired or accepted as CR for further
investigation or closed as non-defect
 Moderator need to escalate the open issue if not
resolved
 Once CRs are written and accepted defects are
repaired, the inspection is considered as closed
SQAM Course, Proficience, IISc 20
Follow Up
 Final activity of the inspection process
 Verification of the rework activity
 Moderator or any representative of the
moderator will review each fix made by the
producer
 Proposed closures on Open issues will also be
reviewed

SQAM Course, Proficience, IISc 21


Prevention Meeting
 Optional and depends on the analysis meeting
 Done periodically after series of inspections,
typically monthly
 Required data about each defect instance, when,
where found, type of defects and probable cause
 Team members come to consensus using DP
techniques
 Decide on proposed actions that could be taken
to prevent types of defects from occurring in
future.

SQAM Course, Proficience, IISc 22


Data Recording and Reports
 Concurrent with all other activities in the
inspection process
Typical Data:
 Estimated size of work products
 Number of planned inspections
 Planned effort for inspections
 Actual Vs Planned inspections
 Time spent in individual activities
 No. of defects identified in individual
activities
 No. of re-inspections
SQAM Course, Proficience, IISc 23
Inspection Metrics
 Defect Density
 Defect Distribution
 Inspection Meeting Rate (Loc/hr or
FP/hr)
 Preparation Rate (Loc/hr or pages/hr)
 Inspection Meeting Efficiency
( Invested hours/defect)
 Inspection Effectiveness ( No. of
defects found in inspection/ Total
defects found in all activities)
SQAM Course, Proficience, IISc 24
Role of SQA in Inspection
 Assures that the project plan is documented and
includes planned inspections as required by policy
and procedures (planning)
 Ensures that once notification is sent, Moderator is
assigned and performing the necessary scheduling
tasks(Scheduling)
 Ensures that Overview meeting criteria is met and
appropriate decision is taken and recorded
(Overview)
 Ensures that Moderator has used the preparation
procedure and the inspectors performed sufficient
preparation(Preparation)
 Ensures that the modeator has used the inspection
meeting procedure and inspectors made sufficient25
SQAM Course, Proficience, IISc
inspection(Meeting)
Role of SQA in Inspection
 Ensures that the moderator has used the analysis
meeting checklist and reviews the recorders
report for sufficiency ( Analysis meeting)
 Reviews the sample results of the rework
(Rework)
 Reviews the final inspection report (Follow-up)
 Reviews the sample reports Supports SEPG for
process improvement initiatives (Prevention).
 Reviews the sample reports (Data recording and
reports)

SQAM Course, Proficience, IISc 26


Qualities of Good Moderator
 Independent and objective
 Good leader
 Coach
 Technically good, may not be an
expert
 Good communication skills
 Sense of humour
 Trained
SQAM Course, Proficience, IISc 27
Activities performed by the
moderator
 Inspection scheduling
 Determine the need for overview
 Determine the inspection team
 Ensuring the availability of materials
 Assigning roles
 Chunking the materials
 Defining inspection activities schedule
Few thoughts:
9. Can the SQA play the role of a moderator
effectively?
10. Is online inspections successful?

SQAM Course, Proficience, IISc 28


Inspection Data- What is required?
 Clear definition of policy regarding the data and
its use
 Management commitment
 Visible commitment to reliable inspections
 Clear training on how to collect, analyze and use
data
 Accepted definitions for the measures
 Infrastructure and tools to support collection and
analysis
 Feedback to individuals on time
 Visible use of data
 Data with integrity
SQAM Course, Proficience, IISc 29
Practical Issues for Success
 Sufficient time (Preparation and inspection
meetings, reasonable length, Enforcing time
limits, Breaks during inspections and scheduled
times)
 Inspection is not really done unless it reached the
closed state.
 Right Inspectors
 Small teams
 Many metrics
 Inspections too formalized
 Only superficial errors are found
 Inspecting too much
 Some inspectors don’t contribute

SQAM Course, Proficience, IISc 30


Deadly sins of inspections
 Superficial commitment from management
 Not enough time in the schedule
 Resources not allocated
 Insufficient preparation
 Wrong people assigned
 Not using the data
 Treating inspections as a routine
 Using the checklist without thinking
 No training
 No entry/exit criteria

SQAM Course, Proficience, IISc 31


References
 Software Inspections – Ronald Radice, Tata
McGrawhill
 Peer Reviews in Software: A practical guide –Carl
E.Wiegers
 CMM in practice at Infosys, Pankaj Jalote
 Metrics and models in Software Quality
Engineering, Stephen Kan.

SQAM Course, Proficience, IISc 32


Other Methods
Review Walkthrou Inspectio
gh n
What Present Technical Formal
idea or presentation review by
proposal of work peers
Audienc Mgmt/Tech Tech Tech
e
Objectiv Provide Explain Find
e Info, work, may defects
Evaluate find design early
specs or or logic - Find
plan – Give defect defects
StatusSQAM Course, -Proficience,
Give IISc 33

Você também pode gostar