In this paper, we present the findings from a survey study to investigate how developers and managers define and trade-off developer productivity and software quality (two related lenses into software development). We found that developers and managers, as cohorts, are not well aligned in their views of what it means to be productive (developers think of productivity in terms of activity, while more managers think of productivity in terms of performance). We also found that developers are not accurate at predicting their managers' views of productivity. In terms of quality, we found that individual developers and managers have quite varied views of what quality means to them, but as cohorts they are closely aligned in their different views, with the majority in both groups defining quality in terms of robustness. Over half of the developers and managers reported that quality can be traded for higher productivity and why this trade-off can be justified, while one third consider quality as a necessary part of productivity that cannot be traded. We also present a new descriptive framework for quality, TRUCE, that we synthesize from the survey responses. We call for more discussion between developers and managers about what they each consider as important software quality attributes, and to have open debate about how software quality relates to developer productivity and what trade-offs should or should not be made.
翻译:在本文中,我们介绍了一项调查研究的结果,以调查开发商和管理人员如何界定和权衡开发商的生产率和软件质量(两个与软件开发有关的透镜)。我们发现,开发商和管理人员作为群体,对于生产意味着什么的看法并不完全一致(开发商和管理人员从活动角度考虑生产率,而更多的管理人员从业绩角度考虑生产率)。我们还发现,开发商在预测其管理人员对生产率的看法方面并不准确。在质量方面,我们发现,个体开发商和管理人员对于质量意味着什么有相当不同的看法,但作为他们各自观点紧密结合的群体,而这两个群体的大多数则从稳健的角度界定质量。一半以上的开发商和管理人员报告说,质量可以交易,提高生产率,为什么这种交易是合理的,而三分之一的开发商则认为质量是不能交易的生产力的一个必要部分。我们还提出了一个质量描述性框架,即TRUCE,我们从调查答复中总结了这个框架。我们呼吁开发商和管理人员之间更多地讨论他们各自认为什么是重要的软件质量属性,而不是对软件质量进行公开辩论。