Software quality metrics developers should track (and how to do it)

Want to improve software quality? These metrics will help. Discover measurement techniques and best practice tips to help you drive continuous improvement.

Lauren Craigie April 8, 2024

It's been a decade since Marc Andreessen declared that software is eating the world, and it is still hungry. Customers expect software solutions for every need, driving digital transformation in every analogue industry. Software quality is now fundamental to company reputation, directly affecting customer satisfaction, brand and overall business success.

Poor quality software, such as the privacy error that resulted in Cambridge Analytica accessing data on tens of millions of Facebook users, can cause massive brand damage: in this case even potentially damaging perceptions of democracy. Building high-quality software requires software quality metrics: KPIs that maintain high standards across the codebase. This article will discuss how these metrics can define and measure software quality, and look at the best practice approach to continually tracking this data.

What are software quality metrics?

Software quality metrics are data points used to systematically gauge the quality of software products. These are a specific subset of software metrics that assess factors such as reliability, performance, usability, and maintainability. Given the range of important engineering metrics, it’s worth noting that quality metrics are distinct from metrics focused on outputs (e.g. DORA), experience (e.g. DevEx), code quality or reliability.

Software quality metrics specifically measure the quality of the products, processes and projects your programmers are working on to assess overall software health. They thread the needle between user experience and the satisfaction of the development team, always with the end user in mind.

18 software quality metrics to track

When assessing these metrics it is worth considering what Fowler refers to as the Tradable Quality Hypothesis, the theory that it is possible to sacrifice quality for speed and somehow gain from the tradeoff. At a stretch, this may be true for brand new products in their first weeks, but the most common development processes involve working on a live product with an existing code base. Poor quality lines of code increase the cost of change for future development, which reduces speed in the medium term. When factoring in the value of quality, it is better to consider Sustainable Velocity than short-term speed.

There are dozens of metrics that can be used to track quality in software development, with new ones added every year. The below list is not exhaustive, but rather a starting point for those interested in quality assurance across the Software Development Life Cycle.

Crash Rate

Defect Density

System Availability

Cyclomatic Complexity

User Interface (UI) Bugs

Code Churn

Test Automation Coverage

Static Code Analysis Defects

Code Reviews

Mean Time to Remediate a Defect (MTTR)

Code Maintainability

Number of Open Issues

Release Schedule Adherence

Deployment Frequency

Customer Satisfaction Score (CSAT)

Mean Time Between Failures (MTBF)

Mean Time to Detect (MTTD)

Mean Time to Remediate a Vulnerability

Why are software quality metrics important?

Quite simply, software quality metrics are important because software quality is important. Software stands up the central offering for most companies, and poor quality software eats up resources and resolve. Using metrics well gives you the data needed to drive high standards.

This data is crucial for ensuring product reliability and user satisfaction on one hand and developer satisfaction on the other. These are the two sides to supply and demand that many companies live and die by. Identifying and tracking the right metrics can improve productivity, satisfaction, and outcomes for developers, while using the wrong ones can kill the developer experience and frustrate end users.

Improved Customer Satisfaction

By ensuring that software meets high-quality standards, organizations can guarantee users improved functionality, fewer issues and a more seamless interaction with the product. This improves customer satisfaction.

Enhanced Brand Reputation

High-quality software improves product metrics, as satisfied customers are more likely to recommend your products, reinforcing your position as a reliable and trusted provider.

Faster Time to Market

Effective measurement of software quality can streamline software engineering, enabling quicker identification and resolution of issues. This in turn leads to a faster time to market for new features and products while enhancing the quality of the software.

Increased Productivity

Implementing software quality metrics can increase productivity by providing clear benchmarks and goals, improving focus, and reducing time spent on fixing post-release defects.

Improved Risk Management

Measuring software quality helps in improved risk management by identifying potential issues and vulnerabilities early, allowing teams to mitigate risks before they become critical problems.

Better Decision-Making

Quality metrics provide valuable data that support better decision-making by offering insights into the performance and reliability of software, enabling leaders to make informed choices about resource allocation and strategic direction.

Reduced Technical Debt

Focusing on software quality metrics can significantly reduce technical debt by encouraging best practices in the software development process, ensuring that software projects remain maintainable and scalable over time.

Best practices for measuring and improving software quality

Measuring aspects of software quality through quantitative data is just the first step to optimizing your software systems. The broader goal is to drive coding standards across the organization through continuous improvement. Optimal software development and developer experience is always a process rather than a destination, and there are challenges and considerations to bear in mind.

It’s important to use metrics and methodologies that correlate to your company’s needs and desired outcomes. You should work with team members to find process metrics that offer signal in the development environment. Once your primary metrics are selected, you need to apply a testing process and ensure that your data gathering and analysis is up to scratch.

Once you are confident that your data gathering and analysis are delivering, you need to integrate these insights into development workflows. This requires buy-in across the engineering team, as well as a culture that values and rewards software quality to be effective.

To help get this right we recommend that you:

How can Cortex help?

Internal developer portals can be the North Star for software quality, and the Cortex IDP is best in class for this functionality. These allow teams to track and analyze software quality metrics, driving programmer accountability and enabling a culture of continuous improvement. By using an IDP effectively you will also be able to track and improve metrics related to DevEx, productivity and DORA metrics, which can improve also improve software quality.

Cortex enables you to use integrations and plug-ins to draw data from across the enterprise, offering full scalability when assessing and improving software quality. Adobe, Grammarly, TripAdvisor and many more companies apply the Cortex IDP to tracking and analyzing software quality metrics.

The Cortex Eng Intelligence product is particularly relevant as it draws data from across the SDLC, enabling full visibility into software quality. This allows you to draw decisive insights from every stage of the engineering journey.

Cortex can also help you to build quality standards into continuous improvement through the use of custom scorecards that can track progress for relevant metrics. This provides live data to report on this crucial target.

Finally, our IDP helps build a culture of high quality software through communication. The developer homepage uses Slack and Teams notifications to demonstrate priorities, keeping code quality front of mind for so the development team at all times.

‍Book a demo today to learn more about how Cortex can help you identify and implement software quality metrics!