Practices and Challenges of Managing Requirements Interdependencies in Agile Software Development: A Survey
Indira Nurdiani, Ronald Jabangwe, Kai Petersen · 2016
Context: Agile software development is popular among software startups. Managing requirements interdependencies in Agile software development is a relatively unexplored topic. If requirements interdependencies are neglected, it can cause unexpected cost increase and this can be detrimental to startups given the limited resources that they have. Objective: The objectives of the study is to explore and identify practices and challenges associated with managing requirements interdependencies in Agile software development. Method: We employed a web-based survey as a data collection approach. To analyse the data we used open coding as the data collected was primarily qualitative. Results: The results shows that 50% of respondents consider requirements interdependencies. Agile practices such as Kan-ban/Scrum board, retrospectives, and iteration planning, were used by the respondents in the context of managing requirements interdependencies. A number of tools like Jira and Git were also identified in the survey. Challenges identified were inefficient processes, incremental modification rate, and dependencies to other services. Conclusions: Requirements interdependencies should be managed early in the startup lifecycle because it can be expensive and complex as the software evolves and grows. Agile software development still lacks support and guidelines for practitioners to manage requirements interdependencies as part of agile methodologies. The findings in this study can help startups with, for example, identifying useful practices and understanding the challenges they will face. However, more research needs to be done to support software startups to maintain an efficient process in managing requirements interdependencies despite their growth.