Actionable Quality Metrics: The Missing Link to Improving Software Quality

Bill McCaffrey

July 06, 2016

Software projects typically fall into two categories: maintenance of legacy applications and development of new applications.  Naturally, each presents its own unique challenge. For example, legacy applications are often under-tested and overly complex, and understanding where to start is the biggest challenge to improving quality. With new development, the challenge is typically release readiness – the task is determining how much work has been done and how much remains to be done. 

In either case, the simple fact is that software quality and testing completeness are linked; you cannot have quality without complete testing. Real-time access to quantifiable software quality metrics gathered with powerful analytics tools can help to provide a complete view of risk, in real time, to enable companies to make more informed decisions about where to allocate limited test resources for better quality software and faster releases. 

There are many tools that can simply uncover “facts.” In order to take the next step, more detailed analysis is needed to help an organization take a specific action on that information, such as an easy to understand web-based dashboard of software code quality and testing completeness metrics that enables users to identify trends in a single codebase or compare metrics between multiple codebases. 

In the case of legacy applications, this type of detail can be used to identify hot spots in code bases by comparing key quality metrics against project averages. For new development, it can be used to visualize testing completeness, and for computing the amount of testing needed with testing completed to date.  Heat map graphs of key metrics can further allow users to identify overly complex or under-tested code sections. 

In general, software quality analytics allows users to: 

Review the state of the current testing infrastructure as a key starting point. 

Identify risk areas and gaps in testing with real-time quality metrics that provide intelligence data on tests run vs. tests needed, release readiness, risk areas, and resource allocation for risk assessment and hot spot identification.

Capture Technical Debt metrics via reports on the key components of technical debt such as code complexity, comment density, and testing completeness.

Visualize test case quality metrics with reports on the quantity and quality of test cases allowing users to identify tests without requirements, requirements without tests, and fragile tests that often break. 

When information is presented in a format such as customizable dashboards, it is easy to drill down into a specific area to learn more and take action, or to easily share information with all relevant parties to further maximize effectiveness. This helps organizations make more informed decisions about where to allocate limited test resources, while effectively providing the missing link to greatly improved software quality. 

Learn more about how you can collect actionable intelligence on your software testing by attending our upcoming webinar Webinar: Code Quality Metrics: The Missing Link to Improving Software Quality.