Context: Over the past few years, Global Software Development (GSD) has emerged as an evolving trend in the software industry. The reasons behind this evolution are globalization, economic benefits, time to market, organizational and strategic location, access to skilled labor and reduction of costs. But despite its benefits, GSD also has challenges associated with communication, coordination and control. The challenges are mainly due to temporal, geographical and socio-cultural distances. Due to flexibility, and emphasis on frequent communication in agile methods, researchers have shown interest in incorporating agile methods in GSD. Extreme Programming (XP) is one of the most widely known agile methodologies that values simplicity, communication, courage and feedback. In this research study, we have investigated the suitability of XP in GSD by exploring its benefits and challenges in the state of art and state of practice. Objectives: This study aims at investigating the benefits and challenges associated with the combination of XP and GSD both in the research literature and in practice. The study also explores practices or solutions adopted in order to address the challenges of XP-GSD combination. Moreover, this study compares challenges of XP-GSD combination with the traditional GSD challenges. Methods: This research study has been accomplished with the help of a systematic literature review (SLR) and an industrial survey. For the systematic review, the snowballing approach was applied, and an initial set of papers was selected from IEEE Xplore and Google Scholar. After selecting the initial set of papers, backward snowballing was conducted by searching the reference list of the selected articles. Then, forward snowballing was conducted by looking for the citations of the selected articles. After completing the systematic review, the industrial survey was conducted to complement the findings of the literature review. The data collected from both SLR and survey was analyzed both separately and collectively. Results: Through SLR, we have identified 21 benefits, 17 challenges, and 18 solutions to the identified challenges. The benefits and challenges have been classified according to communication, coordination and control in correspondence with temporal, socio-cultural and geographical distance. From the survey, we have identified 19 benefits, 20 challenges, and 17 solutions to the identified challenges. However, 13 benefits, 9 challenges, and 8 solutions were in common. The majority of challenges found in both literature review and survey were however traditional GSD challenges. Conclusions: The scarcity of research literature in the area suggests that more work needs to be done to successfully implement XP in GSD projects. The benefits and challenges extracted from literature and industry suggest that the application of XP can be beneficial for GSD since the majority of the reported challenges are traditional GSD challenges. Nevertheless, application of XP practices can alleviate these challenges. Based on the results, we conclude that XP can be successfully adopted in GSD projects.
2013. , 70 p.
Global Software Development, Extreme Programming, Global Software Engineering, Distributed Software Development, Agile