Smart strategies for system upgrades
How to reduce disruption to your business during a systems upgrade
Pushing updates and new systems live is simply part of any digital transformation. Fresh platforms help your organisation run better and in many cases, improve the customer experience. But if you’re in an IT team or are close to these sorts of changes, you’ll know all too well that these moments can be stressful.
That’s because new or upgraded systems require plenty of details done right, and there’s always the chance that it might not work as intended. So how can your business or team navigate an upgrade to reduce the chances of an issue? We’ve assisted large organisations in minimising risks during their legacy system upgrades and in this article, we'll share some of our insights and tips.
-
Testing and piloting the solution pre-launch
-
Stay across your risk register
-
Run old and new systems concurrently for a period
-
Communicate changes clearly and often
-
Migrate in phases
-
Design architecture around microservices
-
Don’t launch during any other high-stakes activity
-
Go live early in the week
-
Have a roll back plan
Testing and piloting the solution pre-launch
Testing is central to any new system before it’s depended on each day. When there’s been a long-standing legacy system in place, a replacement or new version of the platform can bring headaches with it. But testing within a staging environment is only part of the puzzle. This, while rigorous, may not reflect all the real-world conditions the platform will be put under once rolled out.
Piloting the solution by rolling it out to a smaller segment of users is often part of the launch of a new system, where the impact of a new version or platform is reduced. Of course, the extensive testing pre-pilot should largely solve any major issues. The pilot period might surface things like performance limitations under certain loads (that the project team would then look to rectify before complete roll out).
It’s also a great cost-saving measure - a controlled pilot that catches issues will be much cheaper and faster to rectify during the project before launch. Many projects will run pilot testing quite early on in the piece - continually refining the product as it’s stress tested.
Stay across your risk register
Making a systems upgrade brings a lot of business risk, but how much that impacts the business is often down to preparedness. Failing to keep a risk register throughout the duration of a systems upgrade is asking for trouble.
Yes, some events are unavoidable, but it’s often those that are totally unexpected and blindside the team that leave the biggest impact. Common risks during a systems upgrade include integration failures, cost blowout and even issues with user adoption. By spending time to identify and mitigate these risks, your system's upgrade has a reduced chance of falling off the tracks.
Run old and new systems concurrently for a period
This is somewhat related to the pilot testing process, although this approach can apply beyond a smaller sample size of users.
For large organisations with operations that depend heavily on a certain system that’s been upgraded, it might be preferable to continue running both. That might mean short term double-handling and inefficiency, but it offers a fall-back should the new platform run into issues.
Communicate changes clearly and often
Disruption to business often comes from a lack of information or clarity. For a systems upgrade, communication is vitally important. While the broader business might not need to know the ins and outs of technical detail, they’ll want to know whether a system they depend on will be usable or not - and what they should do during the upgrade process.
Good communication over an upgrade doesn’t just mean giving a heads-up email before the switch. Ideally the business will be given plenty of advance notice in order to prepare and work around this if need be.
Comms should also aim to provide context into the ‘why’ of a system upgrade. This can help explain any rocky patches in the early roll out and create a more patient user base. Remember, most users just care about how it will affect them - whether that’s your customers or staff. With adequate context setting, you should find there’s fewer grumpy emails and calls, and perhaps even some advocates across the business to help onboard others into the new system.
Migrate in phases
This one really depends on the type of system that’s being upgraded.
For some enterprise tech stacks, certain features of a system can be used while others are rolled out later. This can also apply to updating multiple systems. Piece-by-piece is not only a lower risk strategy in many respects, but it can be useful to gradually onboard a business to new platforms and ways of working.
Design architecture around microservices
Ever heard the expression ‘the bigger they are, the harder they fall’? The same could be said for enterprise systems. When your architecture is dependent on one or few gigantic platforms, the business’ continuity can be at the mercy of the health of those systems. An outage can create some pretty stressful periods.
On the other hand, a ‘microservices’ approach means that the business combines many smaller services and applications to power its operations. Each will function independently with its own codebase and often teams to support them. They will talk to each other via APIs. This approach may be more ‘complex’ on the surface, but it actually enables more agility to upgrade certain systems without major outages.
To the end user, microservices may work together into one front end experience, but behind the scenes they’re managed separately, creating more resilience to outages or issues.
Don’t launch during any other high-stakes activity
Combining big system upgrades with other events is almost inviting trouble into the business.
This could be other platforms but it could also be the end of the financial year, big changes in personnel, during mergers or acquisitions or periods of the year that are peak customer engagement times. What these activities are can depend on your business and industry, but we’d suggest keeping your systems upgrade roll outs in the ‘quieter’ patches.
Go live early in the week
It’s common practice for developer teams to push updates live first thing on Monday
Going live early means that your team has the full working week to resolve any issues that may arise. Many organisations’ natural down time is on the weekend, but if your staff don’t work weekends, we’d advise against going live on a Friday. If your business continues to run as normal (or even gets busier) during the weekend, choose a time of the week that’s historically the quietest, and make sure you have ample time with developers just in case anything goes wrong.
Have a roll back plan
Sometimes things don't go as planned. A roll back strategy to revert to the old system should be non-negotiable. And don’t assume that this is only needed for a few days; it might be months before the business is comfortable to say goodbye to old systems - we’ve seen them stick around for years!
A roll back plan should include a step by step the process to reinstate the old system with as little disruption as possible. If you can go with the approach of running parallel as we mentioned earlier, even better.
Need a hand with your Legacy System? Feel free to get in touch with us.