Many organisations are acutely aware of the problematic nature of legacy applications and its impact on the growth of the business. Legacy software has more implications than ever with regards to overall business productivity, user experience and scalability. However, there’s not always a simple and easy answer. Who decides what happens with these legacy applications? Do they just need updated and modernised or do you need to think about replacing it entirely? Where do you start trying to identify the issues? What are the cost and time implications?
If you’re dealing with a legacy application and feel like it’s holding you back, there are a few things to think about before you consider replacing it. It may be that replacing the app in its entirety isn’t necessary and it could be be a simpler case of updating and maintaining the app to ensure it delivers what you need it to as a shorter term fix.
Over the years at xDesign, we’ve inherited codebases, refactored applications, ran systems in parallel and built entirely new apps from the ground up. Our goal is to help you establish what success looks like for your business and to help provide you with a full cost benefit analysis of modernising or replacing your legacy applications.
Common barriers To updating or replacing legacy apps
Despite the challenges that legacy apps can cause organisations, there are a number of barriers that prevent business leaders from taking action. Some of these include:
- Cost implications. Finding the time and securing substantial budgets to modernise or replace legacy software can be a real challenge within organisations
- Often the same people who have commissioned legacy systems and software are responsible for the modernisation efforts which can present issues.
- The “if it’s not totally broken, don’t fix it mentality”
- There may be data loss concerns during data migration processes
- Handling and managing any potential downtime
- Balancing functionality and UX- most legacy systems are built to just “get the job done”
- Spending time re-training users
These are all legitimate concerns, however the costs associated with maintaining outdated legacy systems, combined with decreased business productivity will have substantial implications on business growth.
Up to 70% of IT budgets are spent on maintaining legacy applications
It’s estimated that up to 70% of IT budgets are spent on maintaining legacy applications. Not to mention that the number of specialist resources that have the skills to update and maintain older codebases and frameworks are dwindling.
Sometimes, particularly in large banks and financial institutions, replacing large complex legacy systems is not possible. Much of the infrastructure depends on these systems and they cannot be replaced for critical business continuity reasons. In this case, a modern agile process orchestration framework is useful to connect legacy systems to modern web portals and mobile apps that are the key customer interfaces of today.
By exposing legacy assets as application programming interfaces (API’s) and modernising them, it can deliver greater value. Taking an PI-led approach means that legacy systems no longer need to operate in data silos but rather creates a network of applications which can drive innovation and agility at scale.
Our process - How we can help
Our main priority is to help you establish what makes the most sense for your business by seeking to understand your business goals, the current state of the technology and helping to provide you with a cost-benefit analysis when it comes to deciding whether or not you need to update and modernise the app, or whether it just makes more sense to rip it apart and start again. We've often found that our clients appreciate the "outside perspective"
Establishing the "lay of the land"
Our team of engineers, testers and product designers work with you to run a current state analysis on the legacy application. We will typically start with mapping out the current process as- is. What is the aim of the system/ app? Where are the pain points? What is the existing functionality? What do you need the system to do which is doesn’t currently? What does success look like? Our aim is to look at the project here from first principles and establish a “lay of the land” picture.
Understanding past decisions
We will always try where we can, to meet with the previous team. This means we can incorporate any learning and obtain a better understanding of the thought process behind the decisions that were made. We can also get some valuable feedback on understanding the codebase and the existing technical architecture.
Establishing the apps core logic
Then it’s a case of looking at the levels of test coverage and carry out tests to capture the core logic of the app. We will also analyse the existing codebase, look at any existing dependencies, out-dated code patterns and any technical debt that has been incurred. This is also a good opportunity to look for any security vulnerabilities that haven’t yet been picked up inside the app.
Risk vs value: Update or replace?
Once we've gathered this information, we can look objectively at whether or not it will be a case of modernising the existing architecture and updating it or whether it’s going to be in the best interest of the business to replace the app entirely. We’ll always look at the risk vs. value factor when it comes to defining feature prioritisation.
If it is the case that the app simply cannot be salvaged, we can take the lessons learned from the previous app and begin the process of building out new functional requirements and prototypes with a view to commencing the re-development of the application.
As mentioned above, one of the biggest concerns about updating or replacing legacy apps is the associated costs and impact on business operations.
At the end of the day, deciding what to do with legacy systems and apps has been an ongoing headache for IT departments for years. It's important to look at it from a solid cost benefit perspective and realise that what works for your competitors won't necessarily work for you. However, having efficient and scalable technical infrastructure that can best support your customers and users will ultimately drive your bottom line business growth.