Enable javascript in your browser for better experience. Need to know to enable it? Go here.

Kickstart your legacy modernization initiative

with generative AI

Legacy systems are a drag on any business. But while the need to modernize might be obvious, the cost, time and complexity all too often deter organizations from doing what needs to be done. 

 

Here’s where generative AI can help: it might be best known for things like customer support and content creation, but, as it turns out, generative AI can accelerate some of the tricky parts of the legacy modernization process, specifically in helping you to understand your system and tackle capability gaps. In turn, this has downstream consequences that help teams move faster. 

 

This isn’t just hypothetical — we’ve done work that proves it. On one project we were able to help a client cut the time it took to reverse engineer a legacy code base by two thirds. This means organizations can quickly build a strong foundation that will act as a springboard for them to move forward and unlock value.

What’s so hard about legacy modernization?

 

So what’s tricky about legacy modernization, exactly? In short, it’s hard because it requires teams to deal with accidental complexity — and complexity can be a time and effort sink.

 

The causes of complexity include:

 

  • Poor documentation

  • Lost internal knowledge through personnel turnover

  • Years of layering over new processes and requirements (without stepping back and refactoring or removing unnecessary bits)

  • A lack of skills to tackle archaic languages and tools on which systems are often built

     

One of the most pernicious causes, though, is simply failing to act. Ignoring the technical debt built up in your legacy system and allowing the system to evolve without direction and stewardship will inevitably lead to what software architects call a ‘big ball of mud’. That means even more pain down the line. 

 

This is why generative AI is so valuable in legacy modernization. It helps you solve complex challenges that need to be addressed at the very start of a modernization project — like reverse engineering your legacy codebase — so you can move forward quickly. Its ability to make large amounts of data consumable and/or discoverable can be immensely valuable in large, seemingly unwieldy projects.

Generative AI can help you solve complex challenges that need to be addressed at the very start of a modernization project so you can move forward quickly.
Shodhan Sheth, Alessio Ferri and Tom Coggrave
Thoughtworks
Generative AI can help you solve complex challenges that need to be addressed at the very start of a modernization project so you can move forward quickly.
Shodhan Sheth, Alessio Ferri and Tom Coggrave
Thoughtworks

How generative AI can make an impact on legacy modernization

 

Let’s take a look at how generative AI could impact legacy modernization and unlock value, faster and more effectively. As you’ll see, when used effectively, it can have a downstream impact, making teams more productive and giving them more time to focus on where they can really add value.

 

Better understanding your existing system and tackle capability gaps

 

The first step in any legacy modernization initiative is gaining visibility on what’s currently there. This is often referred to as understanding the AS-IS. 

 

This is difficult because systems typically consist of many different elements or layers; a database might be decades old, for example, stitched to a newer application using a language or tool that no-one inside the organization understands any more. Unless the architecture has been very deliberately designed and developed it’s likely to have emerged in an almost organic manner. That means what’s in place — and why it’s there — may be impossible for your team to decipher. 

 

This can be a significant bottleneck. One Thoughtworks client, a European automotive manufacturer, had a modernization program that was nine months behind schedule due to bottlenecks in trying to reverse engineer the existing codebase (some 15 million lines of code). That kind of reverse engineering demands significant input from subject matter experts that can bridge the gap between the legacy code and the business context. The documentation they produced couldn’t be easily parsed by the business analysts driving the program.

 

By using generative AI backed by knowledge of the legacy codebase it was possible to not only generate documentation much more quickly, but also to ensure that the documentation was geared towards the specific needs of the business analysts.

 

The benefit of using generative AI was substantial — we cut the reverse engineering time by two-thirds. What’s more, by reducing the demands on SMEs, that then freed them up to spend more time on developing the ‘to-be’ architecture. Not only did generative AI show potential to help understand at scale a complex system, it also mitigated skills and knowledge gaps that are often exposed when you’re trying to modernize a legacy system.

 

It’s in this sense that you need to understand the value of generative AI in software engineering — not as a way of writing code quickly, but a means of expediting challenges of communication, analysis and interpretation so individuals can focus on where they can add even more value.

Redirecting efforts towards your future architecture

 

Generative AI can not only free up software engineers and architects so they can focus on designing a modernized system, it also offers an opportunity to make the design process faster and more thoughtful. By unlocking more time and making it easier to understand complex and opaque systems, one of the downstream effects is improved architectural decision making. 

 

Think of it this way: if you’re trying to get to grips with a complex system which hasn’t been properly documented (if it’s been documented at all), using generative AI to understand your system will mean the decisions you make are rooted in reality. 

 

On a more speculative note, there’s also a chance that we could see a class of tools emerge, not unlike AI coding assistants, which help architectural thinking. These could make it possible for architects and engineers to more easily validate decisions and help them to “think around the problem.” This will minimize the risk of any blindspots and also ensure decisions are built on best practices and solid architecture principles.

 

It’s important to note that generative AI can’t replace design conversations; what it can do is make those conversations more effective. And that means you can not only get to done faster, but that when you actually are done, those outputs will be more impactful too.

 

Managing risk and improving resilience

 

Initiating a legacy modernization initiative can be daunting because it can feel like you’re making yourself unnecessarily vulnerable. If things seem to be working, why pull it apart? In reality, as noted earlier, failing to modernize exposes you to greater risks, making you vulnerable from both a security and commercial standpoint.

 

Generative AI’s ability to provide more clarity on your system has the potential to be very helpful in terms of mitigating risk and strengthening resilience. It might help you, for instance, expand test cases in a way that would be time-consuming if done manually, and also better understand if the architecture decisions you’ve made are actually properly optimized. 

 

In short, using generative AI as a foundation for your legacy modernization initiative can give you greater confidence that your system will perform as it should do. In the medium-term the consequences of this are fewer system issues as you continue on your modernization journey — and more effective and productive teams. 

A robust foundation for your legacy modernization initiative 

 

A legacy modernization project is always daunting. But generative AI can help reduce the scale of the task in front of your teams so it can be more easily managed and delivered faster and with greater confidence. 

 

Generative AI has captured headlines but it’s time to move beyond the hype. When used as part of a toolkit to improve the way every stage of the software development process is done, it can unlock significant and long-lasting strategic value.  Don't miss out — now's the time to explore generative AI's potential to deliver a substantial and long-term impact for your organization.

  • Shodhan Sheth is an Enterprise Modernization, Platforms and Cloud Lead for Thoughtworks Europe
  • Alessio Ferri is a Lead Software Engineer
  • Tom Coggrave is a Principal Consultant

 

For a deep technical exploration of mainframe modernization, read Alessio and Tom's article Uncovering the Seams in Mainframes for Incremental Modernization on martinfowler.com.

Stuck on how to leverage generative AI?