5.6 Software Effort


5.4 Defect Removal Efficiency

Defect removal efficiency is the percentage of defects removed from software. It is the ratio of defects removed to defect escapes and defects injected. Defect removal efficiency is an indicator of how good or effective the software appraisal or review process has been. For example, defect removal efficiency is 70% if 70 out of every 100 defects are identified and removed. That is, they are removed by some form of appraisal activity. The Software Inspection Process and software testing are forms of appraisal activities.

Defect removal efficiency has a variety of useful purposes. It is an indicator of how effective quality management activities are on a phase-by-phase basis. Defect removal efficiency can indicate if there are problems in the quality management system that need correction. It can be used to manage quality throughout the software life cycle. Defect removal efficiency can be used as a measure to set process and product improvement goals. For instance, if the defect removal efficiency for testing is 30%, you may want to institute new people, processes, and tools to increase it to 40, 50, or even 80%. Defect removal efficiency is a method to analyze the effectiveness of individual processes, especially appraisal processes. It is one of the best methods to determine the effects of SPI. Figure 16 illustrates the formula for defect removal efficiency.

click to expand
Figure 16: Formula for Defect Removal Efficiency

How does one interpret and apply the formula for defect removal efficiency? Let's start by defining each of its terms. Defects removed is the number of software defects identified by a software appraisal activity. Examples of popular software appraisal activities include individual reviews, the Software Inspection Process, and testing. Automated static and dynamic analyses are even better forms of appraisal activities. Defects escaped is the number of defects that exist prior to the current time, that is, defects you inherit before you begin your work. If you are in the design phase, there may be preexisting analysis phase defects. If you are in the coding or testing phase, you may inherit preexisting analysis and design phase defects. Defects injected is the number of software defects committed in the current activity. For instance, if your task is to create the software architecture, then defects injected is the number of defects in your design. Let's say that you remove 90 defects in the design phase after inheriting 10 requirements defect escapes. Your defect removal efficiency is 90% if you inject 90 architecture defects in design.

We have kind of taken a time-independent point of view, which may be confusing. When is the best time to calculate defect removal efficiency? Defect removal efficiency is applied on a life-cycle-by-life-cycle basis, phase-by-phase basis, or appraisal-by-appraisal basis. Normally, defect removal efficiency is calculated on a phase-by-phase or activity-by-activity basis. This is done in order to evaluate the effectiveness of a phase or individual software process. Defect removal efficiency is a critical measure and key enabler for SPI and especially the ROI of SPI.




ROI of Software Process Improvement. Metrics for Project Managers and Software Engineers
ROI of Software Process Improvement: Metrics for Project Managers and Software Engineers
ISBN: 193215924X
EAN: 2147483647
Year: 2004
Pages: 145

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net