The software needs to be improved
Despite careful care and maintenance, it can happen that the software itself needs to be fundamentally improved. There are various reasons for this: One example are technologies that were used in the realization of the software. Technologies, whether open source or commercial, are themselves subject to a lifecycle. If a technology is no longer being developed further or if it is simply not possible to find experienced developers, companies are forced to replace such a technology. Another reason may relate to the internal quality of legacy systems. Software is subject to a continuous erosion process in which the internal quality of the software can deteriorate successively. A degenerating structure of the system, accumulation of technical debt, increase of code duplicates, departure of knowledge carriers, or lack of documentation can be important factors. Drastically deteriorating maintainability, decreasing stability, and longer release cycles are typical effects. In addition, deficiencies in runtime quality may be reasons that make it necessary to improve legacy software. Such deficiencies must be considered particularly critical because they are noticeable to the end users when they use the software. Examples include poor performance, security gaps, or a poor user experience. These deficiencies can have a serious impact on the success of the software product.
New opportunities are to be exploited
Technologies and business models are evolving continuously. For a company to be successful, it is crucial to continuously check such new developments and examine them with regard to the further development of its products. Offering software in the form of Software-as-a-Service or establishing a Digital Ecosystem are examples of modern business models that have a formative influence on a company’s system landscape. Technological innovations include, for example, cloud and serverless computing, Machine Learning, or diverse new communication technologies such as 5G. These evolutions often necessitate a fundamental modernization of legacy systems, which frequently also affects the organization of the company itself.
Costs are to be reduced
Many legacy systems are still operated on cost-intensive hardware or in expensive execution environments. In the banking and insurance sectors, for example, mainframe systems are often still in use. Many companies are therefore looking to operate on commodity hardware or in the cloud in order to reduce costs. In most cases, such a change of the execution environment also entails a fundamental technological modernization of the legacy systems in question. In development, too, there may be numerous undesired cost drivers. For example, the acquisition of companies that bring their own applications with them, or “historical reasons” often lead to the situation that a company has several applications for the same use case or even completely separate variants of the same product. Maintaining and further developing these in parallel requires a lot of effort and is expensive. In such cases, companies strive for consolidations, i.e., modernization projects in which systems and components are merged or replaced in order to reduce the costs caused by multiple developments. This often calls for product line or modular approaches.
Time-to-market is to be improved
Time-to-market, i.e., the point in time and the intervals at which new solutions and functionalities are available, is becoming ever more important for successful survival on the market. This is particularly true for Digital Ecosystems. Successful companies today use Continuous Integration and Continuous Delivery approaches to release new features in their applications several times a day. In the process, they try out new functionalities, make experiments, collect data, and continuously reinvent their applications. And so the expectations of customers and users grow as well. Such speed poses a special challenge for almost all areas of development, testing, deployment, and operation of the system for a company. The establishment of such a release cycle therefore often requires profound modernization, not only of the application itself, but also of the organization as well as the processes and tools used by the company.
Opportunities are to be seized
Modernizations of legacy systems are more often than not driven by constraints. Nevertheless, it is advisable to see modernization not only as a necessary evil, but also as an opportunity to position the legacy system and the entire company well for the future. New technological developments, e.g., in the sense of comprehensive networking, Machine Learning or Augmented Reality methods, as well as innovative business models open up numerous new possibilities. In addition, modernization offers the opportunity to rethink fundamental assumptions and throw unnecessary ballast overboard.
Back to Overview