The development of large, software-intensive systems is a complex undertaking that we generally tackle by a divide and conquer strategy. Companies thereby face the challenge of coordinating individual aspects of software development, in particular between requirements engineering (RE) and software testing (ST). A lack of REST alignment can not only lead to wasted effort but also to defective software. However, before a company can improve the mechanisms of coordination they need to be understood first. With REST-bench we aim at providing an assessment tool that illustrates the coordination in software development projects and identify concrete improvement opportunities. We have developed REST-bench on the sound fundamentals of a taxonomy on REST alignment methods and validated the method in five case studies. Following the principles of technical action research, we collaborated with five companies, applying REST-bench and iteratively improving the method based on the lessons we learned. We applied REST-bench both in Agile and plan-driven environments, in projects lasting from weeks to years, and staffed as large as 1000 employees. The improvement opportunities we identified and the feedback we received indicate that the assessment was effective and efficient. Furthermore, participants confirmed that their understanding on the coordination between RE and ST improved.
翻译:大型软件密集型系统的开发是一项复杂的工作,我们通常采用分而治之的策略来应对。企业因此面临协调软件开发各个方面的挑战,特别是需求工程(RE)与软件测试(ST)之间的协调。RE-ST对齐不足不仅可能导致资源浪费,还可能产生有缺陷的软件。然而,企业在改进协调机制之前,首先需要理解这些机制。通过REST-bench,我们旨在提供一种评估工具,用以展示软件开发项目中的协调情况,并识别具体的改进机会。我们基于RE-ST对齐方法的分类学扎实基础,开发了REST-bench,并通过五项案例研究验证了该方法。遵循技术行动研究的原则,我们与五家公司合作,应用REST-bench并根据经验教训迭代改进该方法。我们在敏捷环境和计划驱动环境中都应用了REST-bench,项目持续时间从数周到数年,团队规模高达1000名员工。我们识别的改进机会以及收到的反馈表明,该评估方法既有效又高效。此外,参与者确认,他们对需求工程与软件测试之间协调的理解得到了提升。