Systematic Literature Review: Causes of Rework in GSD
Global Software Development (GSD) involves multiple sites which comprise of different cultures and time zones apart from geographical locations. It is a common software development approach adopted to achieve competitiveness. However, due to multiple challenges it can result in misunderstandings and rework. Rework raises the chance of project failure by delaying the project and increasing the estimated budget. The aim of this study is to identify and categorize the rework causes to reduce its frequency in GSD. To identify the empirical literature related to causes of rework, we performed a Systematic Literature Review (SLR). A total of 23 studies are included as a result of final inclusion. The empirical literature from the year 2009 to 2020 is searched. The overall identified causes of rework in GSD are categorized into 6 major categories which are communication, Requirement Management (RM), roles of stakeholders, product development/integration issues, documentation issues, and differences among stakeholders. The most reported rework causes are related to the category of communication & coordination and RM. Moreover, an industrial survey is conducted to validate the identified rework causes and their mitigation practices from practitioners. This study will help practitioners and researchers in addressing the identified causes and therefore reduce the chances of rework.
[1] Adnan F. and Andnaqvi I., “Effect of Rework on Project Success,” Science International, vol. 27, no. 1, pp. 575-580, 2015.
[2] Ahmed M., Ateeq A., Khan S., and Junad M., “Software Cost Estimation in Global Software Development Business: A Review of Models and Systematic Literature Review: Causes of Rework in GSD 105 Cost Drivers for Economical Business,” International Journal of Business and Economic Affairs, vol. 6, no. 3, pp. 118-129, 2021.
[3] Al-Zaidi A. and Qureshi R., “Global Software Development Geographical Distance Communication Challenges,” The International Arab Journal of Information Technology, vol. 14, no. 2, pp. 215-222, 2017.
[4] Aranda N., Vizcaino A., and Piattini M., “A Framework to Improve Communication During The Requirements Elicitation Process in GSD Projects,” Requirements Engineering, vol. 15, vol. 4, pp. 397-417, 2010.
[5] Barbosa O., Albuquerque W., Bandeira A., Pivoto U., Pires F., and Bonifacio B., “Developing a Release Management Tool to Support Global Software Development: An Experience Report on Android Platform,” in Proceedings of the 15th International Conference on Global Software Engineering, Seoul Republic of Korea, pp. 117-121, 2020.
[6] Beecham S., Clear T., Lal R., and Noll J., “Do Scaling Agile Frameworks Address Global Software Development Risks? an Empirical Study,” Journal of Systems and Software, vol. 171, pp. 110823, 2021.
[7] Beecham S., Noll J., and Richardson I., “Using Agile Practices to Solve Global Software Development Problems-A Case Study,” in Proceedings of the IEEE International Conference on Global Software Engineeering Workshops, Shanghai, pp. 5-10, 2014.
[8] Canedo D. and Santos A., “Factors Affecting Software Development Productivity: An Empirical Study,” in Proceedings of the XXXIII Brazilian Symposium on Software Engineering, pp. 307-316, 2019.
[9] Cass A., Sutton S., and Osterweil L., “Formalizing Rework in Software Processes,” in Proceedings of the 9th International European Workshop on Software Process Technology, Helsinki, pp. 16-31, 2003.
[10] De Beer J. and Depew C., “The Role of Process Engineering in the Digital Transformation,” Computers and Chemical Engineering, vol. 154, pp. 107423, 2021.
[11] De Farias junior I., De Azevedo R., De Moura H., and Da Silva D., “Elicitation of Communication Inherent Risks in Distributed Software Development, in Proceedings of the EEE 7th International Conference on Global Software Engineering Workshops, Porto Alegre, pp. 37-42, 2012.
[12] Ebert C. and Brinkkemper S., “Software Product Management-An Industry Evaluation,” Journal of Systems and Software, vol. 95, pp. 10-18, 2014.
[13] Faizan M., Ulhaq S., and Khan A., “Defect Prevention and Process Improvement Methodology for Outsourced Software Projects,” Middle-East Journal of Scientific Research, vol. 19, no. 5, pp. 674-682, 2014.
[14] Fruchter R., Bosch-Sijtsema P., and Ruohomäki V., “Tension between Perceived Collocation and Actual Geographic Distribution in Project Teams,” Ai and Society, vol. 25, no. 2, pp. 183- 192, 2010.
[15] Galviņa Z. and Šmite D., “Software Development Processes in Globally Distributed Environment,” Scientific Papers, University of Latvia, vol. 770, pp. 7-14, 2011.
[16] Giuseppe S. and Imanol U., “Do We Rework? A Path to Manage One of the Primary Cause of Uncertainty in Software Industry,” in Proceedings of International Conference on the Quality of Information and Communications Technology, Ciudad Real, pp. 179-192, 2019.
[17] Hossain S., “Rework and Reuse Effects in Software Economy,” Global Journal of Computer Science and Technology, vol. 18, no. 4, pp. 35-50, 2018.
[18] Imtiaz S. and Ikram N., “Dynamics of Task Allocation in Global Software Development,” Journal of Software: Evolution and Process,vol. 29, no. 1, pp. e1832, 2017.
[19] Jain R. and Suman U., “A Project Management Framework for Global Software Development,” ACM SIGSOFT Software Engineering Notes, vol. 43, no. 1, pp. 1-10, 2018.
[20] Jain R. and Suman U., “A Systematic Literature Review on Global Software Development Life Cycle,” ACM Sigsoft Software Engineering Notes, vol. 40, no. 2, pp. 1-14, 2015.
[21] Jayatilleke S. and Lai R., “A Method of Assessing Rework for Implementing Software Requirements Changes,” Computer Science and Information Systems, vol. 18, no. 1, pp. 32-32, 2020.
[22] Jiménez M., Piattini M., and Vizcaíno A., “Challenges and Improvements in Distributed Software Development: A Systematic Review,” Advances in Software Engineering, vol. 2009, 2009.
[23] Kaur A., Outsourcing Software Quality, Institutt for Datateknikk og Informasjonsvitenskap, 2013.
[24] Kitchenham B. and Charters S., Guidelines for performing systematic Literature Reviews in Software Engineering,” Technical Report, Keele University, 2007.
[25] Khan A., Basri S., and Selvam D., “Communication Risks in Gsd During Rcm: 106 The International Arab Journal of Information Technology, Vol. 19, No. 1, January 2022 Results fsrom Slr,” in Proceedings of the International Conference on Computer and Information Sciences, Kuala Lumpur, pp. 1-6, 2014.
[26] Khan A., Basri S., and Dominic D., “A Propose Framework Fsor Requirement Change Management In Global Software Development,” in Proceedings of International Conference on Computer and Information Science, Kuala Lumpur, pp. 944-947, 2012.
[27] Khan B. and Ahsan A., “Recommended Configuration Management Practices for Freelance Software Developers,” in Proceedings of 5th International Conference on Software Engineering and Service Science, Beijing, pp. 111-115, 2014.
[28] Khan H., Ahmed A., and Johansson C., “Requirements Understanding in Global Software Engineering: Industrial Surveys,” in Proceedings of International Conference on Computer and Software Modelling, Singapore, 2011.
[29] Kitchenham B., “Procedures for Performing Systematic Reviews,” Technical Report, Keele University, 2004.
[30] Kitchenham B., Brereton O., Budgen D.,Turner M., Bailey J., and Linkman S., “Systematic Literature Reviews in Software Engineering-A Systematic Literature Review,” Information and Software Technology, vol. 51, no. 1, pp. 7-15, 2009.
[31] Leiva G., Maudet N., Mackay W., and Beaudouin-Lafon M., “Enact: Reducing Designer-Developer Breakdowns When Prototyping Custom Interactions,” ACM Transactions on Computer-Human Interaction, vol. 26, no. 3, pp. 1-48, 2019.
[32] Minhas N. and Zulfiqar A., “An improved Framework for Requirement Change Management in Global Software Development,” Journal of Software Engineering and Applications, vol. 7, no. 9, pp. 779-790, 2014.
[33] Nakatsu R. and Iacovou C., “A Comparative Study of Important Risk Factors Involved in Offshore and Domestic Outsourcing of Software Development Projects: A Two-Panel Delphi Study,” Information and Management, vol. 46, vol. 1, pp. 57-68, 2009.
[34] Nguyen-Duc A., Cruzes D., and Conradi R., “The Impact of Global Dispersion on Coordination, Team Performance and Software Quality-A Systematic Literature Review,” Information and Software Technology, vol. 57, pp. 277-294, 2015.
[35] Petersen K., Feldt R., Mujtaba S., and Mattsson M., “Systematic Mapping Study in Software Engineering,” in Proceedings of the 12th International Conference on Evaluation and Assessment in Software Engineering, Italy, pp. 68-77, 2008.
[36] Qureshi S., Khan S., Iqbal J., and Ur-Rehman I., “A Study on Mitigating the Communication and Coordination Challenges During Requirements Change Management in Global Software Development,” IEEE Access, vol. 9, pp. 88217- 88242, 2021.
[37] Ramasubbu N., Cataldo M., Balan R., and Herbsleb J., “Configuring Global Software Teams: A Multi-Company Analysis of Project Productivity, Quality, and Profits,” in Proceedings of the 33rd International Conference on Software Engineering, Honolulu, pp. 261-270. 2011.
[38] Ramdoo V. and Huzooree G., “Strategies to Reduce Rework in Software Development on an Organisation in Mauritius,” International Journal of Software Engineering and Applications, vol. 6, no. 5, pp. 9-20, 2015.
[39] Ramos J., Esteban A., García J., and Amescua A., “Skills and Abilities for Working in A Global Software Development Team: A Competence Model,” Journal of Software: Evolution and Process, vol. 26, no. 3, pp. 329-338, 2014.
[40] Sabahat N., Iqbal F., Azam F., and Javed M., “An Iterative Approach for Global Requirements Elicitation: A Case Study Analysis,” in Proceedings of International Conference on Electronics and Information Engineering, Kyoto, pp. 361-366, 2010.
[41] Saleem N., Mathrani S., and Taskin N., “Investigating Critical Success Factors of Project Management in Global Software Development: A Work in Progress,” in Proceedings of in International Conference on Information Resources Management, Auckland, 2019.
[42] Sedano T., Ralph P., and Péraire C., Rethinking Productivity in Software Engineering, Springer, 2019.
[43] Venkatesh B. and Balani L., “Requirement Management A Key To Successful Project Management for Software Systems,” An International Refereed Journal for Change and Development, vol. 05, no.1, pp. 49-51, 2016.
[44] Verner J., Breretona O., Kitchenhama B., Turnera M., and Niaziacd M., “Risks and Risk Mitigation in Global Software Development: A Tertiary Study,” Information and Software Technology, vol. 56, no. 1, pp. 54-78, 2014.
[45] Yadav V., “A Flexible Management Approach for Globally Distributed Software Projects,” Global Journal of Flexible Systems Management, vol. 17, no. 1, pp. 29-40, 2016. Systematic Literature Review: Causes of Rework in GSD 107
[46] Yaseen M., Baseer S., and Sherin S., “Critical Challenges for Requirement Implementation in Context of Global Software Development: A Systematic Literature Review,” in Proceedings of the International Conference on Open Source Systems and Technologies, Lahore, pp. 120-125, 2015.
[47] Zafar A., Ali S., and Shahdzad R., “Investigating Integration Challenges and Solutions in Global Software Development,” in Proceedings of Frontiers of Information Technology, Islamabad, pp. 291-297, 2011.