Global Software Development (GSD) faces significant challenges such as geographical distance, time zone differences, language barrier and culture differences that makes it difficult for software vendors to collect and implement software requirements properly. In order to reduce these critical challenges in GSD, researches have suggested use of collaborative tools and modern technologies specifically for GSD so that proper requirements collection and implementation become possible. The aim of current research work is to conduct Systematic Literature Review (SLR) of all those studies who identified and considered uses of collaborative tools and modern technologies as critical success factor in GSD. For doing SLR, SLR protocol is designed which include all necessary steps for conducting SLR. As a result of SLR, total of 53 papers were finalized for data retrieval. Data retrieval include research method used, time period in which paper is published and software company size where case study or experiment is conducted.
Global Software Development (GSD) is development of software product across the globe where clients and vendors are separated with geographical distance (Yaseen et al., 2015a, 2015b, 2020g). Requirement engineering (RE) is an important phase of software engineering in which software requirements are collected from clients in more systematic and discipline way (Yaseen et al., 2020h, 2020j, 2021). RE phase of software development is considered to be more critical as success of any software project depends directly on it (Yaseen et al., 2020d, 2020e, 2020f). RE phase of software development life cycle consists of different phases such as requirement elicitation, requirement analysis, requirement specification and requirement validation (Yaseen et al., 2018, 2019d, 2019e; 2020k). During elicitation phase, requirements for software system are collected from clients (Yaseen et al., 2019f, 2020c, 2020f). Requirement elicitation phase directly involves clients interaction with vendors due to which collection of requirements become more and more difficult especially when clients and vendors are separated with geographical distance in GSD (Yaseen et al., 2019c, 2019h). In GSD, traditional ways of requirement elicitation such as background study, prototyping and interview are difficult and depends more on collaborative ways of elicitation techniques (Rahman et al., 2019; Yaseen et al., 2020e).
In GSD, big challenge is language barrier as people belong to different nations have different languages and ways of talking that makes it difficult to understand each other (Kamal et al., 2020; Yaseen et al., 2020d). Time zone difference is another critical challenge addressed by many authors (Ali et al., 2019; Yaseen & Ali, 2019a). Sometimes time difference in two countries are too much which makes it difficult to communicate instantly, e.g., time difference between U.S and Asian countries is nearly twenty hours. Similarly in GSD, culture variation is another big challenge identified by several studies (Yaseen & Ali, 2019b; Yaseen, 2020). People belonging to different countries have different ways of doing and dealing with things and have different opinion on same issue (Yaseen et al., 2020b). Due to the stated challenges in GSD, effective communication among clients and vendors is affected which affect proper requirements collection (Yaseen et al., 2020g; Ur et al., 2020). In several studies (Kamal et al., 2020), collaborative tools and advance technologies specifically designed for GSD are suggested for use. With use of collaborative tools, stated challenges can be reduced significantly. No systematic review is being yet conducted to identify all related studies that identify use of collaborative tools and technologies as success factor. Purpose of current research study is to conduct SLR and systematically analyze use of collaborative tools and technologies in GSD.
Besides the importance of using collaborative tools and modern technologies during requirements implementation in GSD, no systematic review is being conducted to identify and analyze modern tools and technologies as success factor in GSD. The aim of current research work is to conduct Systematic Literature Review (SLR) of all those research studies who identified and considered uses of collaborative tools and modern technologies as critical success factor in GSD. The ultimate goal is to design collaborative tools and technologies model in GSD that can assist software vendors to better implement all best practices of collaborative tools and modern technologies. Modern tools and technologies will reduce the stated challenges in GSD such as culture issues, language barrier and time zone differences. Thus proper requirement elicitation can be assured with collaborative tools and modern technologies.
According to Leonard et al. (1997), advance web tools and technologies designed for GSD should be used to manage requirements. These tools for GSD should have facilities for both synchronous and asynchronous communication. Synchronous communication such as video conferencing allows vendors to deal with clients directly face-to-face while asynchronous ways of communication such as chat, emails, etc., allows them to take time to response to each other's which are helpful in case where there exist time zone differences and language barrier. Proper discussion is possible through both models of communication. According to Achimugu et al. (2014), Multimedia Web-based meeting tools such as NetMeeting are becoming ubiquitous for communication on the Internet. By providing audio and video channels and real time sharing of applications, they emerge as potentially useful tools for such communication. According to Solis and Ali (2010), these methods for GSD can promote collaborative forms of elicitation techniques such as brainstorming, wiki, and seminars, as well as conventional ways of elicitation techniques such as context analysis, interview, and so on. With collaborative tools and technologies, elicitation process become easier. According to Aranda et al. (2010), use of groupware tools are more helpful which co-relate multiple people either inside or outside organization which allows them to communicate jointly and mutually share conflicts on requirements. Inter-organization learning and knowledge sharing management also becomes easier with groupware tools. According to Ebert et al. (2008), it is better to use common process and tools in GSD as much people are aware from its benefits and usage. More and more people are trained to use them. Another reason is that these tools are already used in markets so feedback can be easily obtained from multiple users. According to Ghaisas (2009) we need tools that integrates the social software principles into requirements elicitation activities. The tools should provide appropriate direction on adaptation of the process and method. Moreover, the tool must reduce work associated with certain tasks by automating them.
SLR is conducted to achieve our goals and objectives. In our previous studies we used the same research method to achieve other goals (Yaseen et al., 2016; 2019g; Yaseen & Ali, 2019). In this research study, we are repeating the same steps as we did in our previous research works. The step by step approach of conducting SLR is shown in Figure 1.
Figure 1. Development Process for the SLR Protocol
The first step of doing SLR is finalizing research questions. Based on particular research question, data are retrieved from different research studies. We have finalized the following research questions for this study.
To conduct the research the following questions are formulated.
RQ1: How use of collaborative tools in GSD is related to the study strategies used?
RQ2: How use of collaborative tools in GSD vary from one time period to another?
RQ3: How use of collaborative tools in GSD is related to software company size?
Literature Search strategy is made that consist of the following;
There is no bound on search time and space. Publication related to our defined RQ1 will be included for the next step.
We will used Science Direct, Springer link, ACM portal, IEEE Xplore.
We have used the following search string for this research work.
((“Requirement Engineering” OR “Requirement Implementation” OR “Requirement Elicitation”) AND (“Global Software development” OR “Distributed Software Development”)).
During literature selection criteria, not all but some publications that are most relevant to research question is selected for final data retrieval. Studies that are not written in English will be excluded from final list of papers. Inclusion and exclusion criteria for this research study is based on research questions. Papers that address practices for effective negotiations in GSD will be only included for SLR. In first selection of papers, all papers relevant to requirements collection in GSD will be identified as 'total results found' shown in Table 1. In the second selection, which is the primary selection, all papers that discuss success factors in total results found initially will be finalised, while only those papers that address use of collaborative resources in GSD as a crucial success factor will be finalised in the final selected papers, as shown in Table 1.
Table 1. Final Selected Papers from Different Digital Resources
This is last phase where data relevant to research questions will be retrieved from final list of papers. Other studies also used same criteria in GSD relevant to their research questions (Yaseen et al., 2019i). Data retrieved include the following;
Based on inclusion and exclusion criteria, Table 1 shows number of primary and final selected papers from different digital resources. Total number of final selected papers found are 41.
Table 2 shows research methods used in different studies. List of identified papers in which particular research method used are given in Appendix. Five different research methods used are given in Table 2.
Figure 2 shows the percentage of case study as research method is higher from all other research methods. Case study is a tool through which in-depth analysis can be made possible. Evaluating collaborative tools for GSD through case studies shows the quality of analysis. Similarly percentage of experiment as research method is lower than case studies and higher than other research methods applied. Case studies and experiments comprises total of 68% in all research methods.
We have divided time period into two categories, i.e., before 2007 and after 2007. Table 3 shows period of time with identified papers as shown in Appendix.
Figure 3 shows that 68% of publications that address use of collaborative tools in GSD are published in recent decade after 2007 while only 32% of papers are published before 2007. From this we can conclude that in recent years, need and importance of GSD tools are addressed more as compared to previous decades. This also shows that although more work is shown in last few years but still vendors of GSD face challenges due to advancement shown in web technologies and increasing trend of software outsourcing. Thus GSD demand to develop more and more collaborative tools that are easy to use and cope with all challenges.
4.3 Analysis Based on Software Company Size
We have divided software company sizes into three categories, i.e., small, medium and large size. Categories are made in such a way that company with number of employees less than 20 are considered small. Company with number of employees greater than 20 and less than 50 are considered medium size while company with number of employees greater than 50 are large sizes. Other studies also used same strategies to categorize software company sizes into small, medium and large sizes. Table 4 shows software company sizes with identified papers as shown in Appendix.
Figure 4 shows frequency of different company sizes as identified from SLR. It shows that number of large company sizes are higher than medium and small company sizes while small company sizes are lowest in number which indicates that use of collaborative tools as success factor in GSD is more addressed in large size companies as compared to medium and small size companies. There could be several reasons but one of the reason could be that as large sizes companies normally follow software engineering standards as there is no issue of cost and budget to them. Normally, large software industries which are running from years take large projects of high budget and they have no issue of implementing collaborative tools and provide trainings to their employee for usage.
In order to reduce challenges which GSD faces such as time zone differences, language barrier and culture differences, this study aim to address and systematically analyze the importance and need of using collaborative tools in GSD as critical success factor. To do so, SLR has been conducted. First step in conducting SLR has been design of SLR protocol. On execution of SLR protocol, total of 53 final papers were retrieved that addressed importance of use of collaborative tools in GSD. Furthermore, results of SLR are analyzed based on research methods used, time period of decade, software company size and continents in which studies were conducted. In future, we aim to empirically evaluate use of collaborative tools in GSD as success factor from real software industries via questionnaire. Analysis from real software industry will be further based on experience of negotiator. The ultimate goal is to rise the need of effective negotiation process and to implement modern tools and technologies and all those processes which favor effective negotiations process.
Journals Selected through SLR
[1]. Akbar, R., Haris, M., & Naeem, M. (2008, August). Agile framework for globally distributed development environment th (the DAD model). In Proceedings of the 8 Conference on Applied Informatics and Communications (pp. 423-428).
[2]. Aranda, G. N., Vizcaíno, A., Cechich, A., & Piattini, M. (2008). Strategies to minimize problems in global requirements elicitation. CLEI Electronic Journal, 11(1).
[3]. Aranda, G. N., Vizcaíno, A., & Piattini, M. (2010a). A framework to improve communication during the requirements elicitation process in GSD projects. Requirements engineering, 15(4), 397-417. https://doi.org/ 10.1007/s00766-010-0105-9
[4]. Aranda, G. N., Vizcaíno, A., & Piattini, M. (2010b). Analyzing and evaluating the main factors that challenge global software development. The Open Software Engineering Journal, 4(1), 14–25. https://doi.org/10.2174/ 1874107X01004010014
[5]. Arthi, B. (2009). Distributed requirements negotiations using mixed media. International Journal of Engineering and Technology, 1(5), 474-480. https://doi.org/10.7763/ IJET.2009.V1.87
[6]. Assawamekin, N. (2010, August). An ontology-based approach for multiperspective requirements traceability th between analysis models. In 2010 IEEE/ACIS 9 International Conference on Computer and Information Science (pp. 673-678). IEEE. https://doi.org/10.1109/ICIS. 2010.43
[7]. Batool, A., Hafeez, Y., Asghar, S., Abbas, M. A., & Hassan, M. S. (2013). A scrum framework for requirement engineering practices. Proceedings of the Pakistan Academy of Sciences, 50(4), 263-270.
[8]. Berenbach, B. (2006, May). Impact of organizational structure on distributed requirements engineering processes: Lessons learned. In Proceedings of the 2006 International Workshop on Global Software Development for the Practitioner (pp. 15-19). https://doi.org/10.1145/ 1138506.1138511
[9]. Bhat, J. M., Gupta, M., & Murthy, S. N. (2006). Overcoming requirements engineering challenges: Lessons from offshore outsourcing. IEEE Software, 23(5), 38- 44. https://doi.org/10.1109/MS.2006.137
[10]. Brottier, E., Baudry, B., Le Traon, Y., Touzet, D., & Nicolas, B. (2007, October). Producing a global requirement model from multiple requirement th specifications. In 11 IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007) (pp. 390-390). IEEE.
[11]. Calefato, F., Damian, D., & Lanubile, F. (2012). Computer-mediated communication to support distributed requirements elicitations and negotiations tasks. Empirical Software Engineering, 17(6), 640-674. https://doi.org/ 10.1007/s10664-011-9179-3
[12]. Campbell, C. L., & Van de Walle, B. (2003, August). Asynchronous requirements engineering: Enhancing distributed software development. In International Conference on Information Technology: Research and Education Proceedings (pp. 133-136). IEEE. https://doi.org/ 10.1109/ITRE.2003.1270588
[13]. Damian, D. (2001, December). An empirical study of requirements engineering in distributed software projects: Is distance negotiation more effective? In Proceedings Eighth Asia-Pacific Software Engineering Conference (pp. 149-152). IEEE. https://doi.org/10.1109/APSEC.2001.99147 1
[14]. Damian, D. E., & Zowghi, D. (2002, September). The impact of stakeholders' geographical distribution on managing requirements in a multi-site organization. In Proceedings IEEE Joint International Conference on Requirements Engineering (pp. 319-328). IEEE. https://doi. org/10.1109/ICRE.2002.1048545
[15]. Damian, D. E., & Zowghi, D. (2003). RE challenges in multi-site software development organisations. Requirements Engineering, 8(3), 149-160. https://doi.org/10.1007/s0076 6-003-0173-1
[16]. Damian, D., Chisan, J., Allen, P., & Corrie, B. (2003, May). Awareness meets requirements management: Awareness needs in global software development. In Proceedings of the International Workshop on Global Software Development, International Conference on Software Engineering (ICSE 2003).
[17]. Damian, D., Lanubile, F., & Mallardo, T. (2008). On the need for mixed media in distributed requirements negotiations. IEEE Transactions on Software Engineering, 34(1), 116-132. https://doi.org/10.1109/TSE.2007.70758
[18]. de Gea, J. M. C., Nicolás, J., Alemán, J. L. F., Toval, A., Vizcaíno, A., & Ebert, C. (2013). Reusing requirements in global software engineering. In Managing Requirements Knowledge (pp. 171-197). Heidelberg, Berlin: Springer. https://doi.org/10.1007/978-3-642-34419-0_8
[19]. Dorairaj, S., Noble, J., & Malik, P. (2011, May). Effective communication in distributed Agile software development teams. In International Conference on Agile Software Development (pp. 102-116). Heidelberg, Berlin: Springer. https://doi.org/10.1007/978-3-642-20677-1_8
[20]. Duarte, D., Farinha, C., da Silva, M. M., & da Silva, A. R. (2012, June). Collaborative requirements elicitation with st visualization techniques. In 2012 IEEE 21 International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises (pp. 343-348). IEEE. https://doi. org/10.1109/WETICE.2012.14
[21]. Ebert, C., Murthy, B. K., & Jha, N. N. (2008, August). Managing risks in global software engineering: Principles and practices. In 2008 IEEE International Conference on Global Software Engineering (pp. 131-140). IEEE. https://doi.org/10.1109/ICGSE.2008.12
[22]. Edwards, H. K., & Sridhar, V. (2003, January). Analysis of the effectiveness of global virtual teams in software th engineering projects. In Proceedings of the 36 Annual Hawaii International Conference on System Sciences. IEEE. https://doi.org/10.1109/HICSS.2003.1173664
[23]. Fernández, D. M., & Wagner, S. (2015). Naming the pain in requirements engineering: A design for a global family of surveys and first results from Germany. Information and Software Technology, 57, 616-643. https://doi.org/ 10.1016/j.infsof.2014.05.008
[24]. Geisser, M., Hildenbrand, T., Rothlauf, F., & Atkinson, C. (2007, August). An evaluation method for requirements engineering approaches in distributed software development projects. In International Conference on Software Engineering Advances (ICSEA 2007) (pp. 39-39). IEEE. https://doi.org/10.1109/ICSEA.2007.16 [25]. Ghaisas, S. (2009). A method for identifying unobvious requirements in globally distributed software projects. Software Engineering 2009-Workshopband (pp. 297–308).
[26]. Haag, Z., Foley, R., & Newman, J. (1997, September). Software process improvement in geographically distributed software engineering: an initial evaluation. In rd Proceedings of the 23 EUROMICRO Conference: New Frontiers of Information Technology (Cat. No. 97TB100167) (pp. 134-141). IEEE. https://doi.org/10.1109/EURMIC.1997. 617242
27]. Heindl, M., & Biffl, S. (2006, May). Risk management with enhanced tracing of requirements rationale in highly distributed projects. In Proceedings of the 2006 International Workshop on Global Software Development for the Practitioner (pp. 20-26). https://doi.org/10.1145/ 1138506.1138512
[28]. Hussain, W., & Clear, T. (2014, August). Spreadsheets as collaborative technologies in global requirements th change management. In 2014 IEEE 9 International Conference on Global Software Engineering (pp. 74-83). IEEE. https://doi.org/10.1109/ICGSE.2014.25
[29]. Illes-Seifert, T., Herrmann, A., Geisser, M., & Hildenbrand, T. (2007). The challenges of distributed software engineering and requirements engineering: st Results of an online survey. 1 International Global Requirements Engineering Workshop (pp. 55–65).
[30]. Karlsson, L., Dahlstedt, Å. G., Regnell, B., och Dag, J. N., & Persson, A. (2007). Requirements engineering challenges in market-driven software development–An interview study with practitioners. Information and Software Technology, 49(6), 588-604. https://doi.org/10.1016/j. infsof.2007.02.008
[31]. Korkala, M., & Abrahamsson, P. (2007, August). Communication in distributed agile development: A case rd study. In 33 EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO 2007) (pp. 203-210). IEEE. https://doi.org/10.1109/EURO MICRO.2007.23
[32]. Kumari, S. N., & Pillai, A. S. (2013, May). A survey on global requirements elicitation issues and proposed th research framework. In 2013 IEEE 4 International Conference on Software Engineering and Service Science (pp. 554-557). IEEE. https://doi.org/10.1007/s007 66-010-0105-9
[33]. Laurent, P. (2010, August). Globally distributed th requirements engineering. In 2010 5 IEEE International Conference on Global Software Engineering (pp. 361- 362). IEEE Computer Society. https://doi.org/10.1109/ ICGSE.2010.52
[34]. Leonard, T., Berzins, V., & Holden, M. J. (1997, November). Gathering requirements from remote users. In Proceedings Ninth IEEE International Conference on Tools with Artificial Intelligence (pp. 462-471). IEEE. https://doi. org/10.1109/TAI.1997.632289
[35]. Liang, P., Avgeriou, P., & Clerc, V. (2009, July). Requirements reasoning for distributed requirements analysis using semantic wiki. In 2009 Fourth IEEE International Conference on Global Software Engineering (pp. 388-393). IEEE. https://doi.org/10.1109/ICGSE.2009.61
[36]. Lloyd, W. J., Rosson, M. B., & Arthur, J. D. (2002, September). Effectiveness of elicitation techniques in distributed requirements engineering. In Proceedings IEEE Joint International Conference on Requirements Engineering (pp. 311-318). IEEE. https://doi.org/10.1109/ ICRE.2002.1048544
[37]. Lopez, A., Nicolas, J., & Toval, A. (2009, July). Risks and safeguards for the requirements engineering process in global software development. In 2009 Fourth IEEE International Conference on Global Software Engineering (pp. 394-399). IEEE. https://doi.org/10.1109/ICGSE.2009.62
[38]. Mikulovic, V., & Heiss, M. (2006, May). "How do I know what I have to do?" the role of the inquiry culture in requirements communication for distributed software th development projects. In Proceedings of the 28 International Conference on Software Engineering (pp. 921-925).
[39]. Niazi, M., & Shastry, S. (2003). Critical success factors for the improvement of requirements engineering process. In International Conference on Software Engineering Research and Practice, (pp. 433–439).
[40]. Pandey, D., Suman, U., & Ramani, A. K. (2010, October). An effective requirement engineering process model for software development and requirements management. In 2010 International Conference on Advances in Recent Technologies in Communication and Computing (pp. 287-291). IEEE. https://doi.org/10.1109/ ARTCom.2010.24
[41]. Prikladnicki, R., & Audy, J. L. N. (2003). Requirements engineering in global software development: Preliminary findings from a case study in a SW-CMM context. In th Proceedings of the 5 SIMPROS–Simpósio Internacional de Melhoria de Processo de Software, Pernambuco.
[42]. Regnell, B., Höst, M., och Dag, J. N., Beremark, P., & Hjelm, T. (2001). An industrial case study on distributed prioritisation in market-driven requirements engineering for packaged software. Requirements Engineering, 6(1), 51- 62. https://doi.org/10.1007/s007660170015
[43]. Robinson, W. N., Pawlowski, S. D., & Volkov, V. (2003). Requirements interaction management. ACM Computing Surveys (CSUR), 35(2), 132-190. https://doi.org/10.1145/ 857076.857079
[44]. Romero, M., Vizcaíno, A., & Piattini, M. (2009, September). Teaching requirements elicitation within the context of global software development. In 2009 Mexican International Conference on Computer Science (pp. 232- 239). IEEE. https://doi.org/10.1109/ENC.2009.29
[45]. Sakthivel, S. (2007). Managing risk in offshore systems development. Communications of the ACM, 50(4), 69-75. https://doi.org/10.1145/1232743.1232750
[46]. Savio, D., Anitha, P. C., Patil, A., & Creighton, O. (2012, September). Visualizing requirements in distributed system development. In 2012 Second IEEE International Workshop on Requirements Engineering for Systems, Services, and Systems-of-Systems (RESS) (pp. 14-19). IEEE. https://doi.org/ 10.1109/RES4.2012.6347690
[47]. Shrivastava, S. V., & Rathod, U. (2014). Risks in distributed agile development: A review. Procedia-Social and Behavioral Sciences, 133, 417-424. https://doi.org/ 10.1016/j.sbspro.2014.04.208
[48]. Sidhu, J. S., & Volberda, H. W. (2011). Coordination of globally distributed teams: A co-evolution perspective on offshoring. International Business Review, 20(3), 278-290. https://doi.org/10.1016/j.ibusrev.2011.01.006
[49]. Sinha, V., Sengupta, B., & Chandra, S. (2006). Enabling collaboration in distributed requirements management. IEEE Software, 23(5), 52-61. https://doi.org/ 10.1109/MS.2006.123
[50]. Šmite, D. (2006). Requirements management in distributed projects. Journal of Universal Knowledge Management, 1(2), 69-76.
[51]. Søderberg, A. M., Krishna, S., & Bjørn, P. (2013). Global software development: Commitment, trust and cultural sensitivity in strategic partnerships. Journal of International Management, 19(4), 347-361. https://doi.org/10.1016/j. intman.2013.04.004
[52]. Solis, C., & Ali, N. (2010, August). Distributed requirements elicitation using a spatial hypertext wiki. In th 2010 5 IEEE International Conference on Global Software Engineering (pp. 237-246). IEEE. https://doi.org/10.1109/ ICGSE.2010.35
[53]. Tell, P., & Babar, M. A. (2011, August). Requirements for an infrastructure to support activity-based computing in global software development. In 2011 IEEE Sixth International Conference on Global Software Engineering Workshop (pp. 62-69). IEEE.