How do you balance the need for innovation with the need to maintain existing legacy systems? We put this question to Sanat Mohapatra, Director of Product Engineering at Aurigo, in the recent SourceFuse “Talking Out Cloud” leadership chat series.
With his 18+ years of experience in cloud-native application development and designing modernizing applications, Sanat shared his insights on legacy tech modernization, the shift in mindset required to move from legacy tech to modernized infrastructure, and measuring overall success.
#1 What are the most common technical debt issues that arise when using legacy technology?
When you say legacy, we think of outdated technologies – and with outdated technology comes multiple challenges. One of the most important is security. Most outdated systems have a lot of security issues, which are widely known to the public, leaving these systems always open to potential threats.
Other challenges include the higher cost of maintenance and usability issues for the end users. For example, you cannot implement UI UX modernization with legacy technologies, so that creates a bigger challenge from a usability point of view.
Another point is when you have legacy technology, you cannot integrate with the latest tech stack or emerging technology – that’s when you lose out significantly on a competitive advantage.
This is not an exhaustive list but these are the most common challenges I see with retaining legacy SaaS applications.
#2 How do you balance the need for innovation with the need to maintain existing legacy systems?
When you talk about systems that are functioning and meeting customer needs, you can’t necessarily change overnight from system A to system B. You need to identify your legacy components that, when modernized, will impact your customers and the customer experience.
I follow a simple, four-step process. Firstly, assess what components are legacy, and what is the impact of that legacy component. Secondly, categorize those legacy components into must-fix, should-fix, and nice-to-fix. Then based on those priorities, you identify the associated costs of those fixing processes.
With this in place, you can focus on stakeholder buy-in by communicating the need, the opportunities, and the anticipated challenges or risks of doing nothing i.e., if you continue to use the legacy technology.
Once you have the go-ahead, this is when you can go back to your prioritized fix-list and start implementing the modernization strategy. And while working on the most impactful upgrades, legacy tech modernization needs to happen in parallel with ensuring your legacy system still functions to ensure your customer needs are still being met.
#3 How do you manage and mitigate the risks associated with a legacy tech modernization project?
Modernization is definitely a BIG effort, so the first and foremost aspect is the cost and time. When you modernize, you want to implement the latest tech stack, but perhaps your employees may not all be skilled with the latest tech stack, so there might be a need to upskill.
At the same time, your customers will not wait for your modernization to be completed before using the system. Therefore, managing customers’ expectations and continuity of service is the most critical aspect while you continue to develop your modernized application.
But obviously, there’s an organizational change in mindset as well. In today’s generation, everyone wants to work on the latest technology. However, the challenge we face is with those people who have been with a legacy system for a long time and that they know well and are reluctant to change.
To mitigate this, I like to first talk about the very real and present challenges or risks of continuing as we are. Once they are convinced of the challenge, then I talk about how we can eliminate risks. When outlining the approach, you need to find a couple of influencers or highly motivated people, people that help drive it, start implementing something, support a proof of concept, etc. to motivate and create an influencing environment within the team.
Once you start doing that, you can also reward those ‘early adopters’, and that in turn creates the motivation factor among everybody. When everybody is charged up, you plan for some training and upskilling of existing staff so they feel confident and secure to use the latest tech and not threatened by the changes.
#4 In legacy tech modernization projects, what critical success factors would you measure?
When we do any kind of legacy SaaS application modernization, we are trying to create change to gain a competitive advantage in the market. So, we look at our improved feature benefits with respect to our competitors. Take for example enhanced security; if we measure the performance improvements compared to our legacy applications, we’ll be able to say if it’s 15%, 20%, or even 100% better.
With regards to the financial aspect, we can measure things like access to new markets, reduced cost of maintaining the new application, and how fast we can onboard a new customer i.e., the revenue stream.
Concerning process-related benefits, we can measure how much we’ve been able to automate the entire process, increased process efficiencies, improvements in process optimization, and how you can get just-in-time information on your modernized product. And thirdly, we check for non-functional requirement benefits, such as how scalable and portable the applications are compared to the legacy tech.
When we commit to legacy application modernization, we invest a lot of time, money, and effort, so it’s vital we can demonstrate ROI concerning finance, processes, competitive advantage, and non-functional requirements.
#5 What was your experience working with SourceFuse in relation to legacy application modernization capabilities?
We consider SourceFuse as a true partner for us, especially considering the joint alignment with our ethos about mobile app modernization. With its modernization-led migration approach to digital transformation, SourceFuse understood our actual problems and challenges and provided the right kind of application modernization service and solution to address them.
In all our interactions, we also find SourceFuse understands our challenges from the customers’ perspective, and you are not just trying to sell us something. I think that has been the most important aspect, SourceFuse’s differentiator between being a partner and not a vendor – a partner we can trust.
I have been fortunate to work on really large-scale SaaS projects and have been working on multiple cloud-native functionalities, applications, and feature development. The last five years have been very interesting, working on both Azure and Amazon Web Services, and I have really enjoyed working with SourceFuse.