Is developer productivity measurable?
Developer productivity metrics don’t have to be tools for control. They can be tools that help you empower your team.
In this 2021 research article on developer productivity, authors from GitHub, the University of Victoria, and Microsoft Research write about how “productivity cannot be reduced to a single dimension.” Goodhart’s law is real, and metrics can be gamed. Make lines of code your measure of developer productivity, and soon code duplication will be rampant. To create a more accurate view of developer productivity, they propose five dimensions to consider in a set of developer productivity metrics — the SPACE framework.
Satisfaction and Well-being
Performance
Activity
Communication and Collaboration
Efficiency and flow
The article shares details about each dimension.
Satisfaction and Well-being
How fulfilled, happy, and healthy developers are. Typically measured with employee satisfaction surveys, like the Spotify Health Check Survey.
Performance
An outcome of a process. Service health, change failure rate, customer satisfaction/adoption.
Activity
The count of actions or outputs. Number of commits or pull requests, deployment frequency, number of incidents.
Communication and Collaboration
How people talk and work together. Quality of the documentation, how easy it is to learn about a service you are unfamiliar with, quality of code reviews, and onboarding time.
Efficiency and flow
Doing work with minimal delays or interruptions. Number of handoffs in a process, perceived ability to stay in flow, frequency of interruptions.
The authors also include a helpful table with example metrics broken down by individual, team, and system levels.
Now what?
Developer productivity metrics don’t have to be tools for control. They can be tools that help you empower your team. Seeing that time-to-code-reviewed increased is an opportunity to offer help, improve code linting, or rethink your reviewer assignment process - it doesn’t have to result in a bad mark on a performance review five months from now.
One of my favorite aspects of the SPACE framework is that it looks at productivity from a more complete perspective. The dimensions balance themselves out, if you over-index on Efficiency and flow it may result in poor Communication and Collaboration, so you are forced to find healthy and sustainable levels for both. Using this framework can help you communicate that your goal is not to control the team but to create space for productivity (pun intended, sorry).
Developers also care about productivity, as the article puts it “developer productivity is necessary not just to improve engineering outcomes, but also to ensure the well-being and satisfaction of developers, as productivity and satisfaction are intricately connected.”
If you plan to implement this framework, avoid going to a cave with other leaders and cooking up a complete plan without the participation of developers. If this is to be a tool for empowering devs, involve them early and have them as co-owners of the metrics.
Thank you for reading and a huge thank you to the premium subscribers who support this newsletter. If you don’t, keep in mind that you can likely expense it as an educational resource and please consider subscribing to the premium edition. It costs you the equivalent of buying me a beer per month - yes, a nice beer.
Thiago