Growing Around the Host
In the rainforests of Australia and Southeast Asia, there is a remarkable plant called the Strangler Fig. It doesn't start life on the ground like most trees. Instead, a bird drops a seed into the upper canopy of an older, established "host" tree.
The fig germinates up there in the branches, using the host tree for support and sunlight. Slowly, it sends roots down the trunk of the host tree toward the ground. As these roots reach the soil and thicken, they begin to envelop the host tree's trunk. Over many years — sometimes decades — the fig's root network forms a lattice around the host. Eventually, the host tree dies and decomposes, leaving the Strangler Fig standing independently as a fully formed tree in its own right.
The host tree was never violently removed. It was gradually, peacefully replaced.
In 2004, software architect Martin Fowler visited Australia, saw these trees, and recognized the perfect metaphor for legacy system migration.
The Strangler Fig Pattern in software:
Instead of replacing the legacy system all at once, you build new functionality around the edges of the old system. Each new component handles one small slice of what the old system does. Over time, more and more slices move to the new architecture. Eventually, the old system handles nothing at all, and you decommission it.
The critical insight is that at every single step of the migration, the system is fully functional. There is no "big bang" cutover day. There is no moment where everything might break. The old and new systems coexist, and traffic shifts gradually.
Key Point: The Strangler Fig pattern is not just a migration technique — it's a risk management strategy. Each increment is small enough to roll back if it fails. This is fundamentally different from a Big Bang rewrite, where rollback means "go back to the old system and throw away months of work."