Systematic literature review on agile practices in global software development

Abstract Context Developing software in distributed development environments exhibits coordination, control and communication challenges. Agile practices, which demand frequent communication and self-organization between remote sites, are increasingly found in global software development (GSD) to mitigate said challenges. Objective We aim to provide detailed insight into what is reported on the successful application of agile practices in GSD from 1999 to 2016 and also identify the most frequently applied agile practices and reported distribution scenarios. We further strive to uncover research opportunities and gaps in the field of agile GSD. Method We build our systematic literature review on top of a previous review, which investigated studies published between 1999 and 2009, and extend the review by years 2010–2016, for which we conduct both a quantitative and a qualitative analysis. Results Our results show that the majority of the cases studied is global and involves complex distribution scenarios with Scrum or combined Scrum/Extreme Programming being the most used agile methods. Key results include that in contrast to 1999–2009, where four Extreme Programming practices were among the ten most frequently used agile practices, in 2010–2016 Scrum is in the center of agile GSD implementations with eight Scrum-based practices in the top ten agile practices used in GSD. Conclusion Agile GSD is a maturing research field with higher quality contributions and a greater variety of publication types and methods from 2010 to 2016 than before from 1999 to 2009. However, researchers need to report full empirical contextual details of their studied cases in order to improve the generalizability of results and allow the future creation of stronger frameworks to drive the implementation of agile practices in GSD.

[1]  Bikram Sengupta,et al.  A research agenda for distributed software development , 2006, ICSE.

[2]  Kieran Conboy,et al.  Agility from First Principles: Reconstructing the Concept of Agility in Information Systems Development , 2009, Inf. Syst. Res..

[3]  Claes Wohlin,et al.  An empirically based terminology and taxonomy for global software engineering , 2014, Empirical Software Engineering.

[4]  K. Subramanian,et al.  Leveraging Resources in Global Software Development , 2001, IEEE Softw..

[5]  Tayana Conte,et al.  Systematic Literature Reviews in Distributed Software Development: A Tertiary Study , 2012, 2012 IEEE Seventh International Conference on Global Software Engineering.

[6]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[7]  Pär J. Ågerfalk,et al.  Benefits of global software development: exploring the unexplored , 2009 .

[8]  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).

[9]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[10]  Darja Šmite,et al.  Agility Across Time and Space, Implementing Agile Methods in Global Software Projects , 2010, Agility Across Time and Space.

[11]  Dinesh Batra,et al.  Modified agile practices for outsourced software projects , 2009, CACM.

[12]  James D. Herbsleb,et al.  Guest Editors' Introduction: Global Software Development , 2001, IEEE Softw..

[13]  Hye-Young Paik,et al.  Using Scrum in Global Software Development: A Systematic Literature Review , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[14]  Geir Kjetil Hanssen,et al.  Signs of Agile Trends in Global Software Engineering Research: A Tertiary Study , 2011, 2011 IEEE Sixth International Conference on Global Software Engineering Workshop.

[15]  Steffan Surdek,et al.  A Practical Guide to Distributed Scrum , 2010 .

[16]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[17]  Roel Wieringa,et al.  Requirements engineering paper classification and evaluation criteria: a proposal and a discussion , 2005, Requirements Engineering.

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

[19]  Pearl Brereton,et al.  Systematic literature reviews in global software development: A tertiary study , 2012, EASE.

[20]  Casper Lassenius,et al.  Using Scrum in Distributed Agile Development: A Multiple Case Study , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[21]  Mario Piattini,et al.  Challenges and Improvements in Distributed Software Development: A Systematic Review , 2009, Adv. Softw. Eng..

[22]  T.C. Lethbridge,et al.  Guide to the Software Engineering Body of Knowledge (SWEBOK) and the Software Engineering Education Knowledge (SEEK) - a preliminary mapping , 2001, 10th International Workshop on Software Technology and Engineering Practice.

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

[24]  Stephen G. MacDonell,et al.  Research in Global Software Engineering: A Systematic Snapshot , 2013, ENASE.

[25]  Asif Gill,et al.  Empirical studies of geographically distributed agile development communication challenges: A systematic review , 2016, Inf. Manag..