Application Modernization Strategy
for Small Businesses

You’ve got a mission-critical software application that’s ingrained in your processes and in the fabric of how your business operates.   It’s starting to show its age… 

The application has become a risk. It needs to be replaced.

This is the stuff of nightmares and sleepless nights for IT directors, CIOs and business owners.

So what do you do?

You should certainly explore SaaS or off-the-shelf solutions.  Perhaps some have become available that address the issues your application solves in the time since your custom application was originally developed. 

If one exists that can be employed it’s not always a silver bullet.  Migrating to a new platform has its own hurdles, but it should absolutely be considered.

Chances are, this application was originally created to solve a highly specific problem or workflow, which means there may not be a ready-made replacement available. When that happens, organizations are typically faced with redevelopment efforts or a legacy code migration project to modernize the application.

Enter the Strangler Fig Pattern.

What is stranger fig?

 Strangler fig is a software development approach used in legacy application modernization projects, where an application is rewritten or modernized in phases and deployed alongside, or as part of, the original application, piece by piece, until eventually the entire application has been modernized or replaced, and the old code has been “strangled”. 

For example, a company might keep its existing back-office system running while replacing one workflow at a time with a modern web interface, API, and database layer.

Why is it called that?

The software development approach takes its name from the strangler fig tree. The strangler fig starts growth in the canopy of an existing tree and sends roots down which wrap around and encase the old tree.

Eventually the strangler fig becomes entirely self –standing, and in some cases may kill the original host tree. This trees lifestyle is a metaphor for how the modern code base attaches itself to the old application and continues to grow until it’s self- sustaining and the original application is no longer in use.

What are the primary advantages of the strangler fig method? 

Allows for a phased approach

Strangler fig is intended to gradually replace the legacy system over time.  This means the updates are rolled out in phases, not all at once.

Reduces downtime

With a phase approach, the changes are partitioned and deployed strategically.  This allows for more manageable changes, training, support etc.  If issues arise, they’re compartmentalized and their impact is limited.

Spreads training effort

Since the updates are deployed in phases, training is done the same way.  You only need to train the team on the features and functions that have been modernized.

Spreads risk

Whether it’s SaaS or a custom solution, it is not uncommon to experience hiccups.  When the new system touches multiple departments, teams or even the entire company, that opens up the possibility of process failures throughout the organization.  By rolling out modern features in phases, the impact is  limited for any one deployment and spread over time across the entire project.

Allows for rollback

In many cases, when well-planned, modernization deployments can be rolled back in the event of significant problems.  In addition, with some application types, the legacy UI may be able to remain accessible to the staff as a backup.

Allows for pauses

there are scenarios  where there is a need to pause.  Some examples:

  1. Business seasonality – you may not want to roll out updates during a particularly busy season for your business.
  2. Key stakeholder schedule – if a key stakeholder isn’t available for a period of time.
  3. Problematic deployments – if an aspect of your previous deployment identified a need to take a different approach, the project can be put on hold until a better approach is identified.

What are the primary disadvantages of the strangler fig approach?

The strangler fig approach can reduce the risk of a single high-stakes cutover, but it is not the simplest or cheapest path in every situation. For a period of time, the organization may need to operate by switching between both the legacy system UI and the modernized components at the same time. That can create temporary complexity for users, developers, and business leaders.

How does strangler fig work for different application types?

Not all application types lend themselves to the strangler fig approach and different legacy system architectures require different considerations. In general, from a users perspective, desktop apps are the most challenging, command line applications are next, and web apps are the best.  Mainly because of the ability to allow the user to navigate back and forth. 

Command line applications

The most common approach with command line applications is to develop a modern web UI to improve user experience and an API that interfaces between the UI and the Command Line applications.  This replaces the Command Line Interface (CLI) by “wrapping” it in a modern interface.

Desktop

One of the first decisions for a legacy desktop app is whether the modernized system will remain a desktop application or move to a web-based application.

A desktop-to-desktop approach can sometimes make gradual modernization easier because the new application may be able leverage operating system libraries and features to better work alongside the old application during the transition. However, this can also create challenges for users, who may need to switch back and forth between the old and new systems until the migration is complete.

Web apps

Web applications are often well suited for the strangler fig approach because users naturally move between pages using links and navigation menus. This makes it easier for modernized features and legacy features to coexist during the transition, with users moving between the old and new parts of the application with minimal disruption. In fact, many of the websites and web applications people use every day are modernized gradually using this approach.

Having the source code of the legacy application is a significant benefit regardless of application type.

How does AI play into legacy app migration?

LLMs like ChatGPT and Claude Code can greatly improve both the efficiency and success of legacy code migration projects using Stangler Fig.  AI tools can be used to:

  1. Analyze the legacy code base to explain functionality to the redevelopment team – it‘s critical for dev teams to understand the functionality of the legacy system.  Traditionally this has been done through user interviews, shadow sessions and code review.  AI can evaluate the code and identify the functionality it provides.
  2. Translate code from one language to another – similar to using tools like Google translate; AI can convert code from one language to another.
  3. Identify security concerns to be addressed – AI can be tasked to audit the security of the legacy code and recommend improvements.  Similarly, it can do the same for the modernized code.
  4. Develop unit testing and QA testing approaches – after the AI tool is used to identify functionality, it can be tasked with developing unit tests and other QA testing scripts to improve the success of the deployment by reducing the number of bugs that make it to the released software.

In all instances it is critical for the developers to review, understand and take ownership of the resulting code base, but AI can certainly assist the process.

Examples of legacy and aging tech stacks

If your application leverages one of these languages, you may need to start thinking about modernization:

When to choose the strangler fig approach?

When dealing with an aging system, there are many factors to consider:

If you find yourself wrestling with the “total rebuild vs. modernization” question, here are some situations that lend themselves well to a Strangler Fig approach:

A real-world application modernization example where the strangler fig strategy made sense

If you’re deciding between SaaS replacement, a full rebuild, or phased modernization, we can help you evaluate the safest path before you commit budget to the wrong approach. Our application modernization services are designed for small businesses that need to keep critical operations running while they modernize.

If your legacy application is becoming harder to maintain, support, or improve, let’s talk through your options and identify whether a strangler fig modernization strategy makes sense for your business.