Title: Software Inspections
1Software Inspections
2What will we cover?
- Inspection process overview
- Initiating the inspection process
- The inspection process
- Checking
- Termination
- Follow-up activities
3Inspection
- ANSI/IEEE Std. 729-1983
- Inspection is... a formal evaluation technique
in which software requirements, design or code
are examined in detail by a person or a group
other than the author to detect faults, violation
of development standards, and other problems
The purpose of the inspection is to detect faults
in order to improve the quality of the product
and process.
4Inspection process overview
Changerequests
Product document
Process improvements
Loggingmeeting
Walk-through
Edit and follow-up
Individualchecking
Kick-off
5The inspection process - part 1
- Walk-through
- Request for inspection
- Planning the inspection
- Documents needed
- The entry process
- Kick-off meeting
6The inspection process - part 1
Changerequests
Product document
Process improvements
Rules,checklists,procedures
Loggingmeeting
Walk-through
Edit and follow-up
Individualchecking
Kick-off
7Walk-through - 1
- Used early in the lifecycle of a document. Focus
is on - Presenting the chosen solution to peers.
- Obtaining feedback, such as
- Alternative solutions
- Other peoples experiences
The goal of a walk-through is to obtain consensus
on the solution
8Walk-through - 2
- The purpose of a walk-through is to make sure
that the chosen solution is sound. - The walk-through as it is used here does not
require a finished document. - What is required is a clear idea of how the
author is planning to solve the problem at hand.
9Walk-through - 3
- The author decides when to have the walk-through.
- Since its main purpose is to collect ideas and
obtain consensus, it is wise to have the
walk-through before the author has sunk so much
effort into the solution that he can not change
it.
10Initiating the inspection process
- The inspection process starts with a request for
inspection from the author to the person
responsible for inspections in the company. - The person responsible appoints an inspection
leader. - First step is always to check that the document
is fit for inspection.
11Request for inspection - 1
- The author should decide when the document is
ready for inspection. - The person responsible for the inspection will
appoint an inspection leader. - The choice of leader is important for the success
of the inspection.
12Request for inspection - 2
- The inspection leader
- Will lead the inspection process. Thus, he must
have proper training. - Should not be a manager. If this can not be
avoided, he should at least not be the manager of
the author(s).
13Request for inspection - 3
- The inspection leaders first job is to check
that the document delivered to inspection holds
sufficient quality. - This is important in order not to
- Humiliate the author
- Waste the time of the inspection participants
14Planning the inspection - 1
- The following activities must be performed before
the inspection can start - Who shall participate in the inspection.
- Who have time available for preparation and
meetings? - Who has the necessary knowledge concerning
application, language, tools, methods? - Identify and obtain all relevant documents
- The document to be inspection
- Relevant background material - why is this
document produced? - Applicable standards and checklists.
15Planning the inspection - 2
- Identify roles in the inspection process
according to expertise. - Split the inspection up into two or more
inspections if - The document is too big,
- More than five persons are needed - for instance
due to the need for application expertise
16Planning the inspection - 3
- No inspection meeting should take more than two
hours. - Define necessary preparation time.
- Make a meeting schedule - in co-operation with
the inspection participants. Make sure everybody
adhere to this schedule. This depends on - Who should participate?
- When can we have the necessary documentation?
- When are the other relevant deadlines?
17Documents needed
- The following documents must be available
- The document to be inspected.
- All documents needed to understand the document
to be inspected and why this particular solution
was chosen. - Rules, standards and checklists applicable to
- The document to be inspected.
- The process that produced the document.
- The inspection process.
18The entry process - 1
- This process tries to avoid inspection of
documents that are not ready for this process. - The inspection leader should make sure that the
document has a minimum quality level. - It is practical to have a set of simple
requirements that the document must meet.
19The entry process - 2
- Some rules from Gilb
- All source documents are
- Available in writing.
- Have been inspected and accepted.
- The document to be inspected has been
- Presented in an earlier walk-through.
- Checked by all applicable tools - e.g. a compiler.
20The entry process - 3
- The most important is that the document, in the
inspection leaders opinion - Has no obvious errors. These should always be
fixed before inspection. - Will have a fair chance of being accepted.
- Otherwise, we are wasting the time of a lot of
persons
21Kick-off meeting - 1
- Give a short introduction to the document to be
inspected. - Decide on who will check which aspect(s). This
will allow each participant to contribute most
efficiently. - Hand out all relevant material - document to be
inspected, source documents, checklists etc.
22Kick-off meeting - 2
- Agree on the process of the inspection, such as
meeting schedule, checklists to be used,
inspection strategy and grading of issues. - Set targets for resources.
- Sum up available experiences from the latest
inspections. Examples - Important - efficient - checklist questions.
- Average number of issues per page.
- Average number of pages per hour during
preparations.
23The inspection process - part 2
- Individual checking - how can we assure maximum
benefits from each inspection participant - The logging meeting
- Documenting the inspection results.
- Identifying new issues based on group
discussions.
24The inspection process - part 2
Changerequests
Product document
Planning
Process improvements
Rules,checklists,procedures
Loggingmeeting
Walk-through
Edit and follow-up
Individualchecking
Kick-off
25Individual checking - 1
- This is the main activity of the inspection. Each
participant read the document to look for - Potential errors - inconsistencies with
requirements or common application experience - Lack of adherence to company standards or good
workmanship
26Individual checking - 2
- Important rules for each participant
- Focus according to the assigned role in the
inspection process. - Adhere to the time allotted to individual
inspection. - Finish in time for the logging meeting.
- Use the distributed checklists.
27Individual checking - 3
- Mark all issues in the inspected document.
- An issue does not have to be something you know
is an error - it can also be something you need
to get clarified. - Grade all issues, for instance as minor or major.
28The logging meeting - 1
- The logging meeting has three purposes
- Record all issues raised by the participants.
- Use the group discussion following the issues
raised, to find and log new issues. - Record questions and improvement suggestions to
the document author(s).
29The logging meeting - Guidelines - 1
- Avoid activities like
- Long explanations.
- Defending your opinions.
- Asking for long clarifications.
- Do not start discussions on whether something is
really wrong. It is sufficient that one
participant think that something is wrong.
30The logging meeting - Guidelines - 2
- Do not start discussions on solutions to issues
raised - the meeting focus is on identifying
issues. - Make sure all issues are logged, together with
their severity. It is important that each issue
is described in such a way that it is easy to
identify for the author(s).
31The inspection Process - part 3
Changerequests
Product document
Planning
Process improvements
Rules,checklists,procedures
Loggingmeeting
Walk-through
Edit and follow-up
Individualchecking
Kick-off
32The inspection Process - part 3
- Completion
- Edit the documents. This is the responsibility
of the authors. - Follow-up.Check that all issues are resolved.
- Exit.Based on documented exit criteria
33Edit the documents - 1
- The author must go through the inspection meeting
log and address all issues. This will result in
one of the following - Correction of a fault.
- Insertion of new text to avoid further
misunderstandings. - Send change requests to authors of other
documents.
34Edit the documents - 2
- Send improvement suggestions to owners of
checklists, standards etc. - Each issue dealt with should be ticked off in the
log. If necessary, add comments. - Insight gained during editing which results in
identification of improvement possibilities
should be sent to the owners of the relevant
standards, rules or checklists.
35Follow-up activities
- It is usually not possible for the inspection
leader to control that all issues have been
settled in a satisfactory manner. What he can do
is to check that all - Issues have been ticked off.
- All improvement suggestions have been sent to the
appropriate person.
36Exit - 1
- Rules of thumb
- The number of errors left after edit is equal to
the number of errors found during inspections. - One sixth of all corrections will fail or
introduce a new error in the document. - These rules give us a rough idea of the error
content of the document after inspections and
corrections. If we have defined a limit for this,
we can decide whether we need a document rewrite
or not.
37Exit - 2
- Gilb has suggested a list of exit criteria. Here
are some examples - The inspection participants have used at least
the recommended number of person-hours for
preparations. - All editing is completed.
- The estimate for errors remaining is less than
0.25 per page. - Author and inspection leader agree that the
document in general has sufficient quality.
38Exit - 3
- If the document does not meet the exit criteria
we should do one of the following - Make a major rewrite
- Write the document from scratch - throw away the
document and start anew. - Repeat the inspection. This is only useful if the
reason for not meeting the exit criteria lies in
the way the inspection was performed - for
instance too little preparation time used.
39The inspection process - part 4
Changerequests
Product document
Planning
Process improvements
Rules,checklists,procedures
Loggingmeeting
Walk-through
Edit and follow-up
Individualchecking
Kick-off
40Process improvement - 1
- The main purpose of the inspection is to find
errors. However, in order avoid doing the same
errors over and over again, we need to look into - Why was the errors inserted into the document?
- Why didnt the author discover these errors
himself? - What can we do to prevent the same problems for
the next document? - A meeting to improve the process should be
arranged after the logging meeting but with the
same persons.
41Process improvement - 2
- The following three steps are recommended
- Identify the most important identified errors or
issues. This can for instance be based on
frequency or cost. - Have a brainstorming session on possible causes
for errors. Causes can be technical,
organisational, political or others. - Assign improvement suggestions to the most
important causes. - The log of the improvement meeting is handed over
to the personnel responsible for improvement
actions.
42Process improvement - 3
- Some advises for the improvement meeting
- Each issue is given a short presentation.
- Brainstorm possible causes. Focus on root causes.
- Brainstorm improvement suggestions.
- The improvement meeting should have about the
same duration as the logging meeting. - Each of the first three steps should be short.
Gilb suggests one minute but this might be too
short.