Technology

Strangler Fig, Not Big Bang: The Phased Approach to Legacy Modernization

Miłosz Cupiał
Head of Delivery
August 26, 2026
9
min read

In short: The riskiest way to modernize a legacy system is to rebuild it from scratch and switch over all at once - the big bang. The strangler fig pattern offers the opposite: new capabilities grow around the old system and gradually take over its functions, one piece at a time, until the legacy core can be retired with little drama. This article explains how the phased approach works, why it beats a full rewrite in almost every case, where AI now changes the economics of doing it, and how to sequence the work so the team keeps shipping throughout. The core idea: modernization is safest when it is continuous and reversible, not a single high-stakes event.

Key takeaways

  • A big-bang rewrite assumes the team understands the old system well enough to reproduce it and that requirements will hold still for the duration - both are usually false.
  • The strangler fig pattern replaces a legacy system incrementally, routing traffic to new components as they prove out, so value is delivered throughout rather than only at the end.
  • The phased approach lowers risk because every step is small, reversible, and shippable, and because the old system keeps running until each replacement is proven.
  • AI has shifted the economics: it most sharply reduces the tedious work that made incremental modernization slow - code comprehension, dependency mapping, and test generation.
  • Sequencing matters more than speed. Starting with the highest-risk, highest-value module, validated against real production code, is what keeps a modernization on track.

What the Strangler Fig Pattern Actually Is

The name comes from a plant. A strangler fig germinates in the canopy of a host tree, sends roots down around its trunk, and slowly grows until it can support itself, at which point the original tree is no longer needed. Applied to software, the metaphor is precise. Instead of rebuilding a legacy system and replacing it in one move, you build new functionality around the edges of the old one, route a growing share of the work to the new components as they prove themselves, and retire the legacy pieces only once their replacements are carrying real load. The old system keeps running the whole time. It is strangled gradually, not demolished.

The alternative, the big bang, is what most people picture when they hear the word modernization: freeze the old system, rebuild it in parallel, and cut over on a planned date. It is conceptually clean and, in practice, the single most reliable way to turn a modernization into a crisis. The strangler fig pattern exists because the industry learned, repeatedly and expensively, that replacing a working system all at once is a bet against reality.

Why the Big Bang Fails So Reliably

A full rewrite rests on three assumptions, and all three tend to be false in exactly the situations where modernization is most tempting.

The first is that the team understands the existing system well enough to reproduce it. But a legacy system that has run for years encodes thousands of decisions, edge cases, and quiet fixes that exist nowhere except in the code. A rewrite rediscovers them one production incident at a time, usually after the new system has already gone live and the old one is gone.

The second is that requirements will hold still. A rewrite of any real system takes many quarters, and businesses do not stop moving for the convenience of the engineering team. Every change requested during the rebuild has to be applied twice, to the old system that is still live and the new one that is not, or deferred, which means the business slows down precisely while it is spending heavily on modernization.

The third is that nothing important is hiding in the code being discarded. It almost always is. The strangler fig pattern sidesteps all three assumptions by never requiring the whole system to be understood, frozen, or replaced at once. It only ever asks the smaller question: can this one piece be replaced safely, right now.

How the Phased Approach Works in Practice

The pattern has a recognisable shape, even though the details vary by system. It begins with a seam. Somewhere in the legacy architecture there is a boundary - an API, a module edge, a service call - where traffic can be intercepted and routed. Often the first real work of a modernization is creating that seam where none cleanly exists, because a system built without boundaries has to be given them before anything can be peeled away.

Once a seam exists, a routing layer sits in front of it and decides, request by request, whether a given piece of work goes to the old system or the new one. Early on, almost everything goes to the old system. As each new component is built and proven, the router sends more to the new path. If a new component misbehaves, traffic routes back to the legacy version, which is still there. That reversibility is the heart of why the approach is safe: no step is a point of no return.

The work proceeds module by module, usually starting with a piece that is both high-risk and high-value, so the hardest uncertainty is resolved early rather than left as a surprise for the end. Each module is understood, carved out behind the seam, replaced, validated against real behaviour, and switched over. Then the next. The legacy system shrinks steadily until what remains is small enough to retire, or small enough that it no longer matters.

Where AI Changes the Economics

The phased approach has always been safer than the big bang. Its historical drawback was that it could be slow and laborious, because the incremental work is dominated by exactly the tasks engineers find most tedious: reading unfamiliar code to understand what it does, mapping the dependencies that reveal where a seam can be cut, and writing the tests that make a replacement safe to switch on. This is precisely the work AI has become good at.

Used well, AI tooling accelerates code comprehension, dependency mapping, test generation, and repeatable transformation, which are the bulk of the effort in an incremental modernization. On suitably chosen tasks it can reduce engineering effort substantially - in the range of 50 to 80 percent - while the judgment about what to change, in what order, and whether a replacement is genuinely equivalent remains with experienced engineers. The important nuance is that this boundary between what AI accelerates and what still needs human judgment is specific to each codebase and has to be established against the real code, not assumed from a general claim. But the direction is clear: AI has made the phased approach not just the safer option but, increasingly, the faster one too, which removes the last argument the big bang ever had in its favour.

Sequencing: The Part That Actually Determines Success

