Abstract
When a system evolves, its architecture co-evolves and becomes more complex. Thus, the development team needs to continuously expend modernizing efforts to reduce the complexity and improve the maintainability. To this end, software development processes can be used. However, many processes in their original form are mainly used for greenfield projects or integrating new requirements. Thus, many processes are not ideally suited to continuously modernize software while considering the existing requirements. In this paper, we present our experience during the modernization of a long-lived software system. During the modernization we used a process which is based on the spiral model and combined it with different agile development principles to continuously modernize a long-lived system in a lightweight manner. Our process aims at improving quality attributes of a software system while considering existing and changing requirements. This process was applied to the Hardware Configuration Definition (HCD), which is used on IBM Z for several decades to define I/O configurations. Using this real-world software system, we present the lessons learned and our experiences during the modernization.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
van der Aalst, W., Jablonski, S.: Dealing with workflow change: identification of issues and solutions. Comput. Syst. Sci. Eng. 15(5), 267–276 (2000)
Alshuqayran, N., Ali, N., Evans, R.: Towards micro service architecture recovery: an empirical study. In: IEEE ICSA, pp. 47–4709 (2018)
Boehm, B.: A spiral model of software development and enhancement. Computer 21(5), 61–72 (1988)
Ernst, N., et al.: Creating software modernization roadmaps: the architecture options workshop. In: IEEE/IFIP 13th WICSA, pp. 71–80 (2016)
Everaars, C., Arbab, F., Koren, B.: Modernizing existing software: a case study. In: SC 2004: Proceedings of the 2004 ACM/IEEE Conference on Supercomputing, p. 3 (2004)
Fowler, M.: The strangler fig application (2004). https://martinfowler.com/bliki/StranglerFigApplication.html. Accessed 29 Apr 2019
Granchelli, G., et al.: Microart: a software architecture recovery tool for maintaining microservice-based systems. In: ICSA Workshops, pp. 298–302. IEEE Computer Society (2017)
IBM: Hardware Configuration Definition User’s Guide - z/OS Version 2 Release 4. IBM (2019)
IBM: IBM Z - Processor Resource/Systems Manager Planning Guide - SB10-7169-02. IBM (2019)
ISO/IEC 25010: ISO/IEC 25010:2011, systems and software engineering – systems and software quality requirements and evaluation (square) – system and software quality models (2011)
Jha, M., Maheshwari, P.: Reusing code for modernization of legacy systems. In: 13th IEEE International Workshop on STEP, pp. 102–114 (2005)
Knoche, H., Hasselbring, W.: Using microservices for legacy software modernization. IEEE Softw. 35(3), 44–49 (2018)
Knoche, H.: Sustaining runtime performance while incrementally modernizing transactional monolithic software towards microservices. In: Proceedings of 7th ACM/SPEC on ICPE 2016, pp. 121–124. ACM (2016)
Krause, A., et al.: Microservice decomposition via static and dynamic analysis of the monolith. In: IEEE ICSA-C, pp. 9–16 (2020)
Lehman, M.M.: On understanding laws, evolution, and conservation in the large-program life cycle. J. Syst. Softw. 1, 213–221 (1984)
Mehta, A.: Evolving legacy systems using feature engineering and CBSE. In: Proceedings of 23rd ICSE, pp. 797–798 (2001)
O’Brien, L., Brebner, P., Gray, J.: Business transformation to SOA: aspects of the migration and performance and QOS issues. In: Proceedings of 2nd International Workshop on SDSOA Environments, pp. 35–40. ACM (2008)
Pizka, M., Bauer, A.: A brief top-down and bottom-up philosophy on software evolution. In: Proceedings of 7th IWPSE, pp. 131–136 (2004)
Rios, N., et al.: The most common causes and effects of technical debt: First results from a global family of industrial surveys. In: Proceedings of 12th ACM/IEEE International Symposium on ESEM 2018. ACM (2018)
Rostami, K., et al.: Architecture-based assessment and planning of change requests. In: Proceedings of 11th International ACM SIGSOFT Conference on QoSA, pp. 21–30. ACM (2015)
Seacord, R., Plakosh, D., Lewis, G.A.: Modernizing Legacy Systems: Software Technologies, Engineering Process and Business Practices. Addison-Wesley Longman Publishing Co., Inc. (2003)
Stellman, A., Greene, J.: Learning Agile: Understanding Scrum, XP, Lean, and Kanban. O’Reilly (2014)
Swanson, B.: The dimensions of maintenance. In: Proceedings of the 2nd ICSE 1976, pp. 492–497. IEEE Computer Society Press (1976)
Wendland, M.F., et al.: Model-based testing in legacy software modernization: an experience report. In: Proceedings of 2013 International Workshop on JAMAICA, pp. 35–40. ACM (2013)
White, B., et al.: IBM Z15 Technical Introduction. IBM Redbooks (2020)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Busch, K., Böwing, N.C., Spinner, S., Noorshams, Q., Grötzner, M. (2021). An Experience Report on Modernizing I/O Configuration Software. In: Biffl, S., Navarro, E., Löwe, W., Sirjani, M., Mirandola, R., Weyns, D. (eds) Software Architecture. ECSA 2021. Lecture Notes in Computer Science(), vol 12857. Springer, Cham. https://doi.org/10.1007/978-3-030-86044-8_18
Download citation
DOI: https://doi.org/10.1007/978-3-030-86044-8_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-86043-1
Online ISBN: 978-3-030-86044-8
eBook Packages: Computer ScienceComputer Science (R0)