Legacy systems have been shaped by the ways organisations work. They typically hold valuable data processed by sophisticated business logic handling both current and historic scenarios applicable when the business was transacted. It can prove difficult, risky and expensive to move away from these mature business systems, especially if this is done by rapid ‘rip and replace’.
Given there is still support available from the manufacturer, legacy systems can be made agile by service enabling them. These services support flexible system to system integrations and can also allow a modern user interface layer to be placed on top of the original application. This enables the valuable business logic within legacy systems to be refactored but not necessarily changed.
We can create new processes by exploiting these services in different ways. These processes can be extended across multiple systems if they have a ‘common view of the truth’ through consistent data. This is often a more pragmatic, cost effective and lower risk approach than ‘rip and replace’ which can run into multiple year projects and then fail anyway; therefore becoming far from agile.
Keeping legacy systems agile to meet new business challenges
Agile systems should enable organisations to:
- run key business processes safely day to day;
- add new business functionality rapidly;
- respond to changes in the structure of an organisation as a result of mergers, acquisitions and divestments;
- incorporate the benefits of new technologies without the need to ‘rip and replace’ existing systems.
To ensure legacy systems are ready to respond to change they need to be kept fine-tuned, fit for purpose and ready to exploit innovations. This involves maintenance to:
- keep them on supported platforms;
- apply software upgrades and security patches;
- retain the knowledge on how they work.
Think of these as the regular workouts at the gym for your ‘middle aged’ applications. This will keep them fit to respond to new business challenges and safe from cyber-attacks. Any software, legacy or otherwise, must be kept patched and up-to-date for security reasons and to reduce vulnerabilities.
To add agility to legacy systems, there are three key areas where modern tools can help. These are business process management (BPM), master data management (MDM) and enterprise application integration (EAI). There is a range of products available to help in each area from trusted providers, such as IBM.
Utilise the business process layer
Keeping legacy systems relevant starts with visualising an organisation at the overall business processes level. Introduce a business process layer to coordinate workflows across the organisation’s systems, implemented using Business Process Management (BPM) technology.
Transactions entering the business trigger workflow with the decision logic to direct these transactions to the relevant system(s). It means changes can be made to how systems are utilised over time by adjusting the business rules which control how data flows through those systems. Old applications don’t have to be changed - as transactions are simply re-routed if criteria change. Using a BPM product means an organisation is ready to adapt to major changes such as an acquisition, reorganisation or sell-off of a business unit.
How to handle data dispersion and duplication
One issue with keeping multiple legacy systems is the potential for duplication and inconsistency of data when details are spread across systems. Understanding the value of each customer and marketing to them effectively to maximise business is a challenge.
The answer is master data management (MDM). MDM enables the creation of a master or ‘gold nominal’ record for entities of interest, linking together all instances of a particular entity, for example customers, partners, suppliers or employees. Searching down these links enables the organisation to quickly find all data on, a particular customer and therefore implement better targeted strategies with greater returns on investment.
MDM can be used to keep multiple systems automatically updated when the data in one application is changed, identifying the changes using ‘change data capture’ (CDC) and propagating them across all databases using extract, transform and load (ETL) or enterprise application integration (EAI). For example, a change in a customer’s address in one place can be reflected rapidly across the organisation. Further benefits from accuracy include enhanced levels of customer service, reduced customer care costs and easier compliance with GDPR.
Divesting and disconnecting data
Master Data Management is a bottom-up wiring up process, creating linkages between data across systems. BPM, similarly, is a top-down process linking activity. Both of which can be done incrementally, relatively quickly and effectively. It is then possible to introduce a new system and work out how to relate its data with similar entities in other systems.
Removing a system means disconnecting it from the data links in MDM and BPM process links rather than changing any systems themselves.
If we can disconnect one system, we can disconnect multiple systems and hence divest a business unit. The systems and their data move with the business unit. There is no time- consuming data separation / migration activity, because there is no consolidated data warehouse that has to be unpicked. This makes complying with data protection rules much easier as mergers, acquisitions and divestments occur. It also increases the value to the acquiring organisation, knowing that points of integration are already available for rapid integration in a new environment.
Rewrites and replacements can destroy agility
An alternative strategy to keep the business running is to rewrite systems or implement a new enterprise-wide solution. Such projects are complex, generally very expensive and can take years to complete.
It may seem simpler to sign off a ‘mega rewrite project’ than to service-enable legacy systems. ‘Deliver what we need now’ avoids analysis of the legacy system and the business logic it contains that already exists. Therefore, we can be faster and more agile, can’t we? Sadly, no. At least not if there is data that must be migrated, or where business transactions are live and must be carried over and supported on the new systems.
We know of many examples where this analysis isn’t done: data migration is the last thing on the list and consequently, it is found that data cannot be readily migrated from the old schema to the new. This often causes delays and can mean complete projects are cancelled. This hampers business agility. Try evolution not revolution!
Fit and agile legacy systems
Replacing mature legacy systems may seem initially attractive; it may have a place if the business purchases an industry-leading solution and is prepared to change its business processes and fully adopt the new solution. However, it may take years and success is not guaranteed. During that time, the business may be clamouring for new functionality and the biggest risk to migration is scope creep. Therefore, either the project is put at risk or the business is not supported for an extended period - neither of which may be acceptable.
Extending the life of tried and tested legacy systems through the use of business process management (BPM) and master data management (MDM) tools, combined with enterprise application integration is a safer strategy. It will retain the agility needed to meet ever-changing business objectives at a realistic cost.
In a difficult business environment shaped by COVID and Brexit, it’s time to look again at how to get the most from existing investments in systems, rather than embarking on complex new implementation projects without guaranteed success.
Tried and tested systems are what’s needed, especially when combined with the right modern products. It’s time to revisit your strategies. There are people out there with deep systems experience and the business track record to help keep tried and tested systems agile.
Keeping legacy systems agile
- Legacy systems remain the bedrock of many organisations.
- ‘Rip and replace’ can run to multiple year projects and then fail - definitely not agile.
- Typically, old systems are ‘spaghetti’ so if touched materially, you run the risk of extensive testing and breakage.
- Agile means the ability to make rapid changes. This can be achieved in legacy systems by adding a layer to them and refactoring but not changing the business logic.
- The change is in the BPM layer - stitching the services together in new ways or making them available to other systems, but not in the legacy application itself.
- You can rapidly build new applications using BPM around legacy systems. This can be done in small steps by service enabling just the bits of code that expose a service.
- Keeping customer data consistent - there are alternatives. The easiest conceptually is MDM but EDI, ETL/CDC can also be used.
- If you have this architecture, it is more straightforward to merge businesses together or to divest in the future.
About Diegesis Limited
Diegesis is a business technology and IT systems integration company that specialises in delivering outcomes using RDBMS, integration and data analytics technology. The company has a proven track record delivering successful projects that provide tangible business value to large and mid-size organisations through the effective combination of people, process and technology.
Diegesis specialises in helping organisations to release the hidden knowledge and wisdom from within their entire range of diverse sources of information (documents, emails, core business systems and applications, databases, intranet, internet and presentations) to support swift and effective decision-making.