The failure mode of a phased modernization is not usually technical. It is choosing the wrong order. A modernization that starts with the easy, low-risk modules produces early motion and a false sense of progress, then hits the genuinely hard part late, when budget and patience are thin. A modernization that starts with the riskiest, highest-value module resolves the central uncertainty first, so everything after it is comparatively predictable.

Getting the sequence right requires understanding the system before committing to a plan: which modules block growth, where the dependencies actually run, which piece carries the most risk if it goes wrong, and where a seam can realistically be cut. This is an assessment problem, not a coding problem, and it is best solved before the modernization proper begins, on the real code rather than a whiteboard. A validated sequence, with the hardest module tackled first and proven against production behaviour, is what separates a modernization that finishes from one that stalls halfway and quietly becomes a permanent hybrid nobody wants to touch.

From Assessment to Phased Delivery

Because sequencing is decisive and depends on real evidence, a phased modernization benefits from a structured assessment before the first line of new code is written. Altimi's AI Refactoring Assessment is designed for exactly this. Over four weeks it runs two linked workstreams: an architecture and technical debt assessment that identifies which parts of the system block growth and scalability, with quantified debt, an AI readiness assessment, and an infrastructure risk review; and a technical spike, a hands-on validation of the riskiest part of the codebase against real production code, which produces hard data on migration risk and on where AI tooling genuinely helps before any budget is committed.

The output is a decision pack built for leadership: an executive summary, a risk map, an AI-driven modernization roadmap, a prioritised technical debt backlog, spike findings, and AI governance notes, delivered in a readout workshop. In strangler-fig terms, that roadmap is the sequencing plan - which module first, where the seams are, and what to route when. Crucially, the approach is incremental by design, with no big-bang rewrite, and the assessment itself requires no roadmap freeze: it runs read-only against repositories with two or three structured sessions a week, so the team keeps shipping while the plan is built. Altimi has assessed more than 150 legacy systems across SaaS, FinTech, EdTech, and cybersecurity, and because it also builds and modernizes systems as a technology partner, the same team that maps the sequence can carry out the phased delivery that follows.

So Why Does Anyone Still Choose the Big Bang?

Usually because it looks decisive. A full rewrite promises a clean break, a modern system with no legacy baggage, and a single date after which everything is better. On a slide, that is far more attractive than the strangler fig pattern, which promises months of unglamorous, incremental work and a system that is half-old and half-new for much of the journey. The big bang wins the meeting and loses the year.

The phased approach asks for something harder than boldness: patience, sequencing discipline, and the willingness to keep an old system alive a while longer while its replacement proves itself. What it gives back is a modernization that delivers value throughout, can be stopped or adjusted at any point, and is very unlikely to become the kind of catastrophe that makes leadership swear off modernization entirely. Modernization is not an event to be survived. It is a process to be managed, and the strangler fig pattern, now accelerated by AI, is how it is managed well.

If you are weighing a modernization and want to know which module to tackle first and how to sequence the rest against your real code, the fastest way to start is a short conversation about the system and what it is currently blocking.

FAQ

FAQ - Strangler Fig, Not Big Bang: The Phased Approach to Legacy Modernization

What is the strangler fig pattern in simple terms?

It is a way of modernizing a system gradually rather than all at once. New components are built around the edges of the legacy system and take over its functions one piece at a time, with a routing layer directing more work to the new path as each part proves itself. The old system keeps running until each replacement is carrying real load, at which point the legacy pieces are retired. The result is modernization as a continuous, reversible process rather than a single high-stakes switchover.

Why is a big-bang rewrite so risky?

Because it rests on three assumptions that are usually false: that the team fully understands the old system, that requirements will hold still through a long rebuild, and that nothing important is hidden in the code being discarded. A legacy system encodes years of edge cases that a rewrite rediscovers the hard way, often after cutover when the old system is already gone. The phased approach avoids this by never requiring the whole system to be understood, frozen, or replaced at once.

Does the phased approach take longer than a rewrite?

It delivers value sooner, because benefits arrive module by module rather than only at a final cutover, and it historically traded some raw speed for much lower risk. AI has narrowed that trade-off sharply by accelerating the code comprehension, dependency mapping, and test generation that dominate incremental work, often cutting that effort by 50 to 80 percent on suitable tasks. In practice the phased approach is now frequently both the safer and the faster route.

How do you decide which part to modernize first?

By assessing the system before committing to a plan. The goal is to find which modules block growth, where dependencies actually run, which piece carries the most risk, and where a seam can be cut, then to start with the highest-risk, highest-value module so the central uncertainty is resolved early. Sequencing is the part that most determines whether a modernization finishes, which is why it should be based on real code rather than assumption.

Where does AI fit into legacy modernization?

AI accelerates the laborious parts of incremental modernization: understanding unfamiliar code, mapping dependencies, generating tests, and performing repeatable transformations. On suitable tasks it can reduce engineering effort by 50 to 80 percent, while decisions about what to change and whether a replacement is truly equivalent stay with experienced engineers. Because that boundary varies by codebase, it is best established through a spike against real production code rather than assumed, which is one reason a structured assessment precedes the modernization itself.

Articles you might be interested in

Beyond the Coding Assistant: How to Embed AI Across the Whole SDLC

September 8, 2026
Minutes

AI Due Diligence: What PE Funds Need to Know in 2026

September 7, 2026
Minutes

Software Due Diligence for SaaS Acquisitions: A Sector Guide

September 7, 2026
Minutes