“If we wish to count lines of code, we should not regard them as „lines produced“ but as „lines spent.“ – Edsger Dijkstra – Dutch Mathematician and Computer Scientist
Despite the vacation season, there has recently been some brouhaha about an article published by McKinsey’s Technology, Media, and Communications Practice claiming that software developer productivity can be measured.
As a former manager and founder and having run product organizations and startups, I agree with McKinsey: The ability to reliably measure, compare, and predict developer productivity would help to focus investments, drive value, and assess and manage a talent pool.
As a consultant, I doubt the broad claim and, in particular, the ability to abstract developer productivity into comparable, dashboard-worthy data.
Undoubtedly, there has been a lot of progress in understanding what drives or inhibits the productivity of software teams. Spotify’s Squad Health Check, DORA, SPACE, DVI, … we have a much better understanding today of what influences developer productivity, particularly in the context of teams.
But let’s remind ourselves that developing software is a complex task that usually occurs in a complex environment. It’s highly context-dependent, dynamic, and driven by various interconnected factors. As such, software teams display emergent properties that make it hard to analyze individual behavior.
We have conducted trials on aspects of the frameworks mentioned above over time. Some of them help identify and deal with problems in particular situations. However, I would advise against using them to evaluate a development organization in its entirety.
Timely, renowned strategist Roger Martin published a post on performance management transparency this week, which concludes: „Think of any system [of measurements] as a prototype that you will improve as you use it and assess its contribution to your performance. Be fully transparent with your assessments of performance. Don’t hide your qualitative judgments.“
Software development productivity matters. AI (think Copilot, Codeium, Code Whisperer, …) adds new opportunities and challenges every day. We should try to understand why some teams and even individuals appear to be more productive than others and learn from them. The frameworks mentioned above provide a starting point, and the McKinsey article offers a useful categorization of their elements.
Reading the article and its most thorough critique by Kent Beck and Gergely Orosz is, therefore, worth its while.
Yes, you can measure software developer productivity
The McKinsey article at the heart of the dispute.
Have a great start to the week,