In what state of development is the source code being
inspected? (Generally most inspections are for code that is
written and compiles without error but has undergone no
unit testing. This is important. Do NOT execute your
program before having it inspected.)
Compiles without error, not unit tested.
Code must be line numbered.
How many lines of code (max) should be reviewed?
250.
In what form and via what procedure is the code
submitted to the inspectors?
Computer readable form, e-mailed to inspectors.
How much lead time should be granted to the inspectors? 24 hrs.
What preparatory activities are inspectors to carry
out?
Print out source code (using monospaced font).
Obtain any relevant detailed design documents.
Obtain Inspection Checklist, Coding Standard, and Preparation
Log.
Review Inspection Checklist and Coding Standard. Fill out
header of Preparation Log.
Note starting time.
What are the specific, detailed procedures an
individual inspector performs?
Each inspector uses the Inspection Checklist to try to identify
as many potential defects as possible. This should be done in a
single, uninterrupted sitting. Read the code line by line,
attempting to fully understand what you are reading. The code
should be self-explanatory; if it isn't note this as an issue.
At each line or block of code, skim through the inspection
checklist, looking for questions which apply. Write down
each probable defect, question, or issue on the Preparation Log
(not the source code), referring to the line number on the
listing. Note any trivial violations of coding standard
on the source code listing itself.
At what rate (LOC/hr) should inspectors carry out their preparation? 70 - 120 LOC/hr
What forms does an inspector complete about their
preparation?
Preparation Log
Here is a sample inspection checklist.
What are the entry criteria? I.E., what must be
completed before the meeting can occur?
Complete Preparation Log and marked source code listing from
each inspector.
Who attends? Who does not attend?
Author and inspectors, not upper management.
What is the purpose?
Discuss issues on the Preparation Logs, Consolidate issues,
identify defects.
What is the time limit for the meeting?
2 hours.
What happens during the meeting? Describe the
sequence of activities.
Moderator leads the meeting, drawing attention to each section
of code and soliticing issues. Inspectors contribute
issues from their Preparation Logs. Issues are evaluated
to determine if they are real defects.
What roles does each participant play during the
meeting?
The author is present simply to obtain feedback, not to
present, explain, or defend the code!
Moderator directs the meeting, keeping focus on identifying
defects, not solving problems or finding "better" solutions.
Inspectors share issues and evaluate issues.
What documentation is created and what data is
gathered during the meeting?
Defect Log is created of all defects found.
Inspection report summarizing the meeting and conclusions is
written by the moderator.
How is the documentation and data gathered and reported?
To whom? When?
Defect log is given to author. These defects are not entered
into the team defect tracking system. They are recorded
by the author in his/her PSP defect log.
Source code listings with trivial defects are given to the
author.
Inspection report and copy of defect log are kept by moderator
for Follow-up (see below).
What are the acceptance criteria for the work product?
There must be no severe defects, less than three minor defects,
and less than ten trivial defects.
How is work which fails to meet the acceptance criteria
to be handled?
The author must rework the code to correct the defects.
What are the procedures for carrying out rework?
Author is responsible for addressing all items in the Defect
Log. Defects which caused non-acceptance must be repaired
before approval is granted. Remaining defects may be
prioritized at author's discretion.
Who is responsible for verifying that rework has been
completed satisfactorily?
Moderator will determine if defects have been corrected in an
acceptable manner.
How does the verification happen?
Author e-mails moderator the revised code. Moderator
checks against defect Log to verify acceptability.
Moderator may call a new inspection if necessary.
How is the verification recorded?
Inspection Report is amended to shows which defects have been
corrected. Report inspection status is changed from fail
to pass.
What are the exit criteria? I.E. what must be finished
before the inspection is completed?
Completed source code ready for unit test. Amended
inspection report (and copy of Defect Log) given to QA.
What other development documents, checklists, or
reference materials are required?
Relevant design documents.
Preparation
Log.
Inspection
Checklist.
Coding
Standard.
Java API
reference.
Defect
Log.
Inspection
Report.