Log In to My ASQ



Log-In Help

Register with ASQ

Sign up for access to ASQ's free articles, case studies, and general information. For more access, join ASQ.






Magazines & Journals
Software Quality Professional

Printer Friendly
Issues
I Want To
Article Access Key
  • Public Article
  • Log-In to View

December 2003
Volume 6 • Number 1

Contents

VERIFICATION AND VALIDATION

Identifying Code-Inspection Improvements Using Statistical Black Belt Techniques

Jeff S. Holmes

INTRODUCTION

Peer reviews or inspections consist of techniques that utilize people to visually review software code. These techniques have proved very effective in removing defects from software. The removal of defects in the coding phase is significant because identifying defects and removing them prior to test is significantly cheaper. Peer reviews are only one tool that is used in preventing defects from escaping to the customer, but it is a very powerful tool that may be underutilized.

Industry sources identify that the expected numbers of defects in software are between 10 defects per thousand lines of source code (KLOC) and 100 defects/KLOC (Humphrey, 1995). Even using the conservative end of the range, a software team can expect to have 1000 defects for every 100,000 lines of code (LOC) written. Most of these defects must be removed before the software enters system test.

From January 2002 through April 2003, the firmware teams from Motorola Base Transceiver System Center of Excellence (BTS COE) in Fort Worth, Texas, performed 207 code inspections. These 207 code inspections were performed on 40,132 LOC, took more than 1428 staff hours, and removed 1345 defects. These inspection results indicate that the Fort Worth software defect density is at least 33.51 defects/KLOC. For every 100,000 LOC written, the Fort Worth software could have 3351 defects injected. These numbers do not include the defects caught by subsystem and system test, so it is a safe assumption to imply that the defect density is more than 33.51 defects/KLOC.

If the inspection effectiveness can be improved by 25 percent for the next 40,000 LOC developed by the Fort Worth teams, approximately 336 additional defects can be prevented from reaching the test teams and possibly the customer. There are various sources sighting the additional cost of removing defects in test versus code (McConnell, 1993). These sources claim that it can cost from four to hundreds of times more to remove defects in the test cycle rather than in code. Hypothetically, if each defect costs $100 to remove in code, the test cost could be $400 or greater per defect. Improving the inspection effectiveness by 25 percent could result in savings over $100,000 on the next 40,000 LOC developed by the Fort Worth team.

The need for effective defect removal has never been greater. Staff reductions and tight deadlines require software development teams to become more efficient in all aspects of their work. The 1400-plus hours of staff time spent in inspections represents a significant investment by the software development teams. This statistical analysis strives to examine the data on the inspections performed over this time in order to increase the effectiveness of code inspections.

This project seeks to answer the following questions about BTS COE Fort Worth code inspections.

  • What are the significant factors in increasing the effectiveness of code inspections?
  • How can the Fort Worth software teams increase their defect removal capabilities using inspections?

Using the extensive data set that exists on Fort Worth inspections, and applying the Six Sigma Black Belt techniques of statistical process control, advanced linear regression, and design of experiments, this document identifies the significant factors affecting an inspection’s effectiveness. Using these factors, the article reveals where the inspection process can be improved and the expected improvements in terms of increased defect detection and dollars saved.

Return to top