T-Reqs: Tool Support for Managing Requirements in Large-Scale Agile System Development
Requirements engineering is crucial to support agile development of large systems with long lifetimes. Agile cross-functional teams must be aware of requirements at system level and able to efficiently propose updates to those requirements. We discuss requirements for tooling to manage requirements in large-scale agile system development and propose a working solution. We investigate challenges of large-scale agile system development, derive requirements towards a tool to support a subset of these challenges, and discuss how these are addressed in T-Reqs, a text-based requirements management solution based on the git version control system. In our industrial context, T-Reqs offered the best trade-off with respect to the requirements we establish and was most likely to be accepted by a broad base of agile teams. It supports proven solutions for many challenges, for example updating system requirements based on using gerrit to review changes proposed by agile teams. T-Reqs is currently in industrial use and while our experience is specific to one industrial case, it may be valuable in different contexts as well. Regardless, we hope our experience helps to trigger a dialogue on how the changing landscape of requirements engineering in relation to agile system and software development affects needs for tooling support.
READ FULL TEXT