When and How to Modernize Legacy Systems
Jack be nimble...
Jack be quick …
If 2020 taught us anything, it’s that being nimble is everything. And in today’s ever-fluctuating business climate, if you can’t be agile and change course quickly, you most definitely will get burned.
But how can you pivot and adapt quickly when your systems are outdated? The answer is: you sometimes can, but it’s a heck of a lot slower and tougher. And in this state of constant flux we’re living in, inefficiency and lag can be the death of a business.
But, we get it. Thinking about replacing existing systems or creating new integrations can feel overwhelming or even downright impossible. There’s disruption to consider, staff training, and budget, just to name a few concerns that go along with a big change like this. Often the pain of not evolving has to get worse than the pain of sticking with an outdated system for changes to be made. But waiting to the point of crisis often means bleeding time and money for way longer than necessary.
Is it Time? Symptoms of a Legacy System
One of the most common questions we get is whether a system overhaul is really needed. And even though we’re dev nerds who love building new things, we don’t hesitate to tell clients if the time’s not right for them to upgrade.
If you find yourself stuck in the should-we-should-we-not rut, here are some common indicators a change might be needed:
- Are you seeing speed issues?
- Do security or compliance issues keep cropping up?
- Is your team disengaged due to system issues?
- Are you getting the metrics you need?
- Is your system functional but not scalable?
- What’s the key business value and is it being accomplished well?
- Are you finding your system to be more and more unpredictable or unreliable?
- Can it handle the needed data formats?
- Is output going down?
- Are frustrations going up?
A Thoughtful Approach to System Upgrades
Sometimes a good ol’ fashioned pro and con list can help make system replacement issues easier. While it’s not always that simplistic, we love sitting down with clients and wading through the good, the bad, and often the ugly related to system needs and how they fit into overall business goals.
Here are a few topics we hash out with clients all the time as system decisions get made:
Replacing vs Bandaiding
You’ve probably sat in those meetings where the groans start as it’s decided the company needs to limp along further with an under-functioning system. Sure, from an immediate budget standpoint it might seem to make the most sense. And in some situations, you really can stick with an existing system and just make some process changes or add a few bandaid fixes to extend its life. But oftentimes, staying the course with an outdated system means way more trouble than it’s worth.
Certainly making the decision to implement a new system or to create some integrations that will help isn’t easy. And it can be super helpful to have an outside source weigh in. Sometimes you’re just too “in it” to see the best course of action. And often the solution isn’t black and white. That’s where having a third party to guide you into asking the right questions and diving deep alongside you can help.
Phased Implementation
Doing an all-at-once system replacement might sound sexy, but it’s not always wise. New systems can often be built in parts and pieces over time and sometimes even off-the-shelf products can be incorporated to ease costs. We walk our clients through the pros and cons of going “big bang,” as we like to call it, and brainstorm different implementation scenarios to determine what’s best.
Often a phased rollout makes the most sense. Not only can this be a budget-friendly option, but it allows you to swap out different parts of the system a bit at a time, allowing for testing and feedback from internal teams and users as things unfold.
Testing Early and Often
While it requires some upfront work, testing regularly (and with the right folks) can save you significant time and money in the long run. And it’s critical to get holistic feedback from different audiences, especially end users. So often development teams and others who are deep in the trenches miss glaring issues and opportunities that end users can spot in a moment. Thorough testing means not only catching potential problems but creating a better user experience, too.
Maybe there’s a new feature your team hasn’t thought of but end users are craving. Or perhaps there’s a common user workaround going on (e.g. repurposing a field) that could trip up data migration. Gathering input from those who use your system day in and day out means fewer surprises and maximized ROI.
Other things to consider:
- How is the new system going to change your business processes? Or should it be built to accommodate current processes?
- What’s the plan for reverting back if issues arise?
- How do you maintain the highest system security?
- What team training will need to happen?
- How can disruption be minimized?
- Will the new tech be easy for your developers to run with?
- How will a new system play with the tech you’re keeping?
- How do you teach customers to adopt new systems and features?
- When you develop a new system, are you porting over every feature?
- What can be done to ease the transition for everyone involved?
These are the kinds of questions that keep our clients up at night. But they’re questions that get us all kinds of giddy when working through. Because at the end of the day, we don’t see ourselves as product-builders but problem solvers. Putting our heads together with clients—instead of just dictating what we think should happen—means an all-around better result (and a heck of a lot more fun).
If we had to give you just one piece of advice on legacy systems, it would be this: the most seamless and successful transitions are a result of solid planning. Know what you’ve got. Understand thoroughly what’s working for you and your customers and what’s not. Engage experts to help you make good decisions if you can. Have a plan for where you want to go, while staying flexible as you test and tweak along the way.