Is it possible to modernise critical legacy systems whilst maintaining business as usual? This was the theme of a recent techUK panel event where Codurance’s COO Steve Lydford took to the stage to share his wealth of experience alongside other panellists from the public and private sectors.
Its now sadly well-documented that around 70% of digital transformations fail1 and there are myriad reasons why this is the case, from a lack of skills and misalignment between the business and technology to issues around appetite to risk and overwhelming technical debt.
Below we summarise the key findings from the panel outlining strategies that can be adopted to mitigate against the risks and put your software modernisation journey on the right path for success.
1McKinsey, 2022 Report
Focus on core practices and skills
Legacy systems often contain old tech, sometimes millions of lines of code written by multiple developers over many years, poor documentation and poorly designed architecture that is outdated and makes changing or building features difficult or even impossible and prohibitively expensive.
Legacy modernisation requires a different skill set compared to greenfield projects where its much easier to start well from a blank sheet. Core practices aligned to Software Craftsmanship such as eXtreme Programming, refactoring, CI/CD and automated testing are essential.
It's important to establish a culture of testing and maintaining code from the start of software modernisation. Adopting these practices into your teams can be time-consuming at the start as old habits are undone and new ones are learned; but over time the extra effort will pay off as your teams work smarter, delivering greater value faster and systems become easier to change.
Old is not necessarily bad
There is a perception in the industry that ‘old’ equals ‘bad’; anything legacy should always be replaced by modern cloud-based systems. For example within the UK government, there is a ‘cloud-first’ mandate, which some believe is not always the best approach, since some legacy systems are not critical to the business and could happily operate in the background or be retired without any major impact.
Moreover, without modernising applications, moving to the cloud could mean simply moving the same legacy problems to a new environment - and sometimes can exacerbate issues and send cost spiralling.
Before undertaking any modernisation therefore, it is important to undertake some pragmatic due diligence and ask some key questions such as:
- What outcomes and KPIs are we trying to achieve?
- How critical is this application to the business?
- Does it still meet our business needs?
- If we move this legacy app to the cloud, will I get locked in with a new vendor? What would be the impact?
- Should we buy or build the replacement applications?
Understanding the answers to these questions and the dependencies involved will allow you to make risk-based prioritised decisions.
Fail fast, learn and adjust
In the private sector, there is more acceptance of failure. It is always beneficial to run experiments and learn from it to de-risk for the next cycle. Getting fast feedback and embedding a culture of continuous learning and improvement is key to software modernisation; without the ability to try new things, fail and adjust, it can become impossible for teams to find the right solutions.
In the public sector, this culture of experimentation can be harder to deliver since every penny spent is the public’s money; there are many examples of failed UK government IT projects and a laser focus on governance. This has made some public sector departments risk averse to avoid public embarrassment when things go wrong.
A way for public sector bodies to address these issues however is by following best practices set out by the CDDO in their digital & data roadmap to help drive innovation and learn from the private sector.
With the right initial momentum in place it allows teams to take off well and accelerate their software modernisation efforts.
Improvement must be continuous and aligned to the business
For modernisation to succeed, there must be a department-wide strategy across the entire business. Improvement is not something that ‘starts’ and ‘ends’; instead it is a continuous approach where anyone that touches the system should leave it in a slightly better state than before. Over time, quality improves, knowledge distribution improves, software becomes easier to change and aligns to the business.
It is critical as a technology leader to be able to articulate the business value of any legacy modernisation initiative - engaging with the C-Suite early and creating clear communication on the ROI will ensure C-Suite buy-in and a greater chance of success.
In summary, legacy modernisation demands a strategic and tailored approach, clear communication of business value, and a culture that embraces learning, experimentation and innovation. By embracing these principles, organisations can navigate the complexities of legacy systems and pave the way for a future where business and technology work together to deliver accelerated performance.
Doing things well now really will pay dividends down the road!
Listen to the full recording of the panel here.
Want to continue learning?
Read about our Software Modernisation services
Discover our Software Modernisation insights
See who we have helped modernise legacy software
Watch our Demystifying Software Modernisation video series