|||"Reuse in Contemporary Software Engineering Practices – An Exploratory Case Study in A Medium-sized Company", In e-Informatica Software Engineering Journal, vol. 16, no. 1, pp. 220110, 2022.
DOI: , 10.37190/e-Inf220110.|
Download article (PDF)Get article BibTeX file
Xingru Chen, Deepika Badampudi, Muhammad Usman
Background: Software practice is evolving with changing technologies and practices such as InnerSource, DevOps, and microservices. It is important to investigate the impact of contemporary software engineering (SE) practices on software reuse.
Aim: This study aims to characterize software reuse in contemporary SE practices and investigate its implications in terms of costs, benefits, challenges, and potential improvements in a medium-sized company.
Method: We performed an exploratory case study by conducting interviews, group discussions, and reviewing company documentation to investigate software reuse in the context of contemporary SE practices in the case company.
Results: The results indicate that the development for reuse in contemporary SE practices incurs additional coordination, among other costs. Development with reuse led to relatively fewer additional costs and resulted in several benefits such as better product quality and less development and delivery time. Ownership of reusable assets is challenging in contemporary SE practice. InnerSource practices may help mitigate the top perceived challenges: discoverability and ownership of the reusable assets, knowledge sharing and reuse measurement.
Conclusion: Reuse in contemporary SE practices is not without additional costs and challenges. However, the practitioners perceive costs as investments that benefit the company in the long run.
software reuse, contemporary SE practices, software reuse costs and benefits, software reuse challenges and improvements, InnerSource
1. P. Mohagheghi and R. Conradi, “Quality, productivity and economic benefits of software reuse: A review of industrial studies,” Empirical Software Engineering , Vol. 12, No. 5, 2007, pp. 471–516.
2. J.L. Barros-Justo, F. Pinciroli, S. Matalonga, and N. Martínez-Araujo, “What software reuse benefits have been transferred to the industry? A systematic mapping study,” Information and Software Technology , Vol. 103, 2018, pp. 1–21.
3. D. Bombonatti, M. Goulão, and A. Moreira, “Synergies and tradeoffs in software reuse – A systematic mapping study,” Software: practice and experience , Vol. 47, No. 7, 2017, pp. 943–957.
4. D. Cooper and K.J. Stol, Adopting InnerSource . O’Reilly Media, Incorporated, 2018.
5. J.L. Barros-Justo, F.B. Benitti, and S. Matalonga, “Trends in software reuse research: A tertiary study,” Computer Standards & Interfaces , Vol. 66, 2019, p. 103352.
6. R. Capilla, B. Gallina, C. Cetina, and J. Favaro, “Opportunities for software reuse in an uncertain world: From past to emerging trends,” Journal of Software: Evolution and Process , Vol. 31, No. 8, 2019, p. e2217.
7. T. Mikkonen and A. Taivalsaari, “Software reuse in the era of opportunistic design,” IEEE Software , Vol. 36, No. 3, 2019, pp. 105–111.
8. B. Xu, L. An, F. Thung, F. Khomh, and D. Lo, “Why reinventing the wheels? An empirical study on library reuse and re-implementation,” Empirical Software Engineering , Vol. 25, No. 1, 2020, pp. 755–789.
9. R. Capilla, T. Mikkonen, C. Carrillo, F.A. Fontana, I. Pigazzini et al., “Impact of opportunistic reuse practices to technical debt,” in 2021 IEEE/ACM International Conference on Technical Debt (TechDebt) . IEEE, 2021, pp. 16–25.
10. M. Höst, K.J. Stol, and A. Oručević-Alagić, “Inner source project management,” in Software Project Management in a Changing World . Springer, 2014, pp. 343–369.
11. S. Fox, “IBM internal open source bazaar.” Presentation at the IBM Linux Technology Center in November 2007 .
12. P. Vitharana, J. King, and H.S. Chapman, “Impact of internal open source development on reuse: Participatory reuse in action,” Journal of Management Information Systems , Vol. 27, No. 2, 2010, pp. 277–304.
13. A. Balalaie, A. Heydarnoori, and P. Jamshidi, “Microservices architecture enables DevOps: Migration to a cloud-native architecture,” IEEE Software , Vol. 33, No. 3, 2016, pp. 42–52.
14. P. Jamshidi, C. Pahl, N.C. Mendonça, J. Lewis, and S. Tilkov, “Microservices: The journey so far and challenges ahead,” IEEE Software , Vol. 35, No. 3, 2018, pp. 24–35.
15. J. Soldani, D.A. Tamburri, and W.J. Van Den Heuvel, “The pains and gains of microservices: A systematic grey literature review,” Journal of Systems and Software , Vol. 146, 2018, pp. 215–232.
16. J.P. Gouigoux and D. Tamzalit, “From monolith to microservices: Lessons learned on an industrial migration to a web oriented architecture,” in 2017 IEEE International Conference on Software Architecture Workshops (ICSAW) . IEEE, 2017, pp. 62–65.
17. M. Capraro and D. Riehle, “Inner source definition, benefits, and challenges,” ACM Computing Surveys (CSUR) , Vol. 49, No. 4, 2016, pp. 1–36.
18. J.L. Barros-Justo, D.N. Olivieri, and F. Pinciroli, “An exploratory study of the standard reuse practice in a medium sized software development firm,” Computer Standards & Interfaces , Vol. 61, 2019, pp. 137–146.
19. V. Bauer and A. Vetro, “Comparing reuse practices in two large software-producing companies,” Journal of Systems and Software , Vol. 117, 2016, pp. 545–582.
20. J. Krüger and T. Berger, “An empirical analysis of the costs of clone-and platform-oriented software reuse,” in Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering , 2020, pp. 432–444.
21. O.P.N. Slyngstad, A. Gupta, R. Conradi, P. Mohagheghi, H. Rønneberg et al., “An empirical study of developers views on software reuse in statoil asa,” in Proceedings of the 2006 ACM/IEEE international symposium on empirical software engineering , 2006, pp. 242–251.
22. S.A. Ajila and D. Wu, “Empirical study of the effects of open source adoption on software development economics,” Journal of Systems and Software , Vol. 80, No. 9, 2007, pp. 1517–1529.
23. N. Mäkitalo, A. Taivalsaari, A. Kiviluoto, T. Mikkonen, and R. Capilla, “On opportunistic software reuse,” Computing , Vol. 102, No. 11, 2020, pp. 2385–2408.
24. W.W. Agresti, “Software reuse: developers’ experiences and perceptions,” Journal of Software Engineering and Applications , Vol. 4, No. 01, 2011, p. 48.
25. V. Bauer, J. Eckhardt, B. Hauptmann, and M. Klimek, “An exploratory study on reuse at Google,” in Proceedings of the 1st international workshop on software engineering research and industrial practices , 2014, pp. 14–23.
26. P. Runeson and M. Höst, “Guidelines for conducting and reporting case study research in software engineering,” Empirical software engineering , Vol. 14, No. 2, 2009, pp. 131–164.
27. E.C. (2003), Commission Recommendation of 6 May 2003 concerning the definition of micro, small and medium-sized enterprises, C (2003) 1422 . [Online]. http://data.europa.eu/eli/reco/2003/361/oj.[Accessed:Apr.16,2021]
28. C.B. Seaman, “Qualitative methods in empirical studies of software engineering,” IEEE Transactions on software engineering , Vol. 25, No. 4, 1999, pp. 557–572.
29. D.S. Cruzes and T. Dyba, “Recommended steps for thematic synthesis in software engineering,” in 2011 International Symposium on Empirical Software Engineering and Measurement , 2011, pp. 275–284.
30. K. Petersen and C. Wohlin, “A comparison of issues and advantages in agile and incremental development between state of the art and an industrial case,” Journal of systems and software , Vol. 82, No. 9, 2009, pp. 1479–1490.
31. J. Saldaña, The coding manual for qualitative researchers . SAGE Publications Limited, 2021.
32. IEEE Standard for Information Technology–System and Software Life Cycle Processes – Reuse Processes , IEEE Std. 1517-2010, Aug 2010.
33. K. Petersen and C. Wohlin, “Context in industrial software engineering research,” in 2009 3rd International Symposium on Empirical Software Engineering and Measurement . IEEE, 2009, pp. 401–404.
34. L. Goldin and D.M. Berry, “Reuse of requirements reduced time to market at one industrial shop: A case study,” Requirements Engineering , Vol. 20, No. 1, 2015, pp. 23–44.
35. D. Riehle, M. Capraro, D. Kips, and L. Horn, “Inner source in platform-based product engineering,” IEEE Transactions on Software Engineering , Vol. 42, No. 12, 2016, pp. 1162–1177.
36. M. Morisio, M. Ezran, and C. Tully, “Success and failure factors in software reuse,” IEEE Transactions on software engineering , Vol. 28, No. 4, 2002, pp. 340–357.
37. R. Kolb, I. John, J. Knodel, D. Muthig, U. Haury et al., “Experiences with product line development of embedded systems at testo ag,” in 10th International Software Product Line Conference (SPLC’06) . IEEE, 2006, pp. 10–pp.
38. T. Gustavsson, “Managing the open source dependency,” Computer , Vol. 53, No. 2, 2020, pp. 83–87.
39. K. Petersen and C. Gencel, “Worldviews, research methods, and their relationship to validity in empirical software engineering research,” in 2013 joint conference of the 23rd international workshop on software measurement and the 8th international conference on software process and product measurement . IEEE, 2013, pp. 81–89.