一句话:通过对 Google 开发者的面板数据分析,发现代码质量等因素与开发者生产力存在因果联系,且代码质量提升先于生产力提升。
论文关注哪些因素真正影响软件开发者的生产力。已有研究要么在生态效度较高的真实环境中只揭示相关性,要么在高度受限环境中讨论因果,二者之间存在缺口。作者以 Google 开发者为对象开展两项分析:第一项使用包含 39 个生产力因素的面板数据,发现代码质量、技术债务、基础设施工具与支持、团队沟通、目标与优先级、组织变革与流程均与自报开发者生产力存在因果联系;第二项使用滞后面板分析强化因果推断。结果表明,感知代码质量的提升倾向于先于感知开发者生产力的提升,但反向关系不成立,这为“代码质量影响个体开发者生产力”提供了迄今最强的证据。
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 studying software developers at Google through two analyses. In the first analysis, we use panel data with 39 productivity factors, finding that code quality, technical debt, infrastructure tools and support, team communication, goals and priorities, and organizational change and process are all causally linked to self-reported developer productivity. In the second analysis, we use a lagged panel analysis to strengthen our causal claims. We find that increases in perceived code quality tend to be followed by increased perceived developer productivity, but not vice versa, providing the strongest evidence to date that code quality affects individual developer productivity.
@inproceedings{paperbot7047,
title = {What improves developer productivity at google? code quality},
author = {Lan Cheng and Emerson Murphy-Hill and Mark Canning and Ciera Jaspan and Collin Green and Andrea Knight and Nan Zhang and Elizabeth Kammer},
booktitle = {FSE},
year = {2022},
doi = {10.1145/3540250.3558940}
}