论文标题

在连续软件工程中缺乏对非功能要求的共同理解:偶然还是必不可少?

The Lack of Shared Understanding of Non-Functional Requirements in Continuous Software Engineering: Accidental or Essential?

论文作者

Werner, Colin, Li, Ze Shi, Ernst, Neil, Damian, Daniela

论文摘要

建立对需求的共同理解是确保下游软件活动高效和有效的关键。但是,在连续软件工程(CSE)中,一些缺乏共同的理解是一个快速反馈学习周期的预期,至关重要的一部分。同时,有一个关键的权衡取舍,避免成本(例如返工)来自共同理解中的意外差距。对于非功能要求(NFR),这种权衡对产品成功具有重要意义。在小型敏捷组织中,理解和管理NFR尤其困难。这些组织如何管理对CSE中NFR的共同理解。我们对三个小型组织进行了案例研究,以扩大CSE,以进一步理解和确定导致对NFR缺乏共同理解及其与返工的关系的因素。由于对NFR缺乏共同的了解,我们的深入分析将41个与NFR相关的软件任务确定为返工。在这41个任务中,有78%是由于可以避免的(意外)对NFR的共同理解。使用混合方法方法,我们确定了导致对NFR缺乏共同理解的因素,例如缺乏领域知识,变化的快速步伐和跨组织沟通问题。我们还确定了推荐的策略,以通过对此类组织中的需求知识的更有效管理来减轻缺乏共同的理解。最后,我们讨论了对需求,返工和CSE的共同理解之间的复杂关系。

Building shared understanding of requirements is key to ensuring downstream software activities are efficient and effective. However, in continuous software engineering (CSE) some lack of shared understanding is an expected, and essential, part of a rapid feedback learning cycle. At the same time, there is a key trade-off with avoidable costs, such as rework, that come from accidental gaps in shared understanding. This trade-off is even more challenging for non-functional requirements (NFRs), which have significant implications for product success. Comprehending and managing NFRs is especially difficult in small, agile organizations. How such organizations manage shared understanding of NFRs in CSE is understudied. We conducted a case study of three small organizations scaling up CSE to further understand and identify factors that contribute to lack of shared understanding of NFRs, and its relationship to rework. Our in-depth analysis identified 41 NFR-related software tasks as rework due to a lack of shared understanding of NFRs. Of these 41 tasks 78% were due to avoidable (accidental) lack of shared understanding of NFRs. Using a mixed-methods approach we identify factors that contribute to lack of shared understanding of NFRs, such as the lack of domain knowledge, rapid pace of change, and cross-organizational communication problems. We also identify recommended strategies to mitigate lack of shared understanding through more effective management of requirements knowledge in such organizations. We conclude by discussing the complex relationship between shared understanding of requirements, rework and, CSE.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源