|

|
Reading Techniques to Improve Software Inspections
|
Business Need
|
Since the introduction of defects during software
development cannot be avoided, defects have to be discovered and removed as
close to the phase where they were introduced as possible. Failing to catch
software defects early results in low product quality and/or an inability to
deliver the product on time and within budget.
Software inspections have been shown to be effective and efficient ways of
finding defects in software work documents. However, typically reviewers rely
on ad hoc techniques to read the document and detect defects. Therefore
significant expertise is built up only slowly, for a number of reasons:
- It is difficult to
provide training for a poorly (or un-) defined process.
- For large software
projects it is difficult for a reviewer to understand what defects were
not caught by the review, and how they might have been more effectively
targeted; this type of knowledge is necessary if the reviewer's process
is to be improved.
- And, allowing every
reviewer to develop his or her own process makes the communication of
effective review strategies between reviewers harder, making it likely
that the expertise that is developed is not disseminated as widely as it
could be.
|
Our Approach
|
FC-MD scientists have developed software "reading
techniques" that address these difficulties. A software reading
technique is a series of steps that an individual reviewer can follow to
understand the work product and effectively find defects. Software reading
techniques increase the effectiveness of individual reviewers by providing
guidelines that they can use, during the preparation phase of a software
inspection, to examine (or "read") a given software document and
identify defects. Rather than leave reviewers to their own devices, as in ad
hoc reviews, software reading techniques capture knowledge about best
practices for defect detection into a procedure that can be followed.
Procedural software reading techniques help make the review process
perspective-driven; that is, individual inspectors should follow a procedure
that reviews the document from the perspective of a stakeholder of the
document or some other focus of interest.
Two different sets of reading techniques have been developed: Perspective-Based
Reading (PBR) for requirements inspections and Object-Oriented Reading
Techniques (OORTs) for OO designs.
To be effective, reading techniques must be customized to the environment
in which they are used. However, as an example one instantiation of reading
techniques for requirements documents is provided for the perspectives of:
|
Fraunhofer Business Activities
|
For organizations interested in requirements and design
inspections, FC-MD offers
Support: FC-MD scientists will help develop an
inspections procedure that is customized for your environment. If inspections
are already in place, reading techniques for requirements and OO design
inspections can be tailored to existing practices to improve their
effectiveness.
- We will work with your
organization to identify the important stakeholders in the work products
being inspected and the right set of perspectives for their review.
- We will tailor the
inspection procedures to the existing skill set and experience of your
developers.
- We will help
understand the types of problems your organization faces, and tailor the
inspections to target these issues.
- We will monitor the
effectiveness of inspections in your organization to provide further
tailoring or suggest a more efficient allocation of resources to the
different perspectives.
Training: FC-MD scientists have extensive experience in
teaching the skills required for requirements and design inspections. We
offer tutorials that train your organizations' developers and for longer-term
support to help them apply inspections in practice.
More detail about the services we provide is contained in our brochures
for requirements and design inspections.
|
Fraunhofer Research Activities
|
Scientists at the Fraunhofer are engaged in a
collaboratory research program with the University of Maryland's Experimental
Software Engineering Group. The aims of this program are to continue evolving
the reading techniques to improve their effectiveness, and to better
understand important environmental attributes that affect how effectively
they can be tailored.
This research program is an extension of an ongoing set of studies
evaluating PBR and OORTs. A lab
package is available for the work on PBR that collects all of our
experimental designs, experimental materials, and results. The purpose of
this lab package is to provide a better understanding of our evaluation
methods and to help support replications of our work by independent
researchers.
|
Keywords
|
Software inspections, reading techniques, requirements
inspections, PBR, Object-Oriented design inspections, OORTs, experimental
software engineering.
|
Participants
|
Fraunhofer Center -- Maryland:
- Dr. Forrest Shull
- Dr. Ioana Rus
University of Maryland, Experimental Software Engineering Group:
- Dr. Guilherme
Travassos
- Jeff Carver
|
Publications
|
A technical
report is available that summarizes the work on OO design inspections.
Click here to see a full list of our publications on this
topic.
|