Coordination Challenges in Global Software Development Anusuyah Subbarao, Dr Mohd Naz ri Mahrin Advanced Informatics School, Universiti Teknologi Malaysia, Jalan Sultan Yahya Petra, 54100 Kuala Lumpur, Malaysia. Abstract Global Software Development (GSD) approach is becoming a trend in software industries and by adopting it, literature shows that they are able to produce a better quality software with shorter development time and lesser cost. GSD software projects are geographically distributed where their tasks are collocated and distributed. Due to these distribution, software organizations are suffering in terms of coordination. Coordination is one of the mechanism that is considered as the most basic element in GSD, the glue that holds the organization together. This paper presents the challenges of coordination in GSD that usually cause problems for developers, clients, vendors and other stakeholders who are involved. It also discuss several coordination frameworks in GSD context and also suggest some measures to overcome these challenges. Keywords: Global Software Development, Coordination, Distribution 1. Introduction Global software development (GSD) has become a common practice in software industry where software projects are geographically distributed. The value of distributed software development market has increased 25-fold in the US over the past 10 years and predictions are that one-quarter of US spending on software development, integration and management services will go to distributed companies. [1]. An ACM report shows that 30% of US IT jobs are expected to be distributed by 2015 [2]. The main reason why software industries are adopting GSD approach is GSD is offering number of benefits. Literature shows that they are able to produce a better quality software, access to a large pool of competent developers, closer proximity to local market with shorter development time and lesser cost [3, 4, and 5]. However, GSD also suffers from a number of challenges related to communication, coordination and control throughout software development process and it has increased due to its complexity towards its distribution [6]. The main challenge in GSD is to bring in place effective coordination practices so that teams working at different locations can discuss the coordination issues and complexities related to software development projects. * Corresponding author. E-mail address: sanusuyah2 @live.utm.my
This paper is divided into five sections. In this section, a brief introduction of GSD, its benefits and challenges are discussed. The next section provides an in-depth survey of literature to highlight the importance of addressing coordination issues of GSD. In the third section, some coordination frameworks are discussed. The prospective future work to this research is described in the fourth section and finally is the conclusion in the last section. 2. Related Work This section looks into the approaches used by different researchers to address the coordination challenges in the GSD context. According to Tushman & Katz, despite today s sophisticated collaboration and software engineering tools, coordination continues to be challenging in GSD [7]. Many software projects are behind schedule and over budget, and do not always work as intended [8]. In part, these failures are due to challenges in coordination [9, 10, 11] especially when software projects are globally distributed [12]. Communication and coordination in GSD become more complex, because traditional faceto-face meetings are not the rule in distributed projects [13].Poor coordination between the collocated and distributed team is effecting the scope of the contract in GSD projects [14]. Coordination between distributed teams is one of the most difficult-to-improve aspects of GSD [15, 16, 17, and 18]. There is no single reason why software projects fail, but one of the main problems is coordinating activities within large software systems [19]. According to Nguyen- Duc, there are number of studies related to coordination challenges in distributed setting. The listed challenges are decrease of communication frequency, large communication network, difficulty in finding relevant expertise/coordination requirement, lack of trust, lack of team identity/team awareness, delay in communication and coordination, difficulty in organizing task, limited choice of communication means, developing informal communication, misinterpretation of tasks, extra coordination due to mismatches in goals, perceived value, extra coordination due to mismatches in organizational structure, extra coordination due to different local management policy, complicated communication and coordination paths and ddifficulty in identifying role and responsibility[20]. 3. Coordination Framework This section looks into the approaches used by different researchers to address the coordination frameworks in the GSD context. Zigurs et al. [21] proposed a conceptual framework for coordination of virtual teams. Since team members are separated physically, coordination becomes an issue. A framework is proposed for this coordination. Sutanto et al. [22] explored coordination for global virtual teams wherein they show that coordination for effective teamwork depends
on the basic structure of the distributed teams. Espinosa & Carmel [23] conducted a research to study on coordination between two team members who are separated by time and distance. They have emphasized that there is less need for coordination when activities are carried out independently but when there is a significant dependency among various activities, then the need for coordination is more. Wiredu [24] conceptualized a framework for coordination based on the theoretical information extracted from the literature for GSD. Taxen [25] projected a strategy to support the common understanding about coordination of the engineering process in GSD. Smite et al. [26] investigated coordination and risk analysis between geographically distributed teams in GSD. Hossain [27] states that a good understanding of coordination difficulties can help devise strategies to overcome them. Bass et al. [28] investigated coordination and risk analysis between geographically distributed teams in GSD. Begel et al. [29] stated that researchers regularly carry out empirical studies with software development teams to examine how processes, tools and team members coordinate in GSD. Deshpande [30] has projected a model that incorporates effective coordination strategies between distributed teams working on the GSD projects. 4. Future Work Distinctive solutions for coordination challenges in the GSD environment have been proposed by many researchers, but still there is a vital need for appropriate coordination techniques or method which can suggest a compatible process to reduce the amount of coordination needed for GSD project. Communication and coordination mechanisms should be planned at the start of the project [31]. They should be continuously monitored by project managers and should be adapted according to the situation [31]. 5. Conclusion One of the main challenges of GSD practices is to ensure effective coordination among the team members as in most of the cases, they use to coordinate via electronic medium. This paper has highlighted list of challenges in GSD environment which has impacted the software project development. It also enumerated lists of frameworks related to coordination in GSD. References [1]Eoin Conchuir, Par J. Agerfalk, Helena H. Olsson, and Brian Fitzgerald, Global Software Development:Where are the Benefits?, Communications of the ACM, vol. 52 no. 8, (2009), pp. 127-131.. [2]ACM Job Migration Task Force, Globalization and Offshoring of Software, Association for Computing Machinery, 2006Yates D, Paquette S. Emergency knowledge management and social media technologies : A case study of the 2010 Haitian earthquake. Proc ASIST (31), 2011, 6 13. [3]Ågerfalk, P.J., Fitzgerald, B., Olsson, H.H., and Ó Conchúir, E. 2008. Benefits of global software development: the known and unknown. In Proceedings of the Software process, 2008 international conference. [4]Ågerfalk, P. J., and Fitzgerald, B. 2006. Flexible and Distributed Software Processes: Old Petunias in New Bowls? Commun. ACM. 49, 10(Oct 2006). 26-34.
[5] Ó Conchúir, E., Ågerfalk, P.J., Olsson, H.H., and Fitzgerald,B.2009. Global software development: where are the benefits? Commun. ACM. 52, 8 (August 2009), 127-131.Offshoring: An Investigation of the Irish Bridge. MIS Quarterly 32(2), 1 23 (2008). [6] Marques, A. B., Rodrigues, R. and Conte, T., Systematic Literature Reviews in Distributed Software Development: A Tertiary Study, In ICGSE 2012: 134-143 [7]Tushman, M. L. and Katz, R. (1980) External communication and project performance: An investigation into the role of gatekeepers, Management Science, 26(11), Nov. 1980, pp: 1071-1085. [8]Mann, C.C. Why software is so bad. Technology Review, 105, 5 (2002), 33 38. [9]Boehm, B.R. Software Engineering Economics. Englewood Cliffs, NJ: Prentice Hall, 1981. [10]Curtis, B., Krasner, H., and Iscoe, N. "A Field Study of the Software Design Process for Large Systems," Communications of the ACM (31:11), 1988, pp. 1268-1287. [11]Kraut, R.E., and Streeter, L.A. Coordination in software development. Communications of the ACM, 38, 3 (1995), 69 81. [12]Herbsleb, J.D., and Grinter, R.E. Architectures, coordination, and distance: Conway s law and beyond. IEEE Software, 16, 5 (1999), 63 70. [13]Damian, D., & Moitra, D. (2006). Guest editors introduction: Global software development: How far have we come? IEEE Software, 23, 17 19. [14] Khan, A. W., & Khan, S. U. (2014). Critical challenges in execution of offshore software outsourcing contract from vendors' perspective: A systematic literature review. Paper presented at the Information and Communication Systems (ICICS), 2014 5th International Conference on. [15]Begel, A., Nagappan, N., Poile, C., Layman, L.: Coordination in large-scale software teams. In: Proceedings of 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering (CHASE), pp. 1 7. IEEE Computer Society, Washington, DC (2009) [16] Amrit, C. (2005) Coordination in software development: The problem in task allocation, SIGSOFT Software Engineering Notes, July 2005, 30(4), pp:1-7 [17]Herbsleb, J.D. and Mockus, A. (2003) Formulation and preliminary test of empirical theory of coordination in software engineering. In Proceedings of 9th European software engineering conference held jointly with 11th SIGSOFT international symposium on Foundations of software engineering (ESEC/FSE-11).ACM, New York, NY, USA,pp:138-137 [18]Bass, M., Herbsleb, J.D. and Lescher,C. (2009) A Coordination Risk Analysis Method for Multi-site Projects: Experience Report, Fourth IEEE International Conference on Global Software Engineering, ICGSE 13-16 July 2009, pp:31-40 [19]Herbsleb, J.D.: Global Software Engineering: The Future of Socio-technical Coordination. In: Future of Software Engineering (FOSE 2007). IEEE, Minneapolis (2007) [20] Nguyen-Duc, A., Cruzes, D. S., & Conradi, R. (2015). The impact of global dispersion on coordination, team performance and software quality A systematic literature review. Information and Software Technology, 57, 277-294. [21]Zigurs, I., Evaristo, R., and Katzy, B. (2001) Collaborative technologies for virtual project management Academy of Management Proceedings, Washington, D.C. [22]Sutanto,J., A. Kankanhalli, and Tan, B.C.Y. (2004) A Conceptual Framework for Coordination in Global Virtual Teams, Information Resources Management Association International Conference, New Orleans, U.S.A. [23] Espinosa, J.A., Carmel, E.: The Effect of Time Separation on Coordination Costs in Global Software Teams: A Dyad Model. In: Proceedings of the 37th Annual Hawaii International Conference on System Sciences (Hicss 2004) - Track 1, January 5-8, vol. 1. IEEE Computer Society, Washington, DC (2004) [24] Wiredu, G. (2006) A Framework for the Analysis of the Coordination in Global Software Development. International Workshop on Global Software Development for the Practitioner (GSD 06),pp:38-44
[25]Taxen, Lars. (2006) An Integration Centric Approach for the Coordination of Distributed Software Development Projects. Information and Software Technology,48(9), 767-780. [26]Sˇmite, D., Wohlin, C., Feldt, R., & Gorschek, T. (2008). Reporting empirical research in global software engineering: A classification scheme. In Proceedings of the 3rd international conference on global software engineering, pp. 173 181 [27]Hossain, E., (2008), Coordinating Mechanisms for Agile Global Software Development, IEEE International Conference on Global Software Engineering, ICGSE, 17-20 Aug, 2008, pp. 257-263 [28]Bass, M., Herbleb, J.D. and Lescher, C. (2009) A Coordination Risk Analysis Method for Multi-site Projects: Experience Report. In Proceedings of the Fourth International Conference on Global Software Engineering. ICGSE 13-16 July 2009. IEEE-Computer Society, Washington, DC. Pp:31-40 [29] Begel, A., Nagappan, N., Poile, C., Layman, L.: Coordination in large-scale software teams. In: Proceedings of 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering (CHASE), pp. 1 7. IEEE Computer Society, Washington, DC(2009) [30] Deshpande, S., Beecham, S., & Richardson, I. (2013, 26-29 Aug. 2013). Using the PMBOK Guide to Frame GSD Coordination Strategies. Paper presented at the Global Software Engineering (ICGSE), 2013 IEEE 8th International Conference on. [31] Jain, R., & Suman, U. (2015). A Systematic Literature Review on Global Software Development Life Cycle. ACM SIGSOFT Software Engineering Notes, 40(2), 1-14.