Volume 8 Number 3 • May/June 2007 Feature Article


ReviewsReviews

Introduction

A Window of Opportunity

Reviews are effective because they can be conducted early (most effective when conducted before coding starts), offer cost-effective testing and reducing project timescales.

The Programmer’s Dilemma

Programmers are often given tight deadlines and are supplied with inaccurate, contradictory, incomplete, unclear business specifications. These specifications are the source of over half of the defects occurring within system applications. Not only is garbage-in responsible for garbage-out (GIGO), but also for wasted time, cost escalation, and stressful and unsatisfactory working conditions.

Group Wisdom

We accept sayings such as, “Two heads are better than one” because we know groups hold more information and insight.  Herein lies one clue to the power of review – focused teamwork devoted to improving a product.

Benefits of Reviews

What can be Reviewed?

Any written document including code, test plans, installation instructions, business specifications, design documents, contract, and project management plans.

Types of Review

Four types of review are briefly described in this article. Reviews vary in method and outcome, therefore it’s important to select the types of review suited to the specific needs of the project. More than one type of review may be applied to a single product and one may be more or less suitable than alternate reviews at any given point.

Informal Review

Technical Review

Walkthrough

Inspections

Return on Investment (ROI) for Reviews

The easiest way to calculate ROI for reviews is to record the number of defects found by a review and to compare this with the cost of missing them when they are first introduced to a product and finding them in a later project phase. For example, if we find and fix 100 major defects in a business requirements document soon after it is completed, we can calculate an approximate ROI for repairing the defects early, rather than finding and repairing them during system testing. To do this we would use industry benchmarks to get 100 x 1 unit of repair in contrast to 100 x 22.5 units of repair, which for similar test effort equates roughly to a 2250% ROI (reduction in repair costs for these 100 defects)..

Reviews Change Everything

Well-executed reviews will change everything about how you used to develop applications. They provide such insight, immediately pin-point areas where defects enter your products, and produce valuable metrics to allow management to take informed decisions. The result of this is that your whole software process will change (for the better).

Wayne Mallinson
Email: waynem@testdata.co.za

 

Extra's

The Importance of Software Reviews

Standards, certifications, books, theses, research projects, magazine articles, case studies and numerous training courses worldwide all underline the growing importance of reviews in system development.

IEEE Standard 1028 of 1997
The Institute of Electrical Electronics Engineers (IEEE) has published a standard for software reviews, standard IEEE 1028 of 1997 which is best described by text from their own website:

“The IEEE standard for software reviews defines five types of software reviews, together with procedures required for the execution of each review type. This standard is concerned only with the reviews; it does not define procedures for determining the necessity of a review, nor does it specify the disposition of the results of the review. Review types include management reviews, technical reviews, inspections, walkthroughs, and audits”. http://stdsbbs.ieee.org/descr/1028-1997/

The Practitioner Certificate in Software Testing

The British Computer Society (BCS) Information Systems Examination Board (ISEB) Practitioner Certificate in Software Testing syllabus addresses informal reviews, walkthroughs, technical reviews and inspections.

Books

Handbook of Walkthroughs, Inspections, and Technical Reviews: Evaluating Programs, Projects, and Products by Daniel P. Freedman, 1990
Software Inspection by Tom Gilb and Dorothy Graham, 1993, Addison-Wesley
Software Inspection: An Industry Best Practice by Bill Brykczynski (Editor), Reginald N., Jr. Meeson (Editor), David A. Wheeler (Editor), 1996
Peer Reviews in Software: A Practical Guide by Karl E. Wiegers, 2001
High Quality Low Cost Software Inspections by Ronald A. Radice, 2004
Modern Software Review: Techniques and Technologies by Yuk Kuen Wong, IRM Press, 2006

Success Factors for Reviews

Karl Wiegers has written an article entitled, ‘Seven Deadly Sins of Software Reviews’ published on page 10 in this edition of Test Focus. He identifies seven areas which, if they are not well managed, undermine the effectiveness of software reviews. This article is well worth reading.

Taking this same list but now positively managing through the problem areas, we get success factors for software reviews:

1.         Ensure participants have a common understanding of the review process.
2.         Reviewers must critique the product, not the producer.
3.         Reviews must be planned.
4.         Review meetings should not drift into problem-solving meetings.
5.         Reviewers must be properly prepared.
6.         The correct people must participate in reviews.
7.         Reviewers must focus on substance and not on style.

To which I will add:

8.         Ensure the review process is embedded in the organisation’s software development process.
9.         Use statistical sampling and results evaluation to determine the frequency and types of review.
10.       Use process improvement workshops to reduce or eliminate known defects detected by the reviews.
11.       Publish review success metrics.
12.       Train all staff in the review process – it should form a core part of your business.

Wayne Mallinson
info@testfocus.co.za

Reproduction & Copyright

The reproduction, adaptation or broadcast, without permission, of any articles or photographs published in this publication, is forbidden and copyright
is expressly reserved for Test and Data Services (Pty) Ltd.

Opinions

Opinions expressed by contributors are their own and do not necessarily express the opinions of the Publisher, Editor or members of the Editorial Panel.