Logo

Software Inspections and Peer Reviews

Copyright © 2004 by Karl E. Wiegers

This is a self-training version of Process Impact's popular 1-day live seminar. The course consists of 9 modules with nearly 6 hours of audio and several practice activities that provide a comprehensive introduction to software peer reviews in general and the Fagan inspection technique in particular. Each module contains slides that animate and advance automatically, with a synchronized audio presentation. Most modules have several reference documents available, including magazine articles, forms, spreadsheets, checklists, and other work aids. You can also access those reference documents from the module descriptions on this page. From this page you can also print a PDF version of a 2-up handout master of the slides. Most modules include short quizzes so you can test your knowledge of the key points in the module. The course consists of the following modules:

  1. Objectives and Agenda
  2. Introduction to Software Peer Reviews
  3. Software Inspection Overview [available for preview]
  4. Software Inspection Process
  5. The Inspection Moderator Role
  6. Keeping Inspection Records
  7. Other Peer Review Methods
  8. The Soft Side of Peer Reviews
  9. Making Peer Reviews Work for You

Course Description and Outline

View License Terms


Instructor

The instructor for this presentation is Dr. Karl Wiegers, Principal Consultant at Process Impact, who developed the course and has presented it live to many seminar audiences.

Karl's Biography
Process Impact web site
Send Karl email

Textbook

The textbook for this course is Peer Reviews in Software: A Practical Guide, by Karl E. Wiegers, published by Addison-Wesley in 2002. Each course module refers you to one or more chapters in the book. You can buy this book at Borders, Barnes & Noble, most technical bookstores, and online bookstores.

Order from Amazon.com

System Requirements


Module 1: Objectives and Agenda (16 minutes)

This module presents an overview of the "Software Inspections and Peer Reviews" course. It describes the system requirements for getting full value from the course and how to use the presentation player. It also summarizes the course objectives.

Reference documents for this module:

(back to top)

Module 2: Introduction to Software Peer Reviews (70 minutes plus 3 practice sessions)

Module 2 defines peer reviews and distinguishes them from other types of project reviews. The reasons why people don't presently do reviews and the kinds of work products that can be reviewed are discussed. We'll see some of the cultural barriers to reviews, and how to build reviews into your project plans. Some of the many published benefits that organizations have received from software inspections are presented. We'll also see why reviews are more efficient than testing for discovering many types of defects. This material is covered in Chapters 1 and 2 in Peer Reviews in Software.

(back to top)

Module 3: Software Inspection Overview (39 minutes plus 1 practice session) [available for preview]

This module begins by comparing informal and formal types of peer reviews. A spectrum of peer review formality is introduced. We discuss who should review what types of work products. The inspection process is introduced as a type of formal review. We discuss the participants in an inspection and their roles, and we explore whether managers and observers belong in inspections. This material is the subject of Chapters 3 and 4 in Peer Reviews in Software.

Start Presentation

Reference documents for this module:

(back to top)

Module 4: Software Inspection Process (72 minutes)

This module describes the Fagan inspection process in detail. It describes what happens in the various inspection stages: planning, overview meeting, preparation, inspection meeting, defect causal analysis, rework, and follow-up. Appropriate rates of inspecting various kinds of work products are discussed. We describe how to use three basic inspection forms, the typo list, issue log, and inspection summary report. This material is addressed in Chapters 4 through 8 in Peer Reviews in Software.

Reference documents for this module:

(back to top)

Module 5: The Inspection Moderator Role (36 minutes plus 1 practice session)

The moderator is the most influential participant in an effective inspection. In this module we'll see what sort of characteristics would make someone be a good moderator. We'll see just what the moderator does in each stage of the inspection. And we'll point out some of the inspection traps the moderator has to steer the team around. Chapter 5 in Peer Reviews in Software talks about the moderator role.

Reference documents for this module:

(back to top)

Module 6: Keeping Inspection Records (24 minutes)

One characteristic that distinguishes formal reviews like inspections from informal peer reviews is the collection and analysis of data. This module names several data items that you should collect from your inspections and some simple metrics you can calculate from those data items and track. Several spreadsheets are described that you can use as a simple way to begin recording and analyzing inspection data. We'll also touch briefly on more advanced data analysis methods, including correlating pairs of metrics and statistical process control. This material is covered in Chapter 9 in Peer Reviews in Software.

Reference documents for this module:

(back to top)

Module 7: Other Peer Review Methods (27 minutes)

Inspections aren't the only type of peer reviews worth doing. This module briefly describes several other types of reviews: team reviews, walkthroughs, pair programming, peer deskchecks, and passarounds. We'll see some advantages and disadvantages of both formal and informal reviews. Suggestions for how to choose an appropriate review technique for a given situation are also provided. This material is the subject of Chapter 3 in Peer Reviews in Software.

(back to top)

Module 8: The Soft Side of Peer Reviews (25 minutes)

Peer reviews are at least as much a social activity as a technical practice. This module examines some of these social and cultural aspects, including techniques for overcoming resistance to reviews and what benefits people in different project roles can get from reviews. Jerry Weinberg's concept of "egoless programming" is discussed, as are some issues associated with holding reviews in groups separated by culture or by distance. This material is addressed in Chapter 2 in Peer Reviews in Software.

Reference documents for this module:

(back to top)

Module 9: Making Peer Reviews Work for You (43 minutes plus practice inspection)

Learning about peer reviews is easy. Establishing a review program in an organization is harder. This module describes the roles of the peer review process owner and the peer review coordinator. It provides many tips for getting a review program going, including guiding principles and critical success factors for reviews, documenting your peer review process, and signs of management commitment to the review program. This material is the subject of Chapters 2, 10, and 11 in Peer Reviews in Software.

Reference documents for this module:

(back to top)