It is a conundrum that agile projects can succeed 'without requirements' when weak requirements engineering is a known cause for project failures. While Agile development projects often manage well without extensive requirements documentation, test cases are commonly used as requirements. We have investigated this agile practice at three companies in order to understand how test cases can fill the role of requirements. We performed a case study based on twelve interviews performed in a previous study. The findings include a range of benefits and challenges in using test cases for eliciting, validating, verifying, tracing and managing requirements. In addition, we identified three scenarios for applying the practice, namely as a mature practice, as a de facto practice and as part of an agile transition. The findings provide insights into how the role of requirements may be met in agile development including challenges to consider.
翻译:敏捷项目“在没有需求的情况下”能够成功,而薄弱的需求工程却是项目失败的已知原因,这一矛盾令人困惑。虽然敏捷开发项目通常无需大量需求文档即可良好运作,但测试用例常被用作需求的替代。我们调查了三家公司的这一敏捷实践,以理解测试用例如何承担需求角色。基于先前研究中的十二次访谈,我们开展了案例研究。研究发现包括使用测试用例来获取、验证、确认、追踪和管理需求的一系列优势和挑战。此外,我们识别了采用该实践的三种场景:作为成熟实践、作为事实标准实践以及作为敏捷转型的一部分。这些发现揭示了在敏捷开发中需求角色如何被满足,包括需考虑的相关挑战。