Historically, leaders have attempted to measure developer productivity with output metrics. They used metrics extracted from git repositories, such as the number of commits, number of active days, or number of PRs to try to understand if a team was working efficiently.
But these types of output metrics capture only a thin slice of developers’ work. Today, there are better ways to measure developer productivity.
In this comprehensive guide, we dive into how to measure developer productivity and how it connects to your developer experience. We’ll explore why measuring developer productivity matters and how tracking these metrics can impact your business.
There’s no universally accepted definition of developer productivity.
However, we can understand developer productivity by breaking it into its core components.
According to the team atGoogle, the three dimensions of developer productivity are speed, ease, and quality.
Because there is no standard for developer productivity, each industry and company has unique expectations. Typically, teams should expect to benchmark and improve each dimension over time.
Some of the top ways developer productivity impacts your business are:
Bringing new products and features to market quickly provides a competitive edge;r an engineering organization’s ability to produce quickly and effectively directly impacts a company’s ability to stay ahead of its competitors. Moreover, engineering’s ability to deliver can help organizations move more quickly into new markets.
Streamlined processes, efficient coding, and rapid deployment are essential developer productivity practices for responding to customer demands and market dynamics. A productive development team can create industry-leading solutions, adapt to trends, and outpace competitors, ultimately driving company success.
When a business can quickly address security vulnerabilities, patch software, and adapt to market shifts, it is better positioned to weather unexpected data breaches, each costing an average of$4.5 million.
Productive development teams that can quickly rectify issues, minimize downtime, and mitigate the risks associated with security breaches.
The 2019 State of DevOps report found that developers typically spend only 30-40% of their time on developing features, with significant time going toward administrative tasks and delays. Small improvements to the developer productivity can have a significant impact on engineering capacity. For example, saving two hours per week per developer across an organization of 200 engineers results in an estimated annual savings of $2,880,000, which is the equivalent of 10 full-time developers.
Inefficient tools and processes frustrate developers and result in their leaving, especially when problems are not improved. Studies show developer experience as the number one reason developers voluntarily leave their jobs, ranking above salary and benefits. With competition for top tech talent soaring, improving the developer experience is key to reducing turnover and curtailing the significant costs of hiring and lost capacity.
One of the most difficult challenges organizations face when trying to improve developer productivity is figuring out what to measure. Despite frameworks such as DORA and SPACE, organizations still lack clear insight into productivity as well as the impact of their investments.
Leaders can better understand, diagnose, and improve developer productivity when they take a holistic measurement approach. Specifically, leaders should measure the sources of waste in the system and the factors that we can empirically show have an impact on productivity, and additionally measure top-level KPIs (or north star metrics) to understand the connection between what they’re measuring and their overall objectives.
We recommend our customers to measure developer experience and productivity using the DX25, which is a framework for measuring the most important drivers of developer productivity. The model includes three components: the 25 drivers, three validated KPIs which correlate with business outcomes (below), and the business outcomes which developer productivity impacts.
Here’s what we recommend our customers measure as north-star KPIs
Rate of delivery is the speed based on developers’ perceptions of how fast their teams deliver software. Measuring this allows you to identify obstacles to releasing features, and bug fixes at a reasonable pace.
Ease of delivery captures how easy or difficult developers perceive it is to deliver software in their organization. By tracking ease of delivery, you can identify difficult, burdensome, and redundant processes.
Quality measures developers’ perceptions of the technical stability of the software they work on. Assessing quality allows you to find opportunities for improvement in your product.
Past approaches to measuring developer productivity centered around tracking the output of developers, but more leaders are realizing the drawbacks of using those types of metrics. A better approach is to focus on developer effectiveness, characterized by speed, quality, ease of delivery, and satisfaction.
This framing can guide leaders to report on metrics that show a more full picture of the state of engineering. It also provides teams focused on improving developer productivity with metrics to track the impact of their work.