Requirements Engineering Challenges in Large-Scale Agile System Development
Paper in proceedings, 2017
Agile methods have proven their value to accelerate delivery of high quality software products and services to customers. End-users have become used to regular updates that fix bugs and provide new features and for software products, short time-to-market has become an important business driver. In order to remain competitive, more and more companies imple- ment agile methods and their practices also for software-intense, large products, such as cars, telecommunication infrastructure, and embedded systems. Development of such system usually relies on plan-driven, stage-gate processes and is subject to safety and regulative concerns. Consequently, requirements engineering involves upfront and detailed analysis, which can be at odds with agile (software) development. In this paper, we present results from a multiple case study with two car manufacturers, a telecommunications company, and a technology company that are on the journey to introduce organization wide continuous integration and continuous delivery to customers. Based on 20 qualitative interviews, 5 focus groups, and 2 cross-company workshops, we discuss possible scopes of agile methods within system development, the consequences this has on the role of requirements, and the challenges that arise from the interplay of requirements engineering and agile methods in large-scale system development. These relate in particular to communicating and managing knowledge about a) customer value and b) the system under development. We argue that better alignment of a holistic requirements model with agile development practices promises rich gains in development speed, flexibility, and overall quality of software and systems.