One of the most difficult challenges currently facing IT Managers and Directors is the maintaining and upgrading of legacy systems, it has been estimated that around eighty percent of IT systems are running on legacy platforms. A legacy system is a bespoke application that processes high volume or complex data and has become cumbersome and difficult to maintain or update. These systems may not have been developed years ago, a legacy system can be an application that has only recently been delivered into a business and tend to typically run mission critical processes.
A key impact of a legacy system is difficulty scaling; they struggle to support the complexity and variety of current products and services. Some large banks run systems so old they have had to “wrap” them in expensive data management systems to give customers online access. Legacy limitations may prevent businesses from gaining a competitive advantage, introducing new products and services, moving into new geographies, or expanding services to customers on new platforms. In addition the business owner or leader who is responsible for the business processes, can no longer make any business process improvements without seeking the permission of the person in charge of IT, due to limitations of the system. Legacy tend to have issues with security, for example mainframe password protocols can make it difficult to change passwords or to have more than one password. A more serious issue is maintaining security on legacy systems , because users cannot expect automatic protection from new threats.
There are several ways in which systems become legacy systems, which you may recognise within your own business:
- Software Developer Leaves – a single developer who maintains and develops the system.
- Code Complexity Increases – a system becomes complex having been modified many times, as the clarity of the code is blurred; the developers understanding is reduced and the code cannot be effectively modelled.
- Obsolete hardware and software – software languages, can become obsolete; therefore it becomes difficult to recruit software engineers with the skills to work on your system.
- Inherited and Commissioned Systems – systems may be inherited from another business via mergers and acquisitions with no documentation
If you have these scenarios, how can you work around or with Legacy systems? How does a business update legacy code into something maintainable, valuable and scalable whilst sustaining the day-to-day operational business demands?
Businesses are limited to three options:
- Replace the system – legacy systems often survive because the high risk and cost of replacing them and many new IT projects fail. The prospect of end user training can be daunting therefore against these issues a stable legacy platform can look appealing.
- Replace the system on a modular basis – re-engineering can be on going, therefore the risk is much lower than full replacement.
- Life Extension – currently the preferred method, if a legacy system does not cause enough pain to warrant replacement, businesses may choose to enhance its features, however this may only buy a few more years and a long-term plan should be in place
Magma Digital, is one of the few software agencies who are willing to work with legacy code and systems, we have many years of experience of adopting, constructing, enhancing, updating, maintaining and restoring legacy systems; improving the functionality, longevity and scalability, whilst the business is able to continue with its day to day operations. Ultimately the end product will result in maximising efficiency and profitability of the business.