If working with clients to modernize their legacy systems has taught us anything, it’s that legacy system modernization is a strategic endeavor. A custom software project like this requires a long term perspective that takes into account where your organization has been and, more importantly, what your future priorities are.
As you examine your project piece by piece, it’s critical to identify what you absolutely need AND what you can do without as you modernize legacy systems and software elements. For some enterprises, modernizing the customer interface is critical. For other organizations, the focus may be less on UX and more on transitioning their systems to a cloud-based environment.
With that in mind, this post is not meant to be an exhaustive checklist of every element you need to have in place for updating your legacy system. Instead, this list of top 5 must-haves and best practices for successful legacy modernization are what you should have in place to determine your goals, steps and critical components.
This post is the last in a series that has looked at:
- What legacy modernization is and why it is critical for your enterprise
- How to get true full digital transformation from your legacy system modernization (and not just a “bandage fix” of an update)
- How CIOs and IT leaders can weigh the cost versus the benefit of legacy modernization
So now, how can these top five best practices help you get started with your own project?
#1: Have your goals in mind ahead of time
There is at least one part of legacy modernization that bears repeating again and again: modernization is not an IT endeavor; it’s a whole business endeavor. As you start thinking about your project goals, make sure you’re bringing your business and IT goals together.
Agile IT will make for better business outcomes, and an IT-proficient business team will make for more strategic IT decisions. It works both ways. So, how do you go about determining your goals for updating your legacy system?
Start with your business goals, and then put those goals in IT terms. “It is important that an enterprise start with a clear view of its mission and a thorough definition of its supporting strategy and business goals,” according to a paper from the IT Governance Institute. “This then needs to be translated into goals for the IT department, which are the basis for the IT strategy.”
For example, the business goal could be decreasing the average call time for your customer support team. The equivalent IT goal would be to improve the call system for routing, escalating and accessing resources for handling individual calls.
#2: Have agile tools in place
Legacy system modernization is not just about modernizing software and systems – it’s about ensuring they can all work together.
“When looking for new programs, consider how it can integrate and work with other tools in your tech stack,” writes Bhaskar Roy of Workato. “It’s not only important that the software can perform its job, but that it can play well with others. Fragmented customer data simply won’t work in the customer-focused world, and any budget you would have spent maintaining the legacy tool should go into integrating all your systems together.”
This is where developing new pieces of software and new systems within modules comes in. While you’re developing new software for your system, you want to make sure you can keep everything running as you update and that new systems will be more efficient than what they are replacing. Taking an agile approach to legacy software modernization will help you do just that.
Public CIO shares a great real-life example of how the California Department of Social Services took an iterative approach to rebuilding its mainframe system and front-end technology. If they had chosen to use the waterfall method, the development project would have taken over five years to provide new functionality to the department. But with an agile approach (and a DevOps mindset), the department saw functional software in under two years.
To accomplish this, you need the right agile tools in place. Containerization in software development (using tools such as MuleSoft or another one we like called Kubernetes, for example) along with working in a cloud environment will help you achieve this agility.
#3: Break everything down into its individual parts
In all likelihood, the software and components that make up your organization’s IT infrastructure are huge. Taken altogether, they make up a giant system that would be nearly impossible to tackle all at once. The key is to separate everything into its different parts. For example, how can you can separate the software from the infrastructure, systems from other systems, and software into individual components?
First, separate individual applications from the overall infrastructure, particularly if their functionality depends on the organization’s infrastructure.
Once the applications have been separated, figure out the networking needs, structure, storage configurations and cloud compatibility of each application. Compartmentalizing everything will help you determine what needs to stay, what needs to go, and what to rebuild as a containerized application.
#4: Have a plan of execution (including a realistic budget)
Treating legacy modernization as a strategic, long term endeavor means having a plan in place before you take your first steps.
“Not only are CIOs and IT decision makers being tasked to take on a multitude of ambitious strategies to transform the digital enterprise, but they are also expected to execute against their everyday demands – overseeing company computer operations; supervising information system and communications networks; and addressing policies, governance, compliance and security.” ~ from “5 Tip to Successfully Plan for IT Modernization,” IT Business Edge
Having a plan in place will help you balance your daily responsibilities with this larger, farther reaching undertaking. Three critical elements of your plan are knowing:
- Which modernization approach will work best
- How modernization will impact each element of your enterprise
- What kind of budget you realistically need to support your project
Look at the various modernization approaches you have at your disposal – from simply replatforming to ripping and replacing everything. Determine how each approach will affect customers, how it will help or hinder your DevOps teams, and what the timeline for each will be.
Once you land on a specific approach, you can get your budget in place. When it comes to budget, it’s best to get the idea out of your head that a project like this will come from the IT budget. In the vast majority of cases, the IT budget won’t be sufficient to accomplish the goals you have for modernization. That’s why you need this update to your legacy system in the first place. The business as a whole should be funding these efforts, since everyone throughout the enterprise will benefit from the results down the road.
#5: Keep your customer in mind
In a recent Forbes article, “Modernizing Your Legacy Technology? Follow These 11 Tips,” Mike Schmidt of Dovetale, Inc. noted, “When adopting new technologies, the only thing that ever really matters is how your customers are affected. Modernizing technology stacks can be detrimental to user experiences early in the adoption cycle, however, they will likely pay dividends in the future. This balance between short and long-term customer satisfaction is always what smart, agile teams are weighing/evaluating.”
Warren Perlman of Ceridian takes a similar tone in this article, highlighting three questions that IT leaders need to ask about new technology to replace legacy software:
- Does it make sense for your business?
- Does it reduce risk?
- Will your customers adopt it with ease?
The fact that customer adoption ranks up there with risk reduction and business profitability speaks wonders to just how important the user experience is. Customers drive your business growth, and any legacy system modernization efforts must keep their expectations and satisfaction at the forefront.
Legacy system modernization: A complete overhaul is not your only option
Legacy system modernization doesn’t begin by ripping and replacing your entire infrastructure. Sometimes that is necessary and will yield the biggest return for your enterprise. But it is not always necessary by any means.
Instead of choosing a specific modernization approach in the beginning and stubbornly sticking to it, legacy system modernization begins by defining your goals. From there, you can identify which elements of your legacy system need to be updated to meet those goals. Then, you can map out the steps you need to take to begin the updates or make the replacements.
These top five must-haves and best practices can help you stay focused on what really matters for your organization – and make better business decisions about which approach will be best for you and your customers.
Still wondering how these different options apply directly to you? Read the RTS Labs 101 guide on legacy system modernization.
Then, download our whitepaper about whether or not custom app development is right for you or not. It’s a great companion piece that can help you gain a better understanding of what you may really need for the scope of your project.