Strangler fig pattern
Replacing a legacy system piece by piece, routing one feature at a time to new code until the old system can be switched off.
Martin Fowler named it after the fig vine that grows around a host tree until it stands on its own. A proxy or router sits in front of the old system; each migrated feature is served by the new code, the rest still goes to the old one. Users keep working the whole time, and every step can be rolled back, unlike a big-bang rewrite that delivers nothing until the end.
Related terms
- Technical debt: Shortcuts in code and design that speed up delivery now and make every later change slower until they are paid back.
- Blue-green deployment: Two identical production environments: the new version goes to the idle one, then traffic switches over, and back if something breaks.
- Function point: A unit of software size based on what the system does for users, independent of the programming language.
