An inspection is a formal review of a work product by the work product owner and a team of peers looking for errors, omissions, inconsistencies, and areas of confusion in the work product. A formal inspection is performed according to established procedures and schedules.
A typical inspection includes the following stages:
- Planning
- Overview Meeting (Kickoff)
- Preparation
- Inspection Meeting
- Rework
- Follow-up
A formal inspection has well-defined roles for participants, such as moderator, recorder, reader, author, and inspector.
-
EDUCATION, TRAINING, COURSES, AND CONFERENCES
-
Don O'Neill's Software Inspections Training Offerings
(http://members.aol.com/ONeillDon/inspection_training.html)
Don O'Neill, an independent consultant, offers a software inspections
course and lab, a software inspections management workshop, and an
executive presentation on software inspections.
-
Optimizing Software Inspections
(http://www.software.org/DCSpin/Past_Meetings.html#JUN97)
An overview and slides from an 18 June 1997 presentation by Tom Gilb to
the Washington, DC, Software Process Improvement Network (SPIN).
-
Software Systems Quality Consulting
(http://www.concentric.net/~Ssqc/) SSQC is a consulting, education,
and training organization run by Bill Deibler. Their emphasis seems to
ISO 9000 and the Software Engineering Institute (SEI) Capability
Maturity Model (CMM).
-
Tom Gilb Presentations
(http://www.stsc.hill.af.mil/consulting/sw_testing/templates.html)
Mostly ZIPped files of Powerpoint slides for Tom Gilb's courses on
inspections, requirements, etc. Maintained on the Software Technology
Support Center server.
- Weiss and Kimbrough Inspection Materials
(http://www.ics.hawaii.edu/~johnson/FTR/Weiss/weiss)
A collection of tutorial information on inspections, created by Alan R.
Weiss of Motorola, Inc., and Kerry Kimbrough of MPWR Systems.
-
LITERATURE
-
A Business Case for Software Process Improvement: A DACS Technical
Report (http://www.dacs.dtic.mil/techs/roi.soar/soar.html)
The purpose of this report is to provide the details necessary to
rationalize, from a business perspective, investing in and performing
software process improvement. Software process improvement has received
much attention in the last few years. However, it has been very
difficult to translate benefits achieved in one organization to another
organization. The intent of this report is to generalize and model the
cost benefits one can achieve from software process improvement.
-
Code Reading and Program Comprehension Bibliography
(http://www2.umassd.edu/SWPI/ProcessBibliography/bib-codereading.html)
An annotated bibliography containing references which concern research
in how programmers, novice and expert, construct an understanding of
source code. Included in these item are empirical studies aimed at
validating theoretical models, articles related to tools support for
the code reading activity, and articles related to instructional
attempts to help students gain expertise.
-
Improving Inspections
(http://www.pp.ph.ed.ac.uk/Exp/rc/moose/inspect/inspect.html)
This article, by Rosemary Candlin, presents some thoughts she had after
reading two books - `Software Inspection' by Tom Gilb and Dorothy
Graham, and, to a lesser extent 'A Discipline of Software Engineering'
by Watts Humphrey. She discusses how inspections fit into her group's
work, including how to apply it to object-oriented programming.
-
Raytheon Electronic Systems Experience in Software Process Improvement
(http://www.sei.cmu.edu/products/publications/95.reports/95.tr.017.html)
The software engineering process group (SEPG) of Raytheon Electronic
Systems (RES) is responsible for defining and implementing the Software
Engineering Initiative, which outlines the policies, practices, and
procedures (e.g. inspections) to be followed in developing complex
software for large-scale commercial and defense projects. To accomplish
these objectives, the SEPG has had to develop the organizational
structure and techniques to meet the growing challenges of developing,
maintaining, and improving its software engineering process in
significant and measurable ways, including quantifying return on
investment (ROI) and increasing the quality of the deliverable product.
-
Reviews and Inspections Bibliography
(http://www2.umassd.edu/SWPI/TechnicalReview/review.html)
An annotated bibliography containing references which concern reviews
and inspections.
-
Setting Up a Software Inspection Program
(http://www.stsc.hill.af.mil/CrossTalk/1997/feb/softinsp.html)
This is an article by Don O'Neil from the U.S. Air Force Software
Technology Support Center's newsletter CrossTalk. Software inspections
deliver an attractive return on investment and benefits in cost,
schedule, quality, and customer satisfaction. As a reasoning activity
among peers, software inspections serve as exit criteria for the
activities of the lifecycle to conduct strict and close examinations of
specifications, designs, code, and test procedures. This article shows
the benefits of software inspections and the cost and methods to roll
them out.
-
Software Process Improvement at Primark IMS
(http://www.pimsl.com/Infoserver/Public/SPI/Index.html-ssi)
Primark Investment Management Services initiated a Software Process
Improvement program in November 1994 for its Icon product. Their
program is based largely on the teachings of Tom Gilb. Document
inspection is a cornerstone of this program. Primark IMS has posted
some Inspection-related material here for you to view and download.
-
Software Technology Reference Guide - Software Inspections
(http://www.sei.cmu.edu/technology/str/descriptions/inspections_body.html)
This section, from the Software Engineering Institute (SEI) Software
Technology Reference Guide, provides an overview of software
inspections.
-
PEOPLE, PROGRAMS, AND ORGANIZATIONS
- Don O'Neill
(http://members.aol.com/ONeillDon/)
As an independent consultant, Don O'Neill conducts defined programs for
managing strategic software improvement. These include directing the
National Software Quality Experiment, participating in the National
Software Council, and producing and maintaining the section on software
inspections in the Software Engineering Institute (SEI) Software
Technology Reference Guide.
- Michael Fagan
(http://www.mfagan.com/intro.htm)
Web page for Michael Fagan Associates. Michael Fagan created formal
software inspections.
- Tom Gilb (http://ourworld.compuserve.com/homepages/KaiGilb/)
The Web page for Result Planning Limited, Tom Gilb's consulting
company.
-
RELATED SITES
-
NASA STAC Formal Inspections Page
(http://satc.gsfc.nasa.gov/fi/fipage.html)
The NASA Software Technology Assurance Center provides an overview of
formal inspections, as well as links to the Formal Inspection Guidebook
and the Software Formal Inspection Process Standard, NASA-STD-2202-93.
-
Software Inspections and Review Organization
(http://www.ics.hawaii.edu/~siro/)
The Software Inspection and Review Organization (SIRO) is a voluntary
organization devoted to the exchange of information about group-based
examination of software work products, including the state of practice,
emerging techniques, support resources, and industry use and metrics.
-
The WWW Formal Technical Review Archive
(http://www.ics.hawaii.edu/~johnson/FTR/)
A centralized source for materials on Formal Technical Review (FTR) a
term encompassing a variety of software review methods such as Fagan
Inspections, Active Design Reviews, and Phased Inspections.
-
REPOSITORIES
-
National Software Quality Experiment
(http://members.aol.com/ONeillDon/national_experiment.html)
In 1992 the DOD Software Technology Strategy set the objective to
reduce software problem rates by a factor of ten by the year 2000. The
National Software Quality Experiment is being conducted to benchmark
the state of software product quality and to measure progress towards
the national objective. The centerpiece of the experiment is the
Software Inspection Lab where data collection procedures, product
checklists, and participant behaviors are packaged for operational
project use. The uniform application of the experiment and the
collection of consistent measurements are guaranteed through rigorous
training of each participant. Thousands of participants from dozens of
organizations are populating the experiment database with thousands of
defects of all types along with pertinent information needed to
pinpoint their root causes.
-
SOFTWARE TOOLS
- CheckMate
(http://www.sybernet.ie/c_home.html)
An automated C/C++ software inspection tool from SyberNet, Limited.
Includes a free evaluation kit for downloading.
-
STANDARDS
-
Software Formal Inspections Guidebook
(http://satc.gsfc.nasa.gov/fi/gdb/fitext.txt)
The Software Formal Inspections Guidebook is designed to support the
inspection process of software developed by and for NASA. This document
provides information on how to implement a recommended and proven
method for conducting formal inspections of NASA software. The
Guidebook is a companion document to NASA Standard 2202-93, Software
Formal Inspections Standard, approved April 1993, which provides the
rules, procedures, and specific requirements for conducting software
formal inspections. In cases where program or project management decide
to use the formal inspections method, this Guidebook provides
additional information on how to establish and implement the process.
-
Software Formal Inspections Standard
(http://satc.gsfc.nasa.gov/fi/std/fistdtxt.txt)
NASA-STD-2202-93, the Software Formal Inspections Standard, is designed
to support the inspection process of software developed for NASA. Its
goal is to provide a framework and model for an inspection process that
will detect and eliminate defects as early as possible in the software
life cycle. This Standard describes a uniform process for NASA software
formal inspections.
-
Software Technology Reference Guide - Software Inspections (http://www.sei.cmu.edu/technology/str/descriptions/inspections_body.html)
This section, from the Software Engineering Institute (SEI) Software
Technology Reference Guide, provides an overview of software
inspections.