How to manage digital legacy transformation
Not tackling legacy technology makes it hard for government to provide joined up services for citizens
Originally published by techUK
Public sector organisations rely heavily on technology to deliver their services to citizens. However, many of these organisations have systems that have been in place for years or even decades – outdated platforms that can be costly to maintain, inflexible and unable to meet current or future user needs. Not tackling legacy technology makes it hard for government to provide joined up services for citizens, or take advantage of emerging technologies like AI. They can also become a significant security risk, with the potential for data breaches if they are not able to be updated to meet current security standards.
Despite these drivers to replace legacy systems, it can still be hard for organisations to finance and staff the teams needed to do this. Not to mention the discomfort that moving into the unknown can bring. That’s where external specialist suppliers like dxw can help. Here are some main things that need to be considered to set up any project tackling legacy technology for success.
Which technical approach to take?
Choosing the right technical approach is a critical part of digital legacy transformation, especially when decommissioning and moving towards modern services. In our work with MoJ and DfE, we’ve used domain-driven design (DDD) and other software patterns that are particularly effective in complex systems. DDD focuses on creating software that accurately represents the business domain, making it flexible and easier to adapt to changing requirements in future – for example, adding new functionality or changing the workflows. In addition to DDD, using established, tried and tested software patterns like microservices, event-driven architecture and API-first design can help create a flexible, scalable and resilient system that is easier to maintain and integrate with other systems.
Another big decision is whether to choose an iterative or big-bang approach. Typically an incremental approach to introducing a new platform is lower risk and enables us to deliver value right from the beginning, putting working software in the hands of users from the very first sprint. But it can be costly and logistically tricky to run 2 systems side by side. There are also ways to de-risk a big-bang approach – switching off the old system and moving straight to a new one. We can use feature flags and carefully designed system deployments to make sure all our work is integrated from the beginning, but can be turned on at chosen delivery points in order to align with client documentation or training requirements.
Mitigating risks
All software development comes with some risks – there are always unknowns and unexpected issues that crop up along the way. At dxw we work in the open, from our code being open to the public, to our Slack channels and Show and Tells being open to all our client stakeholders. This discourages siloed teams, as anyone can see what we’re working on and why, which helps us build trust with our client teams. It also saves time and money, as we don’t have to wait for support tickets to be raised to get access to tools and services that are freely available to projects that code in the open. And it makes our work more secure, as teams can work together to ensure vulnerabilities are caught early and fixed before they are live in production systems.
Client involvement
Clients will know their domain intimately, so they should be directly involved from the beginning in any project led by an external expert supplier. Any project that isn’t set up in this way is unlikely to deliver an impactful solution within a reasonable timeframe.
We’ve written before about how we set up teams for success, and that approach still stands for integrating with or replacing a legacy system. Alongside our inception activities, we’ll also be running workshops and activities like organisation and technology mapping in order to understand the user journey and technical touchpoints, digital and otherwise.
Ongoing support and maintenance
Developing the tech solution is just one part of managing legacy systems. How the new product is implemented and managed is crucial to success. It’s about bringing in-house teams on the journey and building capability to run the new platform effectively.
Part of our work on a project usually involves handing over to an internal team. We preferably work seamlessly alongside our clients’ developers and designers, making the handover much smoother thanks to the knowledge sharing that has happened along the way. And of course, working in the open also helps as all documentation and institutional knowledge is available to the team throughout the project.
Where this isn’t the case, we’ll taper our team towards the end, onboard and handover to our client teams so they can support and operate the service after we’ve gone.
The bottom line
Replacing and integrating with legacy systems in the public sector is a complex task. By taking a strategic approach that involves careful planning, user-centred design and ongoing support, public sector organisations can successfully transform their legacy systems and enhance service delivery, reduce costs and improve security.
The key to success involves assembling the right team, engaging stakeholders and adopting a flexible approach that allows for continuous learning and improvement.
To find out more about our work or continue the conversation, please drop us a line.