Chaos Issues on Communication in Agile Global Software Development *Nina Kamarina Kamaruddin, **Noor Habibah Arshad and ***Azlinah Mohamed *Department of Information Systems, Kulliyyah of Information and Communication Technology, IIUM, Gombak, Malaysia **Systems Science Department, Faculty of Comp. Sc. and Mathematics, Universiti Teknologi MARA, Shah Alam, Malaysia ***Intelligent Systems Department, Faculty of Comp Sc. and Mathematics, Universiti Teknologi MARA, Shah Alam, Malaysia *
[email protected], **
[email protected], ***
[email protected]
Abstract—Currently, the distance related to time and location between distributed software development teams is considered contributing to the chaotic environment of Global Software Development (GSD). Furthermore, when it involves using Agile method where communication is crucial between developers and customers. This paper aim to discussed the issues that have occurred related to the communication in Agile Global Software Development (AGSD). Literature survey has been carried out to gather information from the previous works as well as from forum feedback by practioners globally. The chaos issues are then illustrated using conceptual model, tabulated based on authors and then discussed. Identification of chaos issue is important in order to highlight the real problems that had happened in AGSD. Based on the identified chaos issues related to communication, it will somehow help the researchers and practitioners to acknowledge the real problems that had occurred in AGSD. Keywords-challenges; problems; issues; communication; agile; distributed software development
I.
INTRODUCTION
Globally Distributed Software Development or Global Software Development (GSD) has now become the norm for software industries currently in order to cater the global market. This phenomenon is the result of the world economic globalization where it creates a platform of global competitive advantage to the software industries around the world. Software companies are competing with each other in producing quality software. A survey reported that 84% of respondents agreed that one of the critical factor or driver in deciding to move towards GSD is the growth strategy [1]. With existence of Information Technology, software development can be done anywhere in the world. Distributed development teams with different backgrounds, culture and language can be located in various geographic locations with different time zones and yet working on the same project. In recent years, there has been an increasing interest in the integration of Agile practices in Global Software Development also known as Agile Global Software Development (AGSD). The idea behind this is that software companies realized the competitive advantage of doing it globally as well as producing quality software and yet delivers it faster with minimal development cost plus able to manage late requirements. Studies done by [2], [3] have reported the success of integrating Agile in GSD. One of the important aspects that
made AGSD happened is the communication. Several studies have reported on the importance of communication, which relates to productivity, producing a good end product and getting a good feedback from the customer [4–6]. Amidst the motivations, Agile Global Software Development has its own challenges and problems compared to the traditional co-located development. This scenario happened because it involves different groups of developers and customers being located anywhere in the world. The most common challenges existed in GSD and AGSD are related to communication [7], [8], [9]. It is aware that there are difficulties in communication between development teams in and out including stakeholders; it is even more difficult to manage if the teams are dispersed globally [10]. This challenge somehow contributes to chaotic situation or chaos that interfere the software development process. Some of the chaotic issues that relates to communication are different language and culture, less frequent face-to-face contact and lack of trust. Based on the challenge and chaos issues discussed above, it can be concluded that AGSD projects are becoming difficult and complex to manage. Thus, the challenge and chaos issues exist in AGSD if it is not tackle and manage accordingly can create problems in the development process and later may lead to chaotic disruption and failure to the software project. Hence, in this paper we highlighted in detail the chaos issues related to the communication challenge in Agile Global Software Development. II.
AGILE GLOBAL SOFTWARE DEVELOPMENT
In the quest of producing high-quality software developed cheaply and quickly in GSD, currently software development companies are considering themselves in combining GSD and Agile approaches as a potential solution. According to [11], Agile can be defined as ‘a group of software development methodologies that uses lighter development processes in order to make them responsive to change’. As mentioned by [12], the main features of agile approach are continuous requirements gathering, frequent face-to-face communication, pair programming, continuous integration, early customer feedback and minimal documentation. At the same time, by combining Agile and GSD helps to evaluate and measure the progress of the project and problems that occur at the early stage easily [11].
II.
CHAOS AND ISSU UES
In general, chaos deals with unpredictable complex systems. It somehow relates to irregular annd highly complex structures in time and in space [13]. Accordinng to [14], chaos in the context of software development can be defined as “a condition that is brought about changes thatt disrupts order in software development”. The change maybee in any form of ‘new or changed’ policy, technology, requiirement, people or any other items either tangible or intangible in nature that may effect the outcome of the software development. Software development can also be considered complexx in nature. It also can be said that the complexity of softwarre systems is also contributing to chaos [14].
wledge transfer between team setting where it allows know members, allow understanding of requirements from customers as well as development activitiies can be performed effectively and efficiently [22–24]. From the literature survey that have been carried out and the feedback from the forum meentioned in the previous section, we have identified 13 issuues related to communication challenge in AGSD. These issues are represented in a conceptual model and it is depiccted in Fig.1.
In terms of issues, generally it can be deefined as problems that have occurred now or certain to occur or something that has already happened that affect the softwaree project [15], [16]. These issues need to be tackled effectively before it becomes threat to the software project [16], [17].
TABLE I.
[25] [27] [20] [28] [4] [18] [17] [19] [20] [12] [30] [24] [31] [32] [33] [26]
M. Poor communication infrastructure
L. Unprepared communication tools
K. High communication cost
J. Low quality of telecommunication bandwidth
I. Miscommunication of requirements
H. Different working hours/time zones
G. Lack of commitment/teamwork
Autho rs
F Lack of customer involvement F.
IV. CHAOS ISSUES IN COMMUN NICATION IN AGILE GLOBAL SOFTWARE DEVE ELOPMENT
E. Lack of trust
Issues
c out and the From the literature survey that we have carried feedback from the forum, we then extracteed all information related to the communication issues of AGSD D. These issues are then being discussed and compared.
As mentioned in the previous study, maanaging challenges in GSD context can be considered a challenging task, combining it with agile practices make thhings complicated further [8], [12]. These challenges exist duue to the distance involved that somehow creates chaos to the development process. This has been agreed by [19]] that mentioned complexity related to AGSD challengges in software development will create negative affects on the t outcome of the software. One of the main challenges in Agille Global Software Development that has been highlighted in thhe literature is the communication. This challenge can be conssidered a problem because it involves distance in location and a different time zones as well as it involve different cuulture [20], [21]. Nevertheless, communication is considered as one of the important elements in GSD specifically in distributed Agile
CHAOS ISS SUES IN COMMUNICATION
D. Lack of frequent face-to-face contact
In this paper, literature survey is carried out to gather related information. We also ask some questions on the challenges and issues related to AGSD in a group forum in LinkedIn.com, which is Agile Alliance Group in order to get some initial feedback from the practitioners.. The practitioners are from different background where some of o them are Project Managers or Scrum Masters, Senior Softwaree Developer, Agile Coach or Trainer and Chief Methodologist foor Agile and Lean. They are based in the United States, Caanada, China and Pakistan.
C. Different language
OLOGY RESEARCH METHODO
These issues are considered important in highlighting the real problem that had really happened in distributed agile m that has been developed, projects. From the conceptual model we have further listed the issuees based on authors. Issues that have been identified are pressented in Table I and further described in the next following paragraphs.
B. Different culture
III.
Figure 1. Conceptual Moddel for Communication Issues
A. Different project background
g earlier it can From the definition of chaos and issues given be concluded that there is a relationship between chaos and issues. Based on the context of this study thaat is AGSD, where it involves distance of time zone, locationn and changes we concluded that AGSD is a chaotic and compllex environment or chaos prone [18]. When this happen, it arises a lot of issues.
A. Different Project Background Project background is one of the issues highlighted in the literature. Detailed example related to different project backgrounds are developers from different countries have different ways of working culture and this may lead to problematic issues when there is a cross-border collaboration [34–36]. Other than that, if agile methods are new to the development teams involved, communication turn out to be difficult for different interest groups to acknowledge, takes time for members of development to learn which information is useful and should be reported to other developers as well as it takes time to change this culture because before this they used plan-driven development [12], [23], [28]. B. Different Culture Culture is one of the most prominent issues highlighted in the literature as well as from the practitioners. Some of the example related to cultural issues are the some of the offshore team members are reluctant to discuss negative or sensitive issues and they only pass on positive information to the onshore team [28], cultural believes and ideology conflict [18], [19], [27] and the awareness of the culture and customs of the offshore teams for example related to festive seasons or holidays [12], [30]. Cultural differences if is not tackle carefully may impact team collaboration and communication processes [26]. C.
Different Language Distributed development normally involves different locations or countries. When different team members from different countries with different background and language collaborate it is often lead to great frustration [19]. Example, offshore team members whose is not native English speaker often having difficulty when communicating in English with native English speakers due to this, meeting sometimes takes longer than usual because it is difficult for them to express their ideas [24] and at the same time may discourage offshore team members from voicing out their opinions or views fully and completely [32]. D. Lack of Frequent Face-To-Face Contact Another prominent issue that has been highlighted in the literature is lack of face-to-face contact [27]. Reasons for this is because the location distance and some companies allocated only a small portion on travel budget for international teams. In order to communicate face-to-face, the development teams would try to meet up during conferences, corporate training or seminars plus on rare occasion personal meet up during personal meeting during vacation [18], [28]. This issue resulted in development team relying more on asynchronous communication as well as informal communication example using email because the right person is not available when it is needed [29], [31]. E. Lack of Trust Trust is one of the issues that give impact to the development teams. This is due to lack of face-to-face meetings or frequent interaction between the offshore and the onshore teams [27]. From here, it resulted difficulty to foster bonding and collaboration between both parties especially the offshore team[12], [18], [28].
F. Lack of Customer Involvement It is known that, Agile methods relies more on communication of people rather than process especially communication with customers. In Agile distributed context, normally the distance of the customers may be far away and this resulted in the difficulty to do frequent interaction with them [18]. Customer did not give full commitment during the development process and sometimes relationship between both parties is weak because they focus more on process rather than people [33]. G. Lack of Commitment / Teamwork In distributed development, even though it involves onshore and offshore team members it is considered a team. In order to produce a good and quality product, the software development team need to communicate and collaborate extensively. Sometimes problems do happened where team members only communicate with selected people in the team for example only communicate with the Software Architect, communication is affected because team members do not wish to contribute to communicate with each other [24]. Lack of formal communication may also lead to lower team spirit [27]. There is also issue in the development of team spirit that are located in two sites or more especially when sharing the goals of the project, expectations and domain specific as well as technical knowledge [25] H. Different Working Hours / Time Zones Time zones differences is one of the issues that can considered important and needs to be acknowledged. When there is distance in time zones, it increases the communication gap or overhead [18], [30], [27]. This resulted in the difficulties of scheduling group meetings outside normal working hours during certain time of the year due especially during the winter because of the shorter time as well as difficult to conduct long meeting example Sprint planning meeting [24], [32]. I. Miscommunication of Requirements In software development, requirements are considered the main element in producing software that is useable and it is constantly evolving due to changes by the customers [31]. When there is lack of detailed requirements information from customer, it will give bad impact to the developers where developers have to come up with their own detailed requirement based on their previous experience and at the same time trying to understand what customer need [33]. J. Low Quality of Telecommunication Bandwidth Another issues that need to be considered are the telecommunication bandwidth [27]. Sometimes a lot of time spent to clarify items being discussed because of the meaning, tone and emotion were lost through communication medium [28] and communication network can be slow and unreliable with poor transmission quality hampering communication tools [32]. K. High Communication Cost The least issues that have been highlighted in the literature is the communication cost affecting the communication gaps [30], [27] where the cost of preparing the communication
facilities is quite high and companies must plan be prepared to spent money on it in order to provide an effective communication medium between the onshore, offshore and the customers that is located in different location. L. Unprepared Communication Tools When it involves distance in space and time, communication is the main medium of interacting with onshore and offshore development teams as well as with the customer. Providing the right tools to communicate are essential [32] but some companies does not prepare the teams with suitable and appropriate communication tools for example like video conferencing or web-based conferencing facilities especially when there is Scrum meetings [24]. Without these facilities, it would make it difficult to communicate effectively. M. Poor Communication Infrastructure Communication infrastructure is considered important and proper planning must be done in order to allow the dispersed team to interact with each other. If this issue is not taken care of then a lot of problems will arise later on. Example the transferring data to and exchanging data with an offshore site usually reveals technical incompatibilities of between sites [25]. Countries with poor infrastructure prohibit rich conversations between team members can somehow affects the spreading of informal news or gossip during informal meetings, coffee breaks or after work meet-up [27]. V.
REFERENCES [1]
[2] [3]
[4]
[5]
[6]
[7]
[8] [9]
[10]
DISCUSSION
Based on the Table I above, there are two main issues that have been commonly discussed by the researcher and experienced by the practitioners. The issues are related to different culture and lack of frequent face-to-face contact between dispersed development teams. Different working hours or different time zones is also an issue that have been mentioned frequently in the literature and by practitioners due to different geographical locations. This is followed by lack of trust or willingness to communicate between team members, different project background and different languages used between different countries. The least mentioned issues that have been discussed are lack customer involvement, quality of telecommunication bandwidth, communication cost, communication tools, lack of commitment/ or teamwork by development teams, miscommunication of requirements and last but not least the communication infrastructure or technical incompatibilities.
[11]
[12]
[13] [14]
[15] [16] [17] [18]
VI. CONCLUSION In summary, this paper presents the chaos issues faced by AGSD project team members in communication based on the current literature as well as from global practitioners. The discussion shows all the issues that have really occurred in AGSD environment. Our literature survey has identified 13 chaos issues related to communication and whereby different culture and lack of frequent face-to-face contact are the main issues that have been discussed in the literature as well by the practitioners. In future research empirical investigation will be done in order to identified more issues related to communication in AGSD.
[19]
[20]
[21]
“SIIA Global Software Development Survey Report,” Software & Information Industry Association (SIIA) And Symphony Services, Dec. 2006. A. Danait, “Agile offshore techniques - a case study,” in Agile Conference, 2005. Proceedings, 2005, pp. 214–217. C. Young and H. Terashima, “How did we adapt Agile processes to our distributed development?,” in Proceedings of the Agile 2008, 2008, pp. 304–309. M. Korkala and P. Abrahamsson, “Communication in distributed Agile development: A Case Study,” in 33rd EUROMICRO Conference on Software Engineering and Advanced Applications, 2007, 2007, pp. 203– 210. T. Mazzuchi, S. Sarkani, and Green, “Communication and quality in distributed Agile development : an empirical case study,” Development, vol. 61, pp. 322–328, 2010. J. Sutherland, G. Schoonheim, N. Kumar, V. Pandey, and S. Vishal, “Fully distributed Scrum: linear scalability of production between San Francisco and India,” in Agile Conference, 2009. AGILE ’09., 2009, pp. 277–282. M. Cataldo, M. Bass, J. D. Herbsleb, and L. Bass, “On coordination mechanisms in global software development,” in Global Software Engineering, 2007. ICGSE 2007. Second IEEE International Conference on, 2007, pp. 71–80. S. Jalali and C. Wohlin, “Agile practices in global software engineering - a systematic map,” in ICGSE, 2010, pp. 45–54. E. Carmel and R. Agarwal, “Tactical approaches for alleviating distance in global software development,” Software, IEEE DOI 10.1109/52.914734, vol. 18, no. 2, pp. 22–29, 2001. D. Smite, N. B. Moe, and P. J. Ågerfalk, Agility across time and space: implementing Agile methods in global software projects, 1st ed. Springer, 2010. S. V. Shrivastava and H. Date, “[1006.1955] Distributed Agile software development: a review,” Distributed Agile Software Development: A Review, 10-Jun-2010. [Online]. Available: http://arxiv.org/abs/1006.1955. [Accessed: 19-Oct-2010]. I. Bose, “Lessons learned from distributed Agile software projects: a case-based analysis,” Communications of the Association for Information Systems, vol. 23, no. 1, Dec. 2008. G. Mayer-Kress, “Messy futures and global brains,” 22-Apr-1995. [Online]. Available: http://tuvalu.santafe.edu/~gmk/MFGB/MFGB.html. M. Othman, A. M. Zin, and A. R. Hamdan, “Constructing a chaos proofing pre-development framework to manage chaos in a chaos-prone systems development environment,” in Computer and Information Technology, 2008. CIT 2008. 8th IEEE International Conference on, 2008, pp. 748–753. C. Alberts and A. Dorofee, “Risk management framework,” Software Engineering Institute, Aug. 2010. A. Chittoor, “Project risks vs issues - project managers,” Project Management Blogs. 02-2012. B. Lofland, “Project risk or issue?,” PM Technix. 12-2010. K. Dullemond, B. van Gameren, and R. van Solingen, “How technological support can enable advantages of Agile software development in a GSE Setting,” in Fourth IEEE International Conference on Global Software Engineering, 2009. ICGSE 2009, 2009, pp. 143–152. A. E. Hassan and R. C. Holt, “The chaos of software development,” in Software Evolution, 2003. Proceedings. Sixth International Workshop on Principles of, 2003, pp. 84–94. K. Braithwaite and T. Joyce, “XP expanded: distributed Extreme Programming,” in Extreme Programming and Agile Processes in Software Engineering, vol. 3556, H. Baumeister, M. Marchesi, and M. Holcombe, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2005, pp. 180–188. M. Paasivaara and C. Lassenius, “Could clobal software development benefit from Agile methods?,” in Global Software Engineering, 2006. ICGSE ’06. International Conference on, 2006, pp. 109–113.
[22] J. D. Herbsleb and A. Mockus, “An empirical study of speed and communication in globally distributed software development,” IEEE Transactions on Software Engineering, vol. 29, no. 6, pp. 481– 494, Jun. 2003. [23] M. Pikkarainen, J. Haikara, O. Salo, P. Abrahamsson, and J. Still, “The impact of agile practices on communication in software development,” Empirical Softw. Engg., vol. 13, no. 3, pp. 303–337, Jun. 2008. [24] S. Dorairaj, J. Noble, and P. Malik, “Effective communication in distributed Agile software development teams,” in Agile Processes in Software Engineering and Extreme Programming, vol. 77, A. Sillitti, O. Hazzan, E. Bache, and X. Albaladejo, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2011, pp. 102–116. [25] A. Kornstadt and J. Sauer, “Tackling offshore communication challenges with Agile architecture-centric development,” in Software Architecture, 2007. WICSA ’07. The Working IEEE/IFIP Conference on, 2007, p. 28. [26] “I would like to know what are the issues/challenges/problems that exist in Agile Global Software Development. Care to share your experiences?,” Agile Alliance. Dec-2010. [27] J. Sauer, “Agile practices in offshore outsourcing–an analysis of published experiences,” in Proceedings of the 29th Information Systems Research Seminar in Scandinavia, IRIS, vol. 29, pp. 12–15. [28] S. Lee and H.-S. Yong, “Distributed Agile: project management in a global environment,” Empirical Software Engineering, vol. 15, no. 2, pp. 204–217, 2010. [29] P. J. \AAgerfalk, B. Fitzgerald, and S. A. Slaughter, “Introduction to the special issue—flexible and distributed information systems development: state of the art and research challenges,” Info. Sys. Research, vol. 20, pp. 317–328, Sep. 2009. [30] M. F. Nisar and T. Hameed, “Agile methods handling offshore software development issues,” in Multitopic Conference, 2004. Proceedings of INMIC 2004. 8th International, 2004, pp. 417–422. [31] I. Lehtonen, “Communication challenges in Agile global software development,” University of Helsinki, Department of Computer Science, Faculty of Science, 2009. [32] E. Hossain, M. A. Babar, and Hye-young Paik, “Using Scrum in global software development: a systematic literature review,” in Global Software Engineering, 2009. ICGSE 2009. Fourth IEEE International Conference on, 2009, pp. 175–184. [33] M. Korkala, M. Pikkarainen, and K. Conboy, “Distributed Agile development: a case study of customer communication challenges,” in Agile Processes in Software Engineering and Extreme Programming, vol. 31, P. Abrahamsson, M. Marchesi, and F. Maurer, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2009, pp. 161–167. [34] D. Damian, L. Izquierdo, J. Singer, and I. Kwan, “Awareness in the wild: why communication breakdowns occur,” in Global Software Engineering, 2007. ICGSE 2007. Second IEEE International Conference on, 2007, pp. 81–90. [35] Helena Holmstrom, Eoin O Conchuir, Par J Agerfalk, and Brian Fitzgerald, “Global software development challenges: a case study on temporal, geographical and socio-cultural distance,” in Global Software Engineering, 2006. ICGSE ’06. International Conference on, 2006, pp. 3–11. [36] S. Krishna, S. Sahay, and G. Walsham, “Managing cross-cultural issues in global software outsourcing,” Commun. ACM, vol. 47, no. 4, pp. 62– 66, 2004.