Quality metrics: A guide to measuring software quality

Quality metrics: A guide to measuring software quality

Learn about software quality metrics for Agile development, defect tracking, code coverage and the attributes of successful metrics programs.

Metrics have always been used to help guide managers with decisions about their organizations. However as technologies and methodologies have evolved, metrics must evolve as well. Defect tracking, for example, has traditionally been a metric used to measure software quality throughout the lifecycle. However, Agile methodologies suggest that pre-production defect tracking may, in fact, be detrimental to software teams. It can be difficult to determine which are the best for giving a true picture of software quality. This guide will provide insights for CIOs, senior managers and project managers in selecting the right set of metrics to effectively and efficiently manage their software development organizations.

Is defect tracking necessary? Who should decide which metrics are most useful? How can a team get the most value out of its quality metrics program? For answers to these questions, as well as a thorough explanation of code coverage and tips for Agile enterprises, check out the following tips, expert responses and interviews.

Table of contents:

Agile development & defect tracking tips

Agile organizations must decide on whether or not defect tracking is right for them. Read these tips for an examination of why some experts feel defect tracking is instrumental in assuring software quality; why some experts feel that defect tracking is not necessary, and can sometimes cause more harm than good; the pros and cons of using a DTS and alternatives used by Agile and lean teams; and metrics recommended for enterprise Agile. The last tip illustrates how Lean principles can aid in effective defect tracking.

Tips related to Agile and defect tracking

Expert insights into metrics on Agile teams

Read what Agile expert Lisa Crispin has to say about testing metrics on Agile teams. In true Agile form, she recommends much collaboration and decision-making amongst team members, which entails allowing the team decide which metrics will best keep them on track for delivering a high-quality application, giving examples of metrics used on high-performing teams. She also discusses metrics such as number of tests run and passed, code coverage and defect metrics, as well as the pros and cons of DTS. She offers advice to teams on how to best manage their bug-free development approach.

Expert insights

Code coverage metrics

Read the following two-part series to learn how to implement code coverage tools and how to use the information gathered for software quality enhancement. In the first part, software consultant Mike Kelly explains code coverage and gives a specific example of how code coverage was calculated on a small program using the tool rcov for Ruby. In the second part, he addresses the following question: Code coverage tools will tell you how much of your code has been executed when you run your tests, but what can we do with that information?

Code coverage tips

Measuring quality: Interviews & tips

Learn about the many factors to consider when implementing metrics programs and taking steps to improve software quality. In an interview with co-authors Capers Jones and Olivier Bonsignour, learn about their new book, The Economics of Software Quality. They describe “structural quality” vs. “functional quality.” Then, explore some of Jones’ and Bonsignour’s 121 software attributes ranked by quality value. Learn about changes in software development practices such as dispersed teams and defect tracking, and how these changes affect the way we measure software quality. In the last tip, Infosys leader Vasudeva Naidu explains this statement: “Most testing metrics are internally focused, and this is one of the primary reasons for these programs to fail.”

Interviews & tips on quality