When Hitler invaded Poland just before the Second World War he swept into the country with his tanks and dive bombers.
In one of the battles the Poles could only muster cavalry regiments, men mounted on horses with long lances and swords.
You can guess which way the battle went.
If many CIOS feel like the Polish commanders when they were confronted by the Nazi war machine they cannot be faulted. Here’s what the former CIO of Portugal Telecom who managed technology budgets of over $10bn and served 100 million customers both in Portugal and Brazil has to say about legacy apps
He explained that the complexity caused by company’s extensive legacy environment was the biggest barrier to the business as it modernizes its operations. ..
Da Silva also pointed out that the legacy environment has required a complex array of orchestration software to manage it.
.. I feel like I am trying to put cosmetic cream on to hide all the wrinkles but obviously it is not working
The real dangers of legacy apps
If you have a stack of legacy applications that form the backbone of your company you may be in clear and present danger. This is because legacy applications:
- Are expensive to maintain: As applications age, like a car they become more expensive to maintain in terms of licensing fees and talent. For many legacy applications the OEM may have already stopped providing support, or the vendor might charge exorbitant maintenance fees.
- Are proprietary: Most legacy applications are built on proprietary and outdated technologies, perhaps with unique programming languages and unfamiliar frameworks. You would be hard pressed to find engineers to maintain them.
- Run on obsolete infrastructure: The applications were built to run on hardware at a time when cost of 1GB ran into thousands of dollars. They might run on obsolete operating systems, databases, libraries, and need a support ecosystem which is all but gone. Just keeping the application humming might be like pushing a boulder up a hill. And QC would be almost insurmountable.
- Are a massive sprawl: In a pre API and service bus era most enterprise applications were hulking monsters, built to be an all in one solution to cover every eventuality related to a particular business problem. The entire system becomes inoperable if even one part breaks, leaving you without crucial tech support for your operations.
- Suffer from lack of documentation: A legacy application over the years acquires “character” with its own clever hacks and customizations to keep it running. Because these are non standard there might be insufficient documentation about the changes, and when the original team retires there might be no one around to know anything about the innards.
- Are irrelevant because of the cloud: Many legacy applications will cost you $100 to do a simple thing. The same can be done much better by a cloud service for $1. As cloud has upended the traditional software model many legacy apps are no longer viable.
- Are not mobile friendly: Most legacy apps don’t support mobile, or do it through complex code calisthenics. Running a legacy application with mobile support today would make you the Poles in our story.
There are enough reasons to ditch legacy applications. But there is a right way to do it.
Transitioning to a post legacy environment
If you want to ease out legacy applications from your enterprise environment make sure that you have first covered these points.
- Determine if the supporting ecosystem is absent- hardware, developer support, vendor support.
- Find out if support and maintenance costs are increasing.
- Determine if better ROI can be achieved by any kind of modification.
If it looks like there is no other way than to change, make sure that:
- The documentation is complete in the context of code base, architecture and the API.
- You understand the dependencies of this system with other systems so that the impact can be minimized when changes are made.
- You understand the business workflows pertaining to the application.
It is imperative to transition from legacy applications. Further the transitions needs to be managed in a formalized way, preferably by a group who has the twin goals of minimizing risk and modernizing tech. And most importantly, all changes have to be implemented keeping ROI in mind.