Global Software Development Challenges and Mitigation Strategies : A Systematic Review and Survey Results

Context: Software development in a setting in which the development sites are dispersed across geographical areas, either close proximity or globally, is fast becoming a widespread trend. This software development arrangement is also known as Global Software Development (GSD) or Distributed Software Development (DSD) or Global Software Engineering (GSE). Projects executed by a dispersed team have been noted as a more risky and challenging venture than projects run with teams under the same roof. Therefore the knowledge of the potential challenges and the probable mitigation strategies for GSD is vital for running a successful project. Objectives: The study entails the identification of GSD related challenges as well as their mitigation strategies. The collected challenges and mitigation strategies are later compiled into checklists. The developed checklists can be incorporated into risk management process particularly risk identification and risk mitigation planning. Methods: This research extends an existing systematic literature study conducted on empirical research on GSD, which was based on a review of publications from 2000 to 2007. The previous research is incorporated in this research and, in addition, papers between 2007 and 2009 are reviewed. In contrast to the previous research was aimed at gathering empirical evidence in GSD, however in this research the focus is specifically on challenges associated with GSD projects as well as the mitigation strategies that can be employed. An industrial survey was also conducted to validate the checklists and determine if the identified challenges and mitigation strategies were pervasive in industry. Furthermore interviews were also conducted to further validate the usefulness and usability of the developed checklists. Result: As a result, from the systematic literature review for publications between 2000 and 2009, a total of 48 challenges and 42 mitigation strategies were identified and placed in two separate categorized checklists. These challenges and mitigation strategies are elaborated in this paper. From the survey result, no additional challenges and 4 strategies were identified in the survey. Meanwhile from the interviews, all interviewees reported that the checklists are useful and easy to use. Conclusion: The absence of new challenges being identified from the study did not merit a conclusion that all possible challenges in GSD have been revealed. Therefore we conclude that more empirical research still needs to be done on identifying the challenges and mitigation strategies associated with GSD settings. Furthermore the checklists can be useful and valuable in identifying challenges and the potential mitigation strategies for communication, control and coordination mechanisms in distributed software development projects.