论文标题
代码红色:代码质量的业务影响 - 39个专有生产代码库的定量研究
Code Red: The Business Impact of Code Quality -- A Quantitative Study of 39 Proprietary Production Codebases
论文作者
论文摘要
代码质量仍然是一个抽象概念,无法在业务层面上吸引。因此,软件公司将交易代码质量保持在市场上和新功能。据估计,由此产生的技术债务将浪费多达42%的开发商时间。同时,软件开发人员的全球短缺,这意味着开发人员的生产力是软件业务的关键。我们的整体任务是使代码质量成为业务关注,而不仅仅是技术方面。我们的第一个目标是了解代码质量如何影响1)报告缺陷的数量,2)解决问题的时间以及3)按时解决问题的可预测性。我们根据源代码分析,版本控制挖掘和jira发出信息的组合,使用代码工具分析了来自各个域的39个专有生产代码库。通过分析30,737个文件中的活动,我们发现低质量代码包含的缺陷是高质量代码的15倍。此外,在低质量代码中解决问题平均需要花费124%的开发时间。最后,我们报告了低质量代码中的问题决议涉及更高的不确定性表现为最大周期时间的长达9倍。这项研究提供了证据,表明不能将代码质量视为技术问题。缺陷少15倍,是开发速度的两倍,并且可以预见的问题解决时间,因此高质量代码的业务优势应该明确。
Code quality remains an abstract concept that fails to get traction at the business level. Consequently, software companies keep trading code quality for time-to-market and new features. The resulting technical debt is estimated to waste up to 42% of developers' time. At the same time, there is a global shortage of software developers, meaning that developer productivity is key to software businesses. Our overall mission is to make code quality a business concern, not just a technical aspect. Our first goal is to understand how code quality impacts 1) the number of reported defects, 2) the time to resolve issues, and 3) the predictability of resolving issues on time. We analyze 39 proprietary production codebases from a variety of domains using the CodeScene tool based on a combination of source code analysis, version-control mining, and issue information from Jira. By analyzing activity in 30,737 files, we find that low quality code contains 15 times more defects than high quality code. Furthermore, resolving issues in low quality code takes on average 124% more time in development. Finally, we report that issue resolutions in low quality code involve higher uncertainty manifested as 9 times longer maximum cycle times. This study provides evidence that code quality cannot be dismissed as a technical concern. With 15 times fewer defects, twice the development speed, and substantially more predictable issue resolution times, the business advantage of high quality code should be unmistakably clear.