By Stephen Dougall
“…the process of making a system, methods, etc. more modern and more suitable for use at the present time.”
– definition of Modernization, Oxford Dictionary
All systems have a life cycle, starting with the inception and construction of the system, moving into the maintenance of the system and eventually decommissioning at the end of the life cycle. During the life cycle, the system delivers value to the organization and its customers, and it is desirable to sustain and even increase this value delivery during the lifetime of the system. Even if the system is well maintained, the surrounding world is in constant change, for example, the discovery of new technologies, changes in laws and regulations, or changes in the way business is done.
To prolong a system lifetime we need to make changes accordingly to ensure sustainability, where sustainability can be defined as “the value delivered by the system substantially outweighs the cost of the system in financial terms or effort.”
Modernization is the process by which we change a system to ensure that it remains “fit for purpose”, and maintains a good balance between value delivery and cost.
Legacy refers to the ageing of an existing system with older technologies, or functions that no longer fit the organisation’s way of working. While the system may still provide significant value delivery, it is perhaps no longer efficient. Legacy Modernization is the process of making changes to legacy systems to provide a modern and more efficient solution for the organization.
Why do we need Legacy Modernization
An organization that has a good level of agility has a substantial competitive advantage, it enables the organization to react, and change quickly to the surrounding environment. To achieve a good level of agility the systems supporting the organization also have to quickly react and change to the surrounding environment. Legacy systems place a constraint on agility since they are often difficult to change or provide inefficient support to business activities. This is not unusual, at the time of the system design there were perhaps technology constraints that no longer exist, or the system was designed for a particular way of working that is no longer relevant.
Legacy Modernization changes or replaces legacy systems, making the organization more efficient and cost-effective. Not only can this optimize existing business processes, but it can open new business opportunities.
Security is an important driver for Legacy Modernization. Cyber-attacks on organizations are common and become more sophisticated over time. The security of a system degrades over time, and legacy systems may no longer have the support or the technologies required to deter modern attack methods, this makes them an easy target for hackers. This represents a significant business risk to an organization.
As legacy systems age, they often have constraints on performance, often due to constraints on the technology. This affects the organization’s ability to deliver value since the processing time and capacity of the system are limited. Legacy Modernization may provide a way to increase capacity.
Legacy Modernization Approach
Sustainability is an important quality attribute for prolonging the lifetime of a system. Ensuring that the architecture is sustainable means that the system can meet the current expectations, without compromising future expectations. While this is not easy, this is perhaps about making the right technology choices. For example, selecting a bleeding-edge technology with a new exciting feature may give short-term advantage, but may compromise sustainability if it is no longer supported after a couple of years.
Measure value, not past investments
The value of a system or technology is the degree to which it supports the organization in delivering business value effectively. Some organizations put a lot of financial investment into developing and maintaining systems. When a system no longer effectively supports value delivery, there can be resistance to decommissioning or migration due to the amount of investment that has been placed in the system. This is a political motive and can be sensitive for certain stakeholders in the organization. However, if the system is no longer delivering the expected value, it is dead-weight for the business, a cost instead of a benefit, regardless of past investment.
Modernizing is not just about technology and systems, within an organization people will be working with skills and processes based around these systems. It is important that these people are involved in the modernization journey, updating skills, learning new ways of doing things and shaping the new technology. This will ease the transformation to modern technologies, or new systems. If this is badly handled, the modernization is likely to meet resistance as people may feel excluded, and become protective.
When Does a System Need Modernization
An important part of planning for modernization is recognizing when systems are reaching the threshold that can be termed legacy. Recognizing this as early as possible will provide more time to mitigate risks and take action. The following are some indicators that a system is reaching legacy status and will likely require modernization.
Perhaps one of the easiest attributes to spot is that the technology either has lost support or, support is being withdrawn. Most major technologies come with a roadmap for support, including projected dates when support will be withdrawn. This can apply to specific versions of the technology, or the complete withdrawal of support. For example, support for operating systems, databases, development platforms.
When selecting a technology platform it is important to consider this aspect, since selecting a platform that quickly loses support will increase the need for modernization. It is also a good idea to monitor the technologies on the market so potential modernization can be planned in good time.
Difficulties in finding people with the appropriate skills needed to further develop, or maintain a system can be an indicator of legacy technologies. This can simply mean that there are fewer people in the market with the required skills, and this often results in these people being very expensive to employ.
This happens as technology ages, the technology community favours newer more exciting technologies, and the skills market for older technologies begins to shrink. It is often the case that there is still a good level of demand for these older technologies since many companies may still have important core business systems running these technologies. For example, many organizations are still running COBOL based systems as part of their core business support. As the market shrinks and demand continues for the limited resources, the cost of recruitment or consultancy increases.
It is wise to monitor the market to ensure there is a healthy base of skills available for the technologies that an organization uses. If there are availability issues or costs are rising significantly, plan for modernization.
For an organization to be competitive it has to maintain a certain level of value delivery. The market is not static so competitors will be continually raising the bar, and an organization has to adapt to the market, which may mean changing the way the business works. The systems in an organization support and facilitate value delivery. During the lifetime of a system the way of working in the organization may change but the systems which were designed for former ways of working remain. This can require significant effort from the business to ensure competitive value delivery. For example, routines or workarounds are performed to align the system with working practices, or certain work activities are patched together with different technologies, such as manually performing calculations or reports in popular spreadsheet applications.
This takes business effort which could be otherwise directed towards activities that create business value. Gathering information from usability studies, requirements, or just having regular forums for personnel and users, can help to identify business effort and indicate how well systems align with the processes in the organization. If a system is not aligned with the needs of the business, modernization may be planned to re-align the system with the business.
Ability to Cope with Change
As an organization and its business will change over time, the systems in the organization have to change too, so that they provide efficient business support. The cost and time taken for changes to systems are critical for the organization. The organization’s systems have to adapt to change as quickly as the business does. When a system becomes slow or costly to change, this is an indicator that the system may be a candidate for modernization.
This can be identified by monitoring the costs of systems, both OPEX and CAPEX. The time from the specification of changes to the delivery of changes can also be monitored. Sometimes there might be constraints in the system which force a heavy release cycle, for example, the system can only deliver one or two releases a year. This limits the ability of the business to cope with change.
A system landscape can contain many modern systems, but a single legacy system can create a bottleneck in a value stream or business process. In the flow of work, the presence of an upstream legacy system may well prevent or reduce the benefits of modernized systems further down the stream. Work and effort bunch up at the bottleneck and other systems with better support and greater capacity are simply not utilized. Noticing that modern systems are not being used to their full capacity may well be an indicator that there is a legacy problem upstream. Identifying these bottlenecks is extremely important since bottlenecks prevent the downstream systems from realizing their full potential.
Technology changes fast and the capacity of technologies in terms of processing power and storage is continually advancing. Older technologies may come with limitations since they were designed for particular platforms or hardware. This presents a limitation to the organization in terms of the amount of data that can be managed and the speed at which the organization can respond to events, for example, sales orders or analysis of sales data. If an organization finds that information is not available in a timely fashion or work items are being processed slowly, this can be an indicator of a legacy system.
Application Portfolio Management
Application portfolio management techniques can be used to monitor the application landscape and assess costs against value. Monitoring the OPEX (operational expenses) and CAPEX (capital expenditure) of applications in the landscape will reveal the running cost of the application (OPEX) against investments such as development (CAPEX).
To assess if the cost provides value for money a set of metrics can be used to rate each system. Typical metrics which can be used to measure applications are:
- Future-proofed technologies
- Support availability
- Competence availability
- Number of users
- Business criticality
Low ratings in such metrics can indicate that the application or system is reaching its end of life.
This information can be used to plan activities to modernize or decommission applications from the portfolio. One method which can be used to strategically monitor and plan actions for legacy modernization is the TIME model (Gartner).
The TIME model shows the applications in the portfolio and places them in the business capabilities they support. The applications are then categorized as follows:
- Tolerate – the application is tolerated since the application provides value and the cost of migration or replacement is perhaps too expensive, but the investment is not justified. These applications may be targets for modernization through re-engineering.
- Invest – the application provides high value and is a target for investment.
- Migrate – the application function provides value but is no longer effective, modernization may be achieved by migrating functions or data to a modern platform.
- Eliminate – the application no longer provides value and is eliminated. The application may be replaced completely by another application.
The diagram below shows an example of a TIME model based on Tinkelman Coffee Shop.
In the example above, several applications are supporting the Tinkelman business capabilities. Notice that the same application may support several capabilities. This means that it is possible to migrate or eliminate an application in one capability but continue to invest in the application for another capability.
The COFI-BIZ is a business system widely used in several capabilities. However, the logistics module of COFI-BIZ is no longer supported and will be migrated to the logistics system LOGI-GO. In several coffee shops, the old accounting system A-COUNT is still in use. This will be migrated to COFI-BIZ. The POS 80 point-of-sale system is developed in-house but skills to maintain the system are no longer available, this is to be replaced with the SALE-POINT system. The ROBO-PACK and AD-DESIGN systems are tolerated, they do not merit the investment for migration or replacement, but the ROBO-PACK can be modernized by re-engineering some modules.
The TIME model can be used to assess the application portfolio and plan initiatives for legacy modernization. The model provides a visual status on the portfolio to ensure that legacy systems are managed effectively.
Strategies for Legacy Modernization
Re-engineering of legacy systems often involves major technical surgery where substantial parts of the system are either re-designed or modified. This can be a useful strategy if the system function is still valuable to the organization but the cost of maintenance is large, or technologies lack support. In practice this may result in:
- Porting legacy programming language to modern programming language
- Complete re-design of specific functions or modules
- Modernization of platform or third-party components
- Modernization of an architecture layer (for example, data management or presentation)
Re-engineering can be very expensive. Automated tools can help to re-engineer a system, for example, converting from one programming language to another, or moving to a new platform. The use of automated tools can speed up the re-engineering process but it is unlikely to improve the quality of the implementation.
Wrap it up
Sometimes legacy systems are too expensive to fully re-engineer but still contain core functions and data which is valuable to the business. The difficulty is that the legacy system is placing a constraint on the agility of the organization. One approach is to wrap the legacy system in a façade using modern technologies and use the inter-operability of the modern technology to gain access to the legacy functions and data.
For example, a legacy system may be wrapped using APIs which mediate and expose data from the legacy system to modern applications. Using this technique, the data from the legacy system may be used via APIs, while providing a modern application as front-end.
This strategy has limitations, especially if performance or capacity is an issue. Wrapping the legacy system is unlikely to improve performance and can even add extra overhead. Communication protocols with the legacy system may also be constrained limiting the ability to communicate in real-time.
A common modernization strategy is to migrate the legacy system to a modern system. This is done when the data contained in the legacy system is still very valuable to the organization. A new system is purchased or developed and the data from the legacy system is migrated into the modern system.
This strategy provides a new system with modern technologies while retaining valuable data from the legacy system.
Purchasing or developing a new system requires substantial investment and takes significant time. Migration tools are required for transforming the data formats from the legacy system to the new system and the migration may only be successful for a certain percentage of the data, therefore manual migration may be required. It may also be the case that the legacy system and new system will run in parallel for a certain period of time, and this can incur double maintenance costs.
Decommission and replace
In some cases, a legacy system simply reaches its end of life. The historical data is deemed to be of little value and the system can simply be replaced by a modern system providing the functions that the organization needs. The legacy system is decommissioned and archived. If data is required from the legacy system it may be obtained from the archive.
This strategy provides a faster way to replace the legacy system, however, it may take some time for the organization to adjust to the new system. The introduction of the new system is likely to require substantial training for personnel. Under an initial period, the organization may have to obtain data from the archive as well as from the new system, this may involve using time-consuming manual processes.
Dougall is a senior Enterprise/Solution Architect with 20+ years’ experience. He works mostly as a consultant advising and helping clients with strategy, planning and execution of large digital transitions. Dougall has been responsible for large architecture projects in several branches including, pharmaceuticals, manufacturing, transport, logistics and public sector agencies. He has developed architectures in a number of technology domains, for example, master data management (MDM), integration and application development. Dougall has an IASA CITA-D certification and contribute articles to the IASA ITABok (IT-Architects Body of Knowledge) as well as writing article for my own Architecturality blog (architecturality.blog).
References and Further Reading
A Beginners Guide to Capex vs Opex, Software Advisory Service
Use TIME to Engage the Business for Application and Product Portfolio Triage