Challenges and Mitigation Strategies in Reusing Requirements in Large-Scale Distributed Agile Software Development: A Survey Result
Requirements re-usability in a distributed software development project is applied to increase system productivity, reliability, quality, decreasing system development sprint and maintaining consistency between two identical systems, which later help to reduce both project time and cost. Nowadays, most of the projects are driven by market so that the intention of this research is to identify the challenges faced by practitioners in requirements re-usability in distributed large-scale agile projects and to find out how practitioners apply the concept of re-usability to mitigating those challenges in distributed large-scale agile software development from requirement engineering or re-usability perspective. In this study, a survey is used to identify requirement re-usability challenges and mitigation approach from practitioners. From a series of semi-structured interview, we have identified 14 challenges and 10 mitigation approaches into three categories, such as communication, coordination, and control from the global software engineering perspective. The findings from this research will help industry people to make a decision in their industry oriented activities.