What Improves Developer Productivity at Google? Code Quality
Abstract: Understanding what affects software developer productivity can help organizations choose wise investments in their technical and social environment. But the research literature either focuses on what correlates with developer productivity in ecologically valid settings or focuses on what causes developer productivity in highly constrained settings. In this paper, we bridge the gap by…
Google's software developers have provided insights into the factors that influence their own productivity. Through two analyses, researchers have identified key elements that have a direct impact on individual developer output.
The first analysis examined a comprehensive panel of 39 factors, revealing a causal relationship between code quality, technical debt, infrastructure tools and support, team communication, clearly defined goals and priorities, and organizational change and process, and self-reported developer productivity. These findings suggest that a focus on code quality, as well as managing technical debt, providing efficient infrastructure support, encouraging effective team communication, aligning team goals, and implementing smooth organizational processes, all contribute to higher perceived productivity.
To further solidify the causal link between code quality and developer productivity, the second analysis employed a lagged panel analysis. This approach strengthened the evidence by demonstrating that an increase in perceived code quality tends to be followed by an increase in perceived developer productivity. However, the data did not show the reverse pattern, where higher productivity leads to improved code quality.
This pattern provides the strongest evidence yet that code quality directly affects individual developer productivity at Google.
In conclusion, the research indicates that by prioritizing code quality, addressing technical debt, enhancing infrastructure tools, fostering clear team communication, aligning goals, and managing organizational processes, organizations can create an environment that significantly boosts the productivity of their software developers.
Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.