Legacy and migration

5 min read

Strangler Pattern: How to Replace a Legacy System Without a Big Bang

A complete rewrite looks clean on a diagram and risky in the business. The Strangler Pattern moves the system piece by piece while keeping a working product between stages.

When an old system starts slowing the company down, rewriting it completely sounds attractive. A new architecture, cleaner code, modern technology—and one day we simply switch over.

The problem is the phrase “one day.” While the new system is being built, the old one continues to change, the business waits, and the risk of the final cutover keeps growing.

The Strangler Pattern takes a different approach: move capabilities out of the old system gradually.

What problem are we solving?

From the outside, users can continue working with the familiar product. Internally, individual requests are gradually routed to new components.

One relatively independent scenario can move first, then another. The old system shrinks as its responsibilities move elsewhere.

The migration becomes a sequence of smaller changes instead of one enormous event.

What does the business gain?

The main benefit is a smaller bet on one large project.

The company starts receiving results in pieces instead of waiting years for a complete rewrite. Each moved capability can be tested and measured separately, and the direction can be adjusted when reality changes.

This reduces the risk of spending the budget while the new system is still unfinished and the old system still requires active development.

Priorities can change too. If one part of the legacy system is particularly expensive for the business, it can move earlier. What still works well enough can stay longer.

Investment goes first to the areas where legacy already has a real cost.

What does the team gain?

The team can validate the new architecture on real scenarios gradually. A mistake in one stage does not necessarily put the whole migration at risk.

It becomes possible to learn during the program and refine boundaries instead of trying to design the final system perfectly in advance.

The downside is that for a while the team has to operate both the old world and the new one.

What does the customer gain?

Customers get evolution instead of a sudden replacement of the whole product. Individual capabilities can improve while most familiar workflows remain stable.

This reduces the chance of a mass failure on one cutover day and makes local rollback easier.

What do we pay for it?

The price of gradual change is temporary architecture complexity.

Requests may need routing between old and new systems, data may need synchronization, compatibility has to be maintained, and the source of truth must stay clear.

There is also a danger that “temporary” becomes permanent. Without ownership and clear completion criteria, the company can end up paying for two systems for years.

When is the Strangler Pattern unnecessary?

If a system is small, isolated, and can be replaced safely in a short period, gradual migration may be unnecessary overhead.

The more critical the system and the more integrations around it, the more expensive the single big-bang bet becomes.

Questions to ask before deciding

In the end

The Strangler Pattern does not make migration free. It changes the risk profile.

Instead of one large promise to “rewrite everything,” the business gets a sequence of smaller investments, each expected to produce a clear result.