Abstract
In global software development, requirements re-usability is a common practice which ultimately helps to maintain project quality and reduce both development time and cost. However, when a large-scale project is distributed, there are some critical factors needed to be maintained and managed for reusing requirements and it is considered a challenging job to interrelate the requirements between two identical projects. In this study, we have pointed out 48 challenges faced and 43 mitigation techniques used when implementing requirements re-usability in global software development projects among distributed teams. The challenges distributed teams frequently encounter can be divided into three considering issues as Communication, Coordination and Control of distributed teams in global software development. The results from this study can be used to plan development strategies while reusing requirements in distributed manners.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Adorf, C.S., Ramasubramani, V., Anderson, J.A., Glotzer, S.C.: How to professionally develop reusable scientific software-and when not to. Comput. Sci. Eng. 21(2), 66–79 (2018)
Aurum, A., Jeffery, R., Wohlin, C., Handzic, M.: Managing Software Engineering Knowledge. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-662-05129-0
Basso, F.P., Pillat, R.M., Oliveira, T.C., Becker, L.B.: Supporting large scale model transformation reuse. In: ACM SIGPLAN Notices, vol. 49, pp. 169–178. ACM (2013)
Berzisa, S., Grabis, J.: Knowledge reuse in configuration of project management information systems: a change management case study. In: 2011 15th IEEE International Conference on Intelligent Engineering Systems (INES), pp. 51–56. IEEE (2011)
Biddle, R., Martin, A., Noble, J.: No name: just notes on software reuse. ACM SIGPLAN Not. 38(12), 76–96 (2003)
Bjarnason, E., Wnuk, K., Regnell, B.: Requirements are slipping through the gapsóa case study on causes & effects of communication gaps in large-scale software development. In: 2011 19th IEEE International Requirements Engineering Conference (RE), pp. 37–46. IEEE (2011)
Brown, S., Felsing, M.: Reuse based requirements development & management (RBRDM) (2005)
Budgen, D., Turner, M., Brereton, P., Kitchenham, B.: Using mapping studies in software engineering. In: Proceedings of PPIG, vol. 8, pp. 195–204 (2008)
Chernak, Y.: Requirements reuse: the state of the practice. In: 2012 IEEE International Conference on Software Science, Technology and Engineering (SWSTE), pp. 46–53. IEEE (2012)
Daneva, M., Van Der Veen, E., Amrit, C., Ghaisas, S., Sikkel, K., Kumar, R., Ajmeri, N., Ramteerthkar, U., Wieringa, R.: Agile requirements prioritization in large-scale outsourced system projects: an empirical study. J. Syst. Softw. 86(5), 1333–1353 (2013)
Decker, B., et al.: A framework for agile reuse in software engineering using wiki technology. Wissensmanagement 2005, 411–414 (2005)
Feldmann, R.L., Geppert, B., Mahnke, W., Ritter, N., Rossler, F.: An ORDBMS-based reuse repository supporting the quality improvement paradigm-exemplified by the SDL-pattern approach. In: 34th International Conference on Technology of Object-Oriented Languages and Systems, TOOLS 34. Proceedings, pp. 125–136. IEEE (2000)
Feldmann, R.L., Geppert, B., Rossler, F.: An integrating approach for developing distributed software systems-combining formal methods, software reuse, and the experience base. In: Fifth IEEE International Conference on Engineering of Complex Computer Systems, ICECCS 1999, pp. 54–63. IEEE (1999)
Fortune, J., Valerdi, R.: Considerations for successful reuse in systems engineering. AIAA Space 2008 (2008)
Frakes, W.B., Kang, K.: Software reuse research: status and future. IEEE Trans. Software Eng. 31(7), 529–536 (2005)
Carrillo de Gea, J.M., Nicolás, J., Fernández-Alemán, J.L., Toval, A.: Automated support for reuse-based requirements engineering in global software engineering. J. Softw. Evol. Process 29(8), e1873 (2017)
de Gea, J.M.C., Nicolás, J., Alemán, J.L.F., Toval, A., Vizcaíno, A., Ebert, C.: Reusing requirements in global software engineering. In: Maalej, W., Thurimella, A. (eds.) Managing Requirements Knowledge, pp. 171–197. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-34419-0_8
Gill, N.S.: Reusability issues in component-based development. ACM SIGSOFT Softw. Eng. Not. 28(4), 4 (2003)
Goldin, L., Matalon-Beck, M., Lapid-Maoz, J.: Reuse of requirements reduces time to market. In: 2010 IEEE International Conference on Software Science, Technology and Engineering (SWSTE), pp. 55–60. IEEE (2010)
Gomaa, H., Farrukh, G.: A software engineering environment for configuring distributed applications from reusable software architectures. In: Eighth IEEE International Workshop on Software Technology and Engineering Practice, Proceedings, [incorporating Computer Aided Software Engineering], pp. 312–325. IEEE (1997)
Gomaa, H., Farrukh, G.A.: An approach for generating executable distributed applications from reusable software architectures. In: Second IEEE International Conference on Engineering of Complex Computer Systems, Proceedings, pp. 442–449. IEEE (1996)
Gomaa, H., Farrukh, G.A.: Automated configuration of distributed applications from reusable software architectures. In: 12th IEEE International Conference Automated Software Engineering, Proceedings, pp. 193–200. IEEE (1997)
Gómez-Hérnandez, M.A., Asensio-Pérez, J.I., Gómez-Sánchez, E., Bote-Lorenzo, M.L., Dimitriadis, Y.A.: A high-level reference model for reusable object-level coordination support in groupware applications. In: 15th EUROMICRO International Conference on Parallel, Distributed and Network-Based Processing, PDP 2007, pp. 315–324. IEEE (2007)
Gunasekaran, A.: Agile manufacturing: enablers and an implementation framework. Int. J. Prod. Res. 36(5), 1223–1247 (1998)
Hill, J.H., Schmidt, D.C., Edmondson, J.R., Gokhale, A.S.: Tools for continuously evaluating distributed system qualities. Software IEEE 27(4), 65–71 (2010)
Hofmeister, C., Nord, R., Soni, D.: Global analysis: moving from software requirements specification to structural views of the software architecture. IEE Proc. Softw. 152(4), 187–197 (2005)
Hong, W.: Architecture-centric software process for pattern based software reuse. In: WRI World Congress on Software Engineering, WCSE 2009, vol. 4, pp. 95–99. IEEE (2009)
Hoover, C.L., Khosla, P.K.: An analytical approach to change for the design of reusable real-time software. In: Second Workshop on Object-Oriented Real-Time Dependable Systems, 1996, Proceedings of WORDS 1996, pp. 144–151. IEEE (1996)
Hossain, S.S.: Challenges and mitigation strategies in reusing requirements in large-scale distributed agile software development: a survey result. In: Arai, K., Bhatia, R., Kapoor, S. (eds.) CompCom 2019. AISC, vol. 998, pp. 920–935. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-22868-2_63
Hossain, S.S., Jubayer, S.A.M., Rahman, S., Bhuiyan, T., Rawshan, L., Islam, S.: Customer feedback prioritization technique: a case study on lean startup. In: Misra, S., Gervasi, O., Murgante, B., Stankova, E., Korkhov, V., Torre, C., Rocha, A.M.A.C., Taniar, D., Apduhan, B.O., Tarantino, E. (eds.) ICCSA 2019. LNCS, vol. 11623, pp. 70–81. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-24308-1_6
Irshad, M.: Measuring cost avoidance through software reuse. Ph.D. thesis, Masterís thesis, Blekinge Institute of Technology, school of computing, Sweden, MSE-2010: 38 (2011)
Kakarontzas, G., Stamelos, I.: Component recycling for agile methods. In: 2010 Seventh International Conference on the Quality of Information and Communications Technology (QUATIC), pp. 397–402. IEEE (2010)
Kamalraj, R., Geetha, B., Singaravel, G.: Reducing efforts on software project management using software package reusability. In: IEEE International Advance Computing Conference, IACC 2009, pp. 1624–1627. IEEE (2009)
Karlsson, L., Dahlstedt, Å.G., Regnell, B., och Dag, J.N., Persson, A.: Requirements engineering challenges in market-driven software development-an interview study with practitioners. Inf. Softw. Technol. 49(6), 588–604 (2007)
Kavitha, C., Shidha, M., Jino, P.: Reusability and agile pattern mining. Int. J. Comput. Appl. 68(2) (2013)
Khan, M.Z., Khan, M.: Enhancing software reusability through value based software repository. Int. J. Softw. Eng. Its Appl. 8(11) (2014)
Kitchenham, B.: Procedures for performing systematic reviews. Keele, UK, Keele University 33(2004), 1–26 (2004)
Knauss, E., Liebel, G., Schneider, K., Horkoff, J., Kasauli, R.: Quality requirements in agile as a knowledge management problem: More than just-in-time. In: 2017 IEEE 25th International Requirements Engineering Conference Workshops (REW), pp. 427–430. IEEE (2017)
Kovacevic, J., et al.: Survey of the state-of the-art in requirements engineering for software product line and model-driven requirements engineering. Technical report, Technical Report D 1.1, Ample-project (2007)
Liang, P., Avgeriou, P., Clerc, V.: Requirements reasoning for distributed requirements analysis using semantic wiki. In: Fourth IEEE International Conference on Global Software Engineering, ICGSE 2009, pp. 388–393. IEEE (2009)
Liang, X.: Research on the distributive knowledge management system of logistic enterprise integrating context management. In: 2009 WRI World Congress on Computer Science and Information Engineering, vol. 5, pp. 204–210. IEEE (2009)
Liu, L., Zicari, R., Hursch, W., Lieberherr, K.J.: The role of polymorphic reuse mechanisms in schema evolution in an object-oriented database. IEEE Trans. Knowl. Data Eng. 9(1), 50–67 (1997)
López, C., Cysneiros, L.M., Astudillo, H.: NDR ontology: sharing and reusing NFR and design rationale knowledge. In: First International Workshop on Managing Requirements Knowledge, MARK 2008, pp. 1–10. IEEE (2008)
López, O., Laguna, M.A., Peñalvo, F.J.G.: Metamodeling for requirements reuse. In: WER, pp. 76–90 (2002)
Lucredio, D., de Almeida, E.S., Fortes, R.P.: An investigation on the impact of MDE on software reuse. In: 2012 Sixth Brazilian Symposium on Software Components Architectures and Reuse (SBCARS), pp. 101–110. IEEE (2012)
Mannion, M., Kaindl, H.: Product line requirements reuse based on variability management. In: 2012 19th Asia-Pacific Software Engineering Conference (APSEC), vol. 2, pp. 148–149. IEEE (2012)
Martinez, M.A., Toval, A.: COTSRE: a components selection method based on requirements engineering. In: Seventh International Conference on Composition-Based Software Systems, ICCBSS 2008, pp. 220–223. IEEE (2008)
Mili, A., Mili, R., Mittermeir, R.T.: A survey of software reuse libraries. Ann. Softw. Eng. 5, 349–414 (1998)
Mohagheghi, P.: The impact of software reuse and incremental development on the quality of large systems. Ph.D. thesis, Norwegian University of Science and Technology (2004)
Motahari-Nezhad, H.R., Li, J., Stephenson, B., Graupner, S., Singhal, S.: Solution reuse for service composition and integration. In: 2009 World Conference on Services-I, pp. 400–407. IEEE (2009)
Mugridge, R.: Managing agile project requirements with storytest-driven development. Software IEEE 25(1), 68–75 (2008)
Mujtaba, S., Petersen, K., Feldt, R., Mattsson, M.: Software product line variability: a systematic mapping study. Blekinge Institute of Technology, School of Engineering (2008)
Pan, K., Turner, S.J., Cai, W., Li, Z.: An efficient sort-based DDM matching algorithm for HLA applications with a large spatial environment. In: 21st International Workshop on Principles of Advanced and Distributed Simulation, PADS 2007, pp. 70–82. IEEE (2007)
Petersen, K., Feldt, R., Mujtaba, S., Mattsson, M.: Systematic mapping studies in software engineering. In: 12th International Conference on Evaluation and Assessment in Software Engineering, vol. 17. SN (2008)
Leite, J.C.S.P., Yu, Y., Liu, L., Yu, E.S.K., Mylopoulos, J.: Quality-based software reuse. In: Pastor, O., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 535–550. Springer, Heidelberg (2005). https://doi.org/10.1007/11431855_37
Przybyłek, A.: Systems evolution and software reuse in object-oriented programming and aspect-oriented programming. In: Bishop, J., Vallecillo, A. (eds.) TOOLS 2011. LNCS, vol. 6705, pp. 163–178. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21952-8_13
Ramesh, B., Cao, L., Mohan, K., Xu, P.: Can distributed software development be agile? Commun. ACM 49(10), 41–46 (2006)
Sahay, S., Nicholson, B., Krishna, S.: Global IT Outsourcing: Software Development Across Borders. Cambridge University Press (2003)
Shehata, M., Eberlein, A.: Requirements interaction detection using semi-formal methods. In: 10th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, Proceedings, pp. 224–232. IEEE (2003)
Singh, S., Chana, I.: Enabling reusability in agile software development. arXiv preprint arXiv:1210.2506 (2012)
Souag, A., Mazo, R., Salinesi, C., Comyn-Wattiau, I.: Reusable knowledge in security requirements engineering: a systematic mapping study. Requirements Eng. 21(2), 251–283 (2016)
Suri, P., Garg, N.: Software reuse metrics: measuring component independence and its applicability in software reuse. Int. J. Comput. Sci. Netw. Secur. 9(5), 237–248 (2009)
Sutherland, J., Viktorov, A., Blount, J., Puntikov, N.: Distributed scrum: agile project management with outsourced development teams. In: 40th Annual Hawaii International Conference on System Sciences, HICSS 2007, p. 274a. IEEE (2007)
Thakur, S., Singh, H.: FDRD: feature driven reuse development process model. In: 2014 International Conference on Advanced Communication Control and Computing Technologies (ICACCCT), pp. 1593–1598. IEEE (2014)
Turk, D., France, R., Rumpe, B.: Assumptions underlying agile software development processes. arXiv preprint arXiv:1409.6610 (2014)
Villegas, O.L., Laguna, M.A.: Requirements reuse for software development. In: RE 01 Doctoral Workshop. In 5th-IEEE International Symposium on Requirements Engineering, Toronto, Canada, pp. 27–31. Citeseer (2001)
Wahid, S., Smith, J.L., Berry, B., Chewar, C.M., McCrickard, D.S.: Visualization of design knowledge component relationships to facilitate reuse. In: Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, IRI 2004, pp. 414–419. IEEE (2004)
Waldmann, B., Jones, P.: Feature-oriented requirements satisfy needs for reuse and systems view. In: 17th IEEE International Requirements Engineering Conference, RE 2009, pp. 329–334. IEEE (2009)
Wehrwein, B., Matos, G., Tanikella, R.: A requirements-driven and collaborative decision support approach for evaluating the viability of candidate implementation technologies. In: 12th International IEEE Enterprise Distributed Object Computing Conference, EDOC 2008, pp. 293–299. IEEE (2008)
Xiang, F., Ling, G., Jin, Y.: User-driven GIS software reuse solution based on SOA and web2. 0 concept. In: 2nd IEEE International Conference on Computer Science and Information Technology, ICCSIT 2009, pp. 5–9. IEEE (2009)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Hossain, S.S., Arafat, Y., Amin, T., Bhuiyan, T. (2020). Requirements Re-usability in Global Software Development: A Systematic Mapping Study. In: Gervasi, O., et al. Computational Science and Its Applications – ICCSA 2020. ICCSA 2020. Lecture Notes in Computer Science(), vol 12252. Springer, Cham. https://doi.org/10.1007/978-3-030-58811-3_68
Download citation
DOI: https://doi.org/10.1007/978-3-030-58811-3_68
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-58810-6
Online ISBN: 978-3-030-58811-3
eBook Packages: Computer ScienceComputer Science (R0)