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.

[1]  V. Braun,et al.  Using thematic analysis in psychology , 2006 .

[2]  James Noble,et al.  No name: just notes on software reuse , 2003, OOPSLA '03.

[3]  Peng Xu,et al.  Can distributed software development be agile? , 2006, CACM.

[4]  Claes Wohlin,et al.  Empirical Research Methods in Web and Software Engineering , 2006, Web Engineering.

[5]  Rick Mugridge Managing Agile Project Requirements with Storytest-Driven Development , 2008, IEEE Software.

[6]  Casper Lassenius,et al.  Distributed Agile Development: Using Scrum in a Large Project , 2008, ICGSE 2008.

[7]  Sonia Thakur,et al.  FDRD: Feature driven reuse development process model , 2014, 2014 IEEE International Conference on Advanced Communications, Control and Computing Technologies.

[8]  Ricardo Valerdi,et al.  Considerations for successful reuse in systems engineering , 2008 .

[9]  Shari Lawrence Pfleeger,et al.  Preliminary Guidelines for Empirical Research in Software Engineering , 2002, IEEE Trans. Software Eng..

[10]  Jeff Sutherland,et al.  Distributed Scrum: Agile Project Management with Outsourced Development Teams , 2007, 2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07).

[11]  John W. Creswell,et al.  Research Design: Qualitative, Quantitative, and Mixed Methods Approaches , 2010 .

[12]  Parastoo Mohagheghi,et al.  Impacts of Software Reuse and Incremental Development on the Quality of Large Systems , 2004 .

[13]  Inderveer Chana,et al.  Enabling Reusability in Agile Software Development , 2012, ArXiv.

[14]  Torgeir Dingsøyr,et al.  A decade of agile methodologies: Towards explaining agile software development , 2012, J. Syst. Softw..

[15]  B. Nicholson,et al.  Global IT Outsourcing: Software Development across Borders , 2003 .

[16]  Helen Sharp,et al.  Motivation in Software Engineering: A systematic literature review , 2008, Inf. Softw. Technol..

[17]  D. Turner Qualitative Interview Design: A Practical Guide for Novice Investigators , 2010 .

[18]  Daniela Cruzes,et al.  Research synthesis in software engineering: A tertiary study , 2011, Inf. Softw. Technol..

[19]  Torgeir Dingsøyr,et al.  Knowledge management in software engineering: A systematic review of studied concepts, findings and research methods used , 2008, Inf. Softw. Technol..

[20]  Angappa Gunasekaran,et al.  AGILE MANUFACTURING: ENABLERS AND AN IMPLEMENTATION FRAMEWORK , 1998 .

[21]  Bente Anda,et al.  Experiences from conducting semi-structured interviews in empirical software engineering research , 2005, 11th IEEE International Software Metrics Symposium (METRICS'05).

[22]  Alistair Cockburn,et al.  Agile Software Development: The Business of Innovation , 2001, Computer.

[23]  Nasib S. Gill,et al.  Reusability issues in component-based development , 2003, SOEN.

[24]  Tore Dybå,et al.  A Preliminary Roadmap for Empirical Research on Agile Software Development , 2008, Agile 2008 Conference.

[25]  Daniela Cruzes,et al.  Recommended Steps for Thematic Synthesis in Software Engineering , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[26]  Per Runeson,et al.  Software product line testing - A systematic mapping study , 2011, Inf. Softw. Technol..

[27]  Johnny Saldaña,et al.  The Coding Manual for Qualitative Researchers , 2009 .

[28]  C. Robson,et al.  Real World Research: A Resource for Social Scientists and Practitioner-Researchers , 1993 .

[29]  U. Flick An Introduction to Qualitative Research , 1998 .

[30]  Carolyn B. Seaman,et al.  Qualitative Methods in Empirical Studies of Software Engineering , 1999, IEEE Trans. Software Eng..

[31]  Jeff Sutherland,et al.  Manifesto for Agile Software Development , 2013 .

[32]  Tore Dybå,et al.  Strength of evidence in systematic reviews in software engineering , 2008, ESEM '08.

[33]  T. Hameed,et al.  Agile methods handling offshore software development issues , 2004, 8th International Multitopic Conference, 2004. Proceedings of INMIC 2004..

[34]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[35]  Torgeir Dingsøyr,et al.  A Survey of Perceptions on Knowledge Management Schools in Agile and Traditional Software Development Environments , 2009, XP.