HOW TO MEASURE AND DELIVER QUALITY
We all know that Quality of a product delivered is measure to its conformance to the customer requirements. In waterfall model, this conformance is measured at the end of every phase and in agile (scrum) methodology this measurement is performed at the end of every sprint and release. Is there any way to measure the quality of the deliverables on continuous basis rather than in step-by-step basis? With software processes maturing, such models are applied to various project execution types and domains. One of such model is Quality Model which is used extensive in software development process.
Defect Removal Efficiency
One of the parameter under Quality model is defect removal efficiency which takes into consideration the efficiency of the software review process and quantifies it so that it can be improved. Remember “what cannot be measured cannot be improved”.
So what exactly is Defect Removal Efficiency? Take an example that in a peer review, the reviewer has identified 100 defects but developer has fixed only 70 defects. What about the time invested in identifying those 30 “waste” defects? Is there a way to measure this “waste” and eliminate it from the software development cycle? Yes, indeed! But first it needs to be measured.
Formula
DRE = Defects removed/ (defects identified + defects escaped) * 100
With such a simple formula, a Manager can improve team productivity, increase quality of software, client satisfaction etc.
When to apply it
Extending the above example, let’s say once a deliverable is peer reviewed or internally tested and then sent to client for review or testing and client has identified 12 “User Acceptance defects” Out of these 12 defects, the team agreed to fix 9 defects.
Defects removed: 70
Defects identified: 100
Defects escaped: 9(these escaped from internal testing to UAT stage)
DRE = 70/ (100+9) * 100 = ~65%
What this number says
This number is used to measure the effectiveness of the review process. When this number is gathered on activity-by-activity basis, then it gives a fair sense to Manager on what is the quality of review or testing. This parameter measures the quality of the appraisal processes in a software development cycle.
This is an important parameter and along with other parameters like Defect Density, Productivity, development efforts, total lifecycle cost can help a manager to measure ROI of the software process.
As a thumb rule, using multiple metrics and aligning these to project goals helps in delivering more value to customer within same efforts.
I would love to hear from you, which software parameters do you measure in your organization?