Inspections for Software

a
two day workshop


WB01339_.gif (896 bytes) Why Take This Workshop? 

WB01339_.gif (896 bytes) What Will You Learn?

WB01339_.gif (896 bytes) Why Inspections?

WB01339_.gif (896 bytes) Who Should Attend?   

WB01339_.gif (896 bytes) Workshop Outline

WB01339_.gif (896 bytes) Instructors

WB01339_.gif (896 bytes) Availability & Price

WB01339_.gif (896 bytes) Student Materials

If you are not yet using Inspections,
start with this course!

[Home][What's New][Products & Services][Contents][Feedback][Search]


Why Take This Workshop?

wpe5.jpg (1175 bytes)


What Will You Learn?

wpe5.jpg (1175 bytes)


Why Inspections?

So what’s the problem?  Why do we need Inspections?  The primary value that Inspections always posited is that it is cheaper to remove defects earlier in the software life cycle than later.  The question originally was not how to prevent defects from occurring, but to remove them at a lower cost.  In figure 1.1 the curve from START to Code represents the number of defects that enter into the production processes of requirements analysis, high level design, low level design, and code in a development project.  This curve shows no pre-test defect removal activities.  Consequently each test activity (unit (UT), integration (IT), and system (ST)) will find and remove some volume of generated defects.

 

                                                             Figure 1.1

In a well-behaved series of tests we would expect the number of defects removed to decline in each subsequent test activity as shown in figure 1.1.  The gap that remains at the end of ST represents the latent defects and the potential to be found by the users.  More will be discussed about these curves in Chapter 9, The Economics of Inspections.

So far in this example we can acknowledged that:

·        Defects are generated in each life cycle activity

·        Generated defects are removed in phases after code is completed

·        Not all defects are removed at ship

Had we tried to deliver the product at the conclusion of coding, we would clearly not have had a working product due to too many defects and the resultant instability.  We can assume that the defects found by the users will usually require resolution and repair and that repair will be an added cost to the project or organization.  There is also a cost to remove defects during test and when users find defects.  These costs will vary for a number of reasons, such as, the number of defects entering from each production activity, the types and severities of defects, the quality policy in the organization.

So the problems are:

·        Defects are generated when software solutions are produced

·        Removal of defects is costly

·        Users are impacted by too many software defects

With Inspections we can change these problems.  In figure 1.2 the same curve (A) is shown as before and an additional curve (B) represents defects remaining after  removal by Inspections prior to testing from requirements through code phases. We assume the same approximate test defect removal effectiveness for ease of presentation.  In this example the assumption is only 50% effectiveness for Inspections.  Effectiveness here means the percentage of defects removed by Inspections of all the generated defects.  In Chapter 9, The Economics of Inspections, will discuss how we can come to know the actual effectiveness.  For now, let us assume we have this knowledge.

 

                                                             Figure 1.2

Let us now assume that test is approximately as effective in this scenario as it was in the example shown in figure 1.1.  Thus additional defects are removed during test, but we have not removed all the injected defects.  There is still a gap of latent defects that the users could potentially find.  In this scenario the gap is smaller, however, due to the defects removed by Inspections.  This reduced gap represents a quality improvement in defectiveness delivered to the users.

Ok, so we have removed defects earlier, but why is it cheaper you may ask.  It is cheaper primarily due to:

·        The serial nature in which defects are discovered in test and by users; whereas in Inspections all identified defects are noted in the same proximate time period

·        The increased labor hours required to fix defects after the production activity

The relationship of costs to remove defects in production, test, and post-test was first shown in 1976 in Mike Fagan’s article based on the study we performed in IBM during the first release of the telecommunications subsystem VTAM.  Subsequent studies reconfirmed these results with the same nominal cost relationships.  Figure 1.3 shows these relationships as factors of increasing costs.  Thus, if it costs on average $10 to remove a defect in Inspections, it will cost $100 in test, and over $1000 when a user finds a defect. 

                                                            Figure 1.3

There are other aspects that make the reasons for doing Inspections more compelling, but if it were only for cost reduction the Inspection process is well worthy of consideration.  The ancillary benefits to cost will be discussed in a later chapter.

wpe5.jpg (1175 bytes)


Who Should Attend?

wpe5.jpg (1175 bytes)


Workshop Outline:

The two-day course has the following of modules: 

1.      Introduction

·        What are Inspections?

·        Some common concerns with Inspections

2.      Use of Inspections

·        Business reasons for Inspections

·        History of Inspections

·        Relationship to SEI 's SW- CMM®

3.      Inspection Method

·        Inspection activities

·        Selecting what to Inspect

·        Readiness criteria

·        Resources required

·        Inspection effectiveness

·        Effectiveness versus efficiency

·        Generic Reading rules

4.      The Moderator role

·        Guidelines for selecting moderators

·        Roles of Inspection team members

·        Behavior at Inspections

·        Use of Inspection data

·        Checklists

5.      Management’s Role

6.      Applying Inspections to Requirements

·        What to consider when inspecting requirements documents

·        How to read requirements documents

·        Requirements Inspection exercise

7.      Applying Inspections to Design

·        What to consider when inspecting design documents

·        How to read  design documents

·        Design Inspection exercise

8.      Applying Inspections to Code

·        What to consider when inspecting code

·        How to read code

·        Code Inspection exercise

9.      Applying Inspections to Other Work Products

·        Other types of documents

·        Test plans and test cases

·        Other types of plans

·        Maintenance

10.  Alternatives to Inspections

·        Reviews

·        Walk-throughs

·        Other approaches

11.  Introduction to Optimizing Inspections

·        Moderators

·        Analysis and use of data

·        Examples of Inspection data analysis

·        Preparations lists

12.  Starting to Do Inspections

·        What to inspect

·        ETVX description of Peer Reviews in the SEI 's SW-CMM®

·        Inspections in ISO 9001  

·        What needs to be done to make Inspections successful in your organization?

·        Doing what makes sense

·        How to schedule "Just-in-time" Inspections

·        How to inspect fixes

·        How to measure for success

·        What prevents success?

wpe5.jpg (1175 bytes)


Student Materials:

Each student will receive a complete set of the slides used by the instructor.

Examples of checklists for many inspectable work products are provided.

For all courses taught after January 1, 2002, a copy of the book: 

High Quality, Low Cost Software Inspections by Ronald A. Radice.

wpe5.jpg (1175 bytes)


[Home][What's New][Products & Services][Contents][Feedback][Search]

Send mail to webmeister@stt.com with questions or comments about this web site.
Copyright © 2006 Software Technology Transition
Last modified: March 22, 2008