Legacy system modernization: Your 101 guide
With business dynamics changing constantly, it can be difficult to get your software capabilities to keep up. But in an increasingly digital world, it’s often your software and systems that can make or break your ability to adapt, grow and remain competitive.
As customer behavior and enterprise norms have shifted, so have business applications. Secure and user-friendly apps are now the expectation for consumer banks. Retailers now have to fulfill orders in a multichannel, multitouch eCommerce environment. Established travel brands have had to reconfigure their approach to remain competitive in the face of disruptors.
All of these changes required (you guessed it) legacy system modernization.
Do you have any existing architecture, software or applications that keep you from meeting your business needs and making the changes you need to stay competitive? If so, it may be time for legacy system modernization.
Here we dive into all of your major questions surrounding software modernization, including:
- What are legacy systems?
- What is legacy system modernization?
- Why do you need a legacy system update?
- What are your options for legacy system modernization?
- How can you prepare for a rearchitecture or replatforming process?
- What can RTS Labs do for your legacy modernization needs?
What are legacy systems?
What, exactly, constitutes “legacy” systems depends on the business. Most companies have a mix of new software tools and old systems to run them on. Others update their applications piece by piece. And still others are using both old software and old systems.
Legacy systems are typically understood as ‘old’ – a piece of software that would fit in in the early 2000s, not 2019 (or, better yet, 2020). But legacy software or a legacy system is not always defined solely according to its age.
For a functional definition, legacy can refer to any piece of software, incumbent technology or entire system that blocks or slows down an organization’s ability to grow, shift and adapt in the face of changing market dynamics.
If the system has a lack of IT support or is unable to support the needs of an organization, then it is a legacy system. If a piece of software cannot be integrated with new processes or systems, then it is legacy software. Legacy technology will see problems related to:
- User experience
Gartner gives a fantastic definition of both legacy systems — what legacy system modernization means within the context of this more functional definition:
“An information system that may be based on outdated technologies, but is critical to day-to-day operations. Replacing legacy applications and systems with systems based on new and different technologies is one of the information systems (IS) professional’s most significant challenges. As enterprises upgrade or change their technologies, they must ensure compatibility with old systems and data formats that are still in use.”
Legacy Systems Hold the IRS Back from Modernization
In one extreme example, the Internal Revenue Service (IRS) is still running its tax filing and refund processes on IT systems that are nearly 60 years old.
The antiquated coding language is used to maintain nearly 1 billion records and runs on hardware that is outdated itself. Somehow it has all continued to function, but it certainly hasn’t helped the IRS with the government stigma of inefficiency.
“To IRS’ credit, it keeps these old systems running during the file season. But relying on these antiquated systems for our nation’s primary source of revenue is highly risky, meaning the chance of having a failure during the filing season is continually increasing.”
~ Dave Powner, GAO’s director of IT management
Powner’s commentary on the IRS’ legacy systems drives home an important insight: legacy software may ‘work’ for the time being, but over the long run they can prevent entire organizations from maintaining efficiency and adaptability, let alone the security risk.
This is where legacy system modernization comes in.
What is legacy system modernization?
In the simplest of terms, legacy modernization means updating all or some of your IT stack to better support your business goals and processes.
Business leaders drive innovation at their companies, but they need new technologies to enable and support this innovation in a real-world environment. They need fast applications, systems that support connectivity, and platforms that bring everything together. Most older IT stacks fail to meet those modern needs. Enter legacy system modernization.
We have three definitions that are critical to understanding why legacy system modernization is more than a software update:
- Legacy Software: The applications your business has depended on – from the past year to the past decade or more.
- Legacy Software Modernization: Updating and replacing outdated or inefficient systems, processes and applications – in part or in full.
- Replatforming: Starting from scratch with the platform on which your business applications are built (i.e. from self-hosted to cloud-based).
Clearly not all of these options are created equal; some require a large upfront investment, while others may cause you to bleed money over the long run if you leave legacy software where it lies.
How you approach legacy system modernization depends on both your needs and your internal capabilities
“Legacy application modernization is not one ‘thing. If you’re faced with a legacy challenge, the best approach depends on the problem you’re trying to solve. Replacement isn’t the only option. The key is to understand if your problem is caused by technology, architecture or functionality of the application, and how each modernization approach improves those aspects.”
~ Stefan van der Zijden, research director at Gartner
To help you decide which route is best for your enterprise, let’s jump into why software modernization is important in the first place.
Why do you need a legacy system update?
Modernizing legacy software is about more than update. It’s about bringing your entire enterprise up to speed with the digital environment.
According to Logicalis, more than 4 out of 10 Chief Information Officers considered “complex legacy technology” a significant barrier to true digital transformation. At the same time, the majority said they were focused on digital transformation and over half had plans to either replace or adapt existing systems to overcome the obstacle. A large number of CIOs, in other words, recognize the need for legacy transformation and are beginning to take steps toward legacy system modernization.
The need to address this barrier is becoming increasingly urgent as the enterprise environment in most industries is quickly turning digital-first. Consider the insight from one Deloitte partner below:
“Now organizations are increasingly digital. They are also changing very rapidly, and these legacy systems can lack the flexibility and scalability to keep up—especially given today’s tech-savvy end consumers. They are often handcuffing the business with what we call legacy technical debt. It’s a real problem. Modern concepts like microservices, the cloud, and mobile computing are simply beyond many legacy technologies.”
~ Haissam Issa, Deloitte Consulting LLP
If you don’t need software modernization now (and you probably do), you will certainly need it in the near future. Let’s dive deeper into what the research says about legacy systems and modernization – and a few specific reasons why you should consider it.
The Deloitte Study on Legacy Systems and Modernization
Research from Deloitte revealed just how important it is for modern companies to update their software systems – and why enterprises are choosing to do so in droves. The study looked at the primary business drivers behind legacy system modernization, key factors in deciding on a solution and what approaches IT leaders are employing to modernize systems.
The conclusion? That the modernization journey can be a “long and challenging endeavor” but the enterprises that were studies are beginning to see the fruit of their efforts.
The report indicated that two-thirds of companies sought to update legacy solutions to remain technologically relevant: “Legacy solutions lack flexibility and carry a significant technology debt due to dated languages, databases, architectures, and a limited supply of aging baby-boomer programmers.”
While relevancy was a major factor, the highest business driver behind legacy system modernization was slightly more concrete. The goal of many IT leaders in modernization was to more efficiently achieve product strategy and objectives. Almost 9 out of 10 respondents to the Deloitte study were “looking to bring products to market rapidly while simultaneously modifying product attributes as they refine the offering.” In other words, they engage in legacy system modernization because it keeps them competitive.
In the same vein, one in five respondents indicated that product speed to market was the single most influential business driver behind legacy modernization.
“Initiate a modernization program so the business strategies and objectives align with and drive the direction of planned initiatives. Modernization programs are not exclusively technology based activities.”
~ Legacy systems and modernization: Core systems strategy | Deloitte
The Deloitte study makes two things clear. First, legacy system modernization (or replatforming) is almost certainly worth the effort from both a business and technology standpoint. Second, the modernization process is a major endeavor. So you’d better be clear on why you want to modernize and how you want to go about it.
5 Reasons to Consider Legacy System Modernization
A legacy software update is not necessarily an all or nothing event. But your organization or enterprise most likely needs some kind of update to stay efficient, profitable and up the task of meeting customer and stakeholder expectations.
Consider the following reasons to look legacy modernization:
- Maintain (or create) a competitive advantage by building out a lightweight solution when compared to your competitors.
- Experience better performance, more reliable processes and reduced risks with a better functioning system and containerized applications.
- See more satisfied customers and happier employees by meeting UX and performance standards.
- Get ready to scale in the future by transforming your IT stack into an agile and innovative platform for future change.
- Keep your IT infrastructure secure from external threats (and internal security breaches).
- Introduce simpler integration with the host of new enterprise software, from accounting software to CRMs used by thousands of businesses.
- Improve your bottom line by addressing the financial inefficiencies of legacy software.
- Realize growth opportunities, exceed customer expectations and reach new customers by staying ahead of the enterprise software curve.
In a phrase, you cannot separate your software systems from your business goals and outcomes. It may seem like the decision to modernize software is an IT decision, but it’s not. It’s really a business decision. Let’s look at all of that in a little more detail.
Updating existing software and systems can initially seem like a costly endeavor. And in the short term, it certainly can be. But when it comes to the digital economy and software modernization, we should all be thinking about the long term.
Having up-to-date, integrated and user friendly software and systems in place will almost certainly save your organization on transactions, downtime and more. For example, Javelin Strategy & Research found that mobile and online banking transactions cost just $0.10, while manual, offline processing cost $4.25 for financial institutions. With older systems and software, you may spend less and technology but much more on other overhead expenses.
The issue is simple but dire: legacy systems are almost always less secure from cyber attacks, malware and even good old fashioned “social” hacking efforts. Accenture’s 2018 report on the State of Cyber Resilience identified legacy infrastructure as having one of the biggest impacts on damaging cyber attacks, along with accidentally published information and lost or stolen media.
Through a study of 500 companies that had experienced data breaches, IBM Security found that the average cost of a data breach was nearly $4 million – including “lost business, negative impact on reputation and employee time spent on recovery.”
While IT security will always be a concern, many vulnerabilities can be closed by updating legacy systems and security protocols for enterprise software.
Modern enterprise software nearly always relies on 3rd party APIs to bring full value to the enterprise. Third party software (and their APIs) can be used to track transactions, share data, authenticate users and more. For example, real estate listing site Zillow relies on the Google Maps API for full functionality.
Any modern piece of software have integration capability built-in. In contrast, connecting legacy software to 3rd party services, tools or data requires a great deal of customization and coding time.
At the same time, making sure your new software is integration ready means you will be able to meet the expectations of your customers, your employees and your stakeholders.
Time to market is always of critical concern for enterprises, whether you’re talking about a product or an in-house system that will allow you to better support your customers. In the ‘fast is profitable’ age, deployment time should be measured in days and weeks, not months.
Legacy systems bind businesses to workflows that are in all likelihood no longer efficient in today’s digital economy. Bringing your legacy IT system or software to new, digital and agile standards may seem time consuming. But imagine how much time your organization will save in the next five years if they are able to shave weeks off of time to market and deployment timelines.
With enterprise software, you’re always investing in something. Either you invest in a new, agile and cloud-based solution that can support your business and prime it for growth; or you invest in the maintenance and support needed to keep legacy systems and software afloat.
Investing in the former allows you to move forward with lightweight applications primed for better customer experience, improved backend maintenance and shorter deployment time. In a world increasingly defined by technology, your IT stack — its performance, integrations, support, UX, etc. — may determine whether you acquire new customers or lose them to your competition.
In 2018, the US government allocated just 20 percent of its IT budget to development, modernization and enhancement. The rest went to operations and maintenance of legacy systems. Do you want to reflect the inefficiency of federal government or the speed and agility of a modern enterprise?
What are your options for legacy system modernization?
Legacy modernization is not an all-or-nothing affair. “Application modernization is not one ‘thing,’” says Stefan van der Zijden, research director at Gartner. “If you’re faced with a legacy challenge, the best approach depends on the problem you’re trying to solve. Replacement isn’t the only option.”
Gartner predicts that every dollar invested in innovating digital business innovation through 2020 will require enterprises to spend at least three times that to continuously modernize the legacy application portfolio. Getting the most out of your dollars spent requires you to carefully consider which modernization approach is right for you. “The key is to understand if your problem is caused by technology, architecture or functionality of the application, and how each modernization approach improves those aspects,” van der Zijden concludes.
Approaches to a legacy systems update
In general, there are five different approaches to a legacy systems update, or a replatforming and rearchitecture project.
1. Go through a complete transformation — DevOps for legacy systems
Sometimes referred to as “rebuild and replace”, this approach to legacy system modernization lets you start from scratch. With a thorough assessment of what worked and what didn’t in the legacy system, an equipped DevOps team can replace old key components with completely new technology, systems and a platform that truly addresses your business needs and goals.
2. Engage in gradual replacement
The goal here is not to replace everything at once. Instead, you can choose to start replacing your legacy system component by component, as the need arises. If your web application needs new functionalities for user experience, for example, you can start from the top down. This may work in the short term and for simpler architectures, but becomes more difficult over the long term as modern systems are built on top of each other.
3. Go for a quick fix
This process also begins with a thorough assessment of your legacy system, but with the goal to patch smaller problems with new code, processes, or applications. The biggest problems identified during the initial assessment are prioritized to keep downtime to a minimum and avoiding spending too much on the project from the outset.
4. Settle for improvement on existing systems
With this option, IT leaders are generally looking to redesign their legacy system with efficiency in mind, but without introducing new architecture or platforms. The approach focuses more on processes, management and workflow rather than the stack itself. It can also involve rehosting or refactoring code without directly affecting features or function. Rehosting brings in the option of cloud infrastructure, while refactoring involves optimizing existing code line by line.
5. No change at all
Of course, you can choose not to engage with legacy system modernization at all and be content to see your legacy system run as its old, inefficient self. This may seem tempting given that in theory it costs $0. But as we’ve seen above, the true cost of not making a change will add up over time.
Instead of feeling overwhelmed, take the time to consider which legacy modernization approach will work for you. And be sure to do your research about best practices for a legacy software update.
Tips and Best Practices for a Legacy Software Update
As we’ve said above, updating your legacy systems or software is rarely an all-or-nothing affair. You don’t have to build stacks from scratch in order to remain relevant and competitive.
“While stacks built from scratch may provide the best possible performance, a well-designed hybrid system is still a vast improvement in most cases,” writes Humberto Farias on the IDG Contributor Network. “It solves many of the problems presented by legacy systems. Plus, it gives companies an edge over their peers who are too daunted by the prospect of a complete overhaul to address their legacy issues at all.”
To define what modernization approach will work best for you — let alone actually implement and integrate the new solution — you’ll need to start out on the right foot. Capturing every critical step for legacy system modernization is difficult in a single post; key factors, initial steps and crucial infrastructure will depend on your specific enterprise. And that’s what our consulting and DevOps teams are for.
But we can distill some of our most relevant insight into a handful of best practices as you consider legacy system modernization. Take a look at our five tips that remain true across the board — drawn from our own expertise and voices around the industry.
Define Your Problems First, Then Look for an Evidenced Solution
Some IT leaders get overwhelmed at the thought of a complete overhaul of their systems and software. But others feel so enthusiastic about the idea that they cannot wait to jump into a modern solution. Neither approach is healthy for finding the best solution for legacy system modernization in your enterprise.
Instead, be sure to define your problems, your goals and your business needs first. Understanding what is going wrong with your legacy system means you’ll be better able to fix these issues in the modernized iteration.
Engaging in a needs assessment can generally fall into three parts:
- Assess the business value of both the legacy system and what the new IT stack can do.
- Assess the external environment; how do customers and partners interact with the legacy enterprise software?
- Assess the application itself. Where does deployment get stuck? What issues are users reporting? How much do your employees utilize various parts of the stack? These are all critical questions at this stage.
Give Cloud-Based Solutions a Serious Look
Even if you’re not ready to completely replace your existing IT stack, moving your data to the cloud can be a good step toward legacy system modernization.
“The first step I would take is to move all data to the cloud so you’re not trapped by a specific technology,” writes Thomas Griffin for the Forbes Technology Council. “Then you can take your time researching the new technology. Find out what competitors are using and read to see what tools are trending in your industry.” Even moving your current data center and flows to the cloud — itself not a small endeavor — can do a lot for your enterprise modernization.
Make Portability a Priority
If your legacy software was developed with the waterfall method, run far away. DevOps is the new gold standard for enterprise software and system development. Containerized applications separates your infrastructure from your applications, making you flexible and your software portable.
“Software-defined infrastructure allows you to compose the application from these components, thus achieving complete portability,” writes Rahul Ravulur at TechBeacon. But he doesn’t stop there. Ravulur goes on to explain what unshackling your applications from infrastructure can do for your flexibility: “It’s only through complete portability between cloud environments, container tools, storage options, and servers that IT organizations will break vendor lock-in and gain the flexibility required to move their applications to vendors that offer the best combination of price, performance, reliability, and features.”
Prepare for Future Growth and Changes
This boils down to three parts: document changes to coding practices to keep things in line, be prepared to document KPIs and benchmarks once the system is implemented, and build in a plan for future updates as (or right after) you build the new enterprise solution.
Software documentation is not simple, but it is certainly important if you wish to avoid the same pitfalls you experienced with your enterprise legacy system. Document everything: requirements, architecture, source code, quality assurance, maintenance, guidance for help, etc.
Define the KPIs you’ll use for assessing success of the modernization project ahead of time. This should be an entire post in and of itself, but weekly application status, risks and issues, deployment status, number of applications used, and weekly top issues are all fair game here.
Similarly to how you (ideally) laid out a modernization roadmap ahead of the legacy update, complete with deliverables and a timeline, you’ll want to set up a roadmap for how to keep the new IT stack (or platform, or architecture, or source code) up to date moving forward.
Do Your Homework to Choose the Right Modernization Partner
Not all technology partners are created equal. With a clear understanding of your needs and goals, you want an IT expert that can deliver a highly targeted change to your legacy system designed to have the biggest impact, integrate your current systems with a cloud-infrastructure, or completely replace your legacy software on both the backend and frontend.
Asking them the right questions is a good place to start. “In some cases, it will be necessary to modernize both the database and applications within the database,” writes Karen Frankel at CIO Insight. “Ask potential partners how they would manage that process and ensure QA demarcation between the application transformation and database migration.” Other questions to pose include how they will work with your current team, how they will consider UI, if they can introduction automation and if they can provide a prototype solution.
How can you prepare for a rearchitecture or replatforming process?
The questions don’t start with your legacy modernization partner. They start with you.
As we mentioned above, software modernization can either be a slow, piece-by-piece campaign or a blitzkrieg on your existing systems and software to renovate your entire enterprise IT stack. To go from legacy application to legendary IT, you’ll need to ask yourself (and your team) the right questions from the very beginning.
So far, this guide has focused on what legacy system modernization, what replatforming or rearchitecture can do for your organization and best practices for implementing software modernization.
But every legacy system is different and every modernized solution is unique. Even more foundational to a successful legacy system update is to understand your organization’s current status. So ask questions. Doing so well help you both identify the benefits and address the potential challenges of modernization. “Like most large-scale IT initiatives, every legacy modernization project includes some amount of unexpected challenges,” writes Brandon Edenfield at CIO. “Addressing those issues as early as possible will help keep your implementation on track.”
To truly understand what you have, what you need and how to get there, it’s well worth the time to ask some internal questions.
Five Questions for Your Software Modernization Plan
Here we outline the five most important questions to ask internally as you get started toward legacy system modernization.
What is working well in our legacy software?
This goes back to the needs analysis we outlined briefly above. Software doesn’t age well, but not necessarily everything needs to be replaced. Or maybe it does. You won’t truly know until you address what is working well and what is not in your legacy software. An honest assessment of your legacy systems should be the foundation of any modernization efforts.
Which legacy system modernization approach do we want to take?
With at least five different options for legacy system modernization — including everything from a full rebuild and replacement to piecemeal updates as you go — you’ll want to be clear on which approach will best address your business needs. You may not fully know the answer to this until engaging with a technology partner, but you can started on your assessment to have a good idea of what you want before beginning the conversation.
What are our goals in the enterprise software modernization process?
We’ve said it before and we’ll say it again: legacy system modernization is not just an IT endeavor. It is a business endeavor. Any updates you make to your enterprise software should be informed by your business needs and your business goals. Your IT stack is there to define your business, after all, and not (usually) the other way around.
How will we accomplish these goals through modernization?
Of course, your IT stack should work to accomplish your business goals. In order to do that, you need to tie your modernization efforts — every step of the way — to what you defined in the question above. Lay out the key components of a new enterprise IT stack that will give you the flexibility and competitiveness you need to accomplish those goals. This will lay out the big picture ahead of getting into the nitty gritty.
What are our next steps for software modernization?
First you focused on business capabilities, then business goals, then the broad strokes of what modernization will do on both ends. This is where you get into that nitty gritty, defining specific next steps for your legacy system modernization process. If you are rebuilding just parts of the enterprise system, lay out a roadmap for how you plan to take apart the IT stack piece by piece. If you are rebuilding and replacing, lay out a timeline for development, testing, deployment and quality assurance. Again, this will likely be in conjunction with your technology partner.
What can RTS Labs do for your legacy modernization needs?
To go through this legacy modernization process, it’s likely you’ll need a little help from your friends.
Whether you are looking to replatform your entire system, wanting new solutions that integrate with what you have going, or wishing you could re architect your enterprise software, getting expert help for legacy system modernization is critical to both short term outcomes and long term success.
“We found RTS, which was sort of a Godsend because they offer services across a number of different channels. Enterprise Custom Development, Data Analytics and Salesforce all in one place is rare. They were perfect technology solutions consultant helping us build a holistic software platform which took our organization to the next level.”
~ Chris Lozier, COONational Center For Teacher Residencies
With expertise in multiple industries, RTS Labs is prepared to take on enterprise-level projects with personalized service. Our full-lifecycle in-house software development team specializes in legacy modernization — and our six-step process is designed to make the entire process simultaneously efficient and personalized.
RTS’ Six-Step Process for Legacy Modernization
- Define goals. We examine your current business processes, your existing technology environment, helping identify a potential replatforming, rearchitecture or modernization plan that meets your business goals.
- Establish scope. You define your feature requests, we map these to security requirements, regulations, and proposed technology platforms.
- Craft requirements. We define your solution’s platform, whether its custom software development using Ruby on Rails or Java, leveraging Salesforce, a new website in WordPress or other proven technology platform. Complete with a project schedule, estimated timelines and clearly explained costs.
- Development phase. Programmers, data analysts and database architects solidify the back end components, web services and reports.
- Test and deliver. We highlight progress, discuss any impediments or roadblocks, and track requested changes and improvements. A smooth rollout includes includes the activation of user accounts, checking all required software licenses, website hosting, database and web service connectivity.
- Training and support. We can provide technical support in several forms to keep your new solution functioning, respond to reported issues and tackle your next big requirement.
Your Results-Driven Technology Partner
Whether you represent private equity groups, financial services, retail, healthcare or the nonprofit industry we have the experience to bring you where you’re looking to go. The expert team at RTS Labs are here as your partners in the software modernization process.
Our team can:
- Consult on legacy modernization, making suggestions for where to improve and providing concrete next steps.
- Guide your own team on modern tools and platforms, like Kubernetes for application development and AWS for a cloud-hosted platform.
- Develop custom applications according to your needs, capabilities and goals.
- Provide integration solutions, connecting your existing software with modern tools to drive growth like Salesforce.
- Take a DevOps approach to legacy modernization, getting you to your goals in a flexible and product-driven plan.