Despite years of research for improving accuracy, software practitioners still face software estimation difficulties. Expert judgment has been the prevalent method used in industry, and researchers' focus on raising realism in estimates when using it seems not to be enough for the much-expected improvements. Instead of focusing on the estimation process's technicalities, we investigated the interaction of the establishment of commitments with customers and software estimation. By observing estimation sessions and interviewing software professionals from companies in varying contexts, we found that defensible estimates and padding of software estimates are crucial in converting estimates into commitments. Our findings show that software professionals use padding for three different reasons: contingency buffer, completing other tasks, or improving the overall quality of the product. The reasons to pad have a common theme: buying time to balance short- and long-term software development commitments, including the repayment of technical debt. Such a theme emerged from the human aspects of the interaction of estimation and the establishment of commitments: pressures and customers' conflicting short and long-term needs play silent and unrevealed roles in-between the technical activities. Therefore, our study contributes to untangling the underlying phenomena, showing how the practices used by software practitioners help to deal with the human and social context in which estimation is embedded.
翻译:尽管进行了多年的提高准确性的研究,但软件从业人员仍面临软件估算方面的困难。专家的判断是工业界普遍使用的方法,研究人员在使用估算时注重提高现实性,这似乎不足以实现预期的改进。我们不是重点研究估算过程的技术细节,而是调查确立承诺与客户和软件估算之间的相互作用。通过观察估算会议和在不同情况下与公司软件专业人员面谈,我们发现,在将估算值转换为承诺方面,可辩驳的估计值和软件估算值的倾斜至关重要。我们的调查结果表明,软件专业人员出于三种不同的原因使用定位:应急缓冲、完成其他任务或提高产品的总体质量。 铺垫的理由有一个共同的主题:争取时间来平衡短期和长期软件开发承诺,包括偿还技术债务。这个主题产生于估算与设定承诺的相互作用的人类方面:压力和客户的短期和长期需求相互冲突,在技术活动之间扮演了沉默和没有反响的作用。因此,我们的研究有助于消除基本现象,表明软件从业人员所采用的做法是如何帮助处理人类和社会问题的。