Case1Consulting - blog
Agile Project Management & Consulting
NL | EN
20-03-2023

Legacy system replacement with Strangulation Strategy: Adding maximum value from the start

When the decision is made that maintaining and expanding an existing software system is not viable, finding the budget and time to do a full rebuild can be a daunting task. Not to mention bridging the knowledge gap that is inherent to a decades old legacy system that 20+ people have worked on over the years in a programming language that has become unpopular and unsupported.
In a few of my latest assignments as a project manager in a low-code software rebuild scenario, I had to deal with this situation. A legacy-rebuild not only takes fast amounts of time and resources, it typically happens in a waterfall fashion spanning multiple years in a time where business agility is the norm.
Searching for a solution I ran into an interesting article by well known software guru Martin Fowler in which he described an encounter with a so-called ‘StranglerFig’ tree.
In the rainforest, most trees compete for the scarce amount of sunlight available, rendering fast-growing, tall trees the most successful.
The stranglerfig therefore uses the stems of much higher trees on which its seeds are dropped by birds. By sucking up the nutrients it is able to grow up from there. Once it reaches the leaf cover, it needs to secure its position and get rid of the host’s leaves. That is why it gradually starts to cover the parts of the host-tree enabling photosynthesis and filling that space with its own leaves.

This ‘strangulation’ principle can be used effectively in software development in situations where legacy systems need gradual replacement. Particularly when the system in place is still performing well but extra high-value functionality is required. A prerequisite to this situation is that the legacy system offers some sort of interfacing option that enables new software to interact with this system. Then new precious functionality can be built on top of the old system making it comply with current business needs. After this, a plan can be drafted to step-by-step, replace parts of the legacy system with newly built components.

In the projects where I used ‘strangulation strategy’ to face-out legacy, the ERP systems that needed to be renewed both were not able to be used via the web and had a fairly complex and bespoke core system.
A primary business demand at the time was making a system usable via the web for 80 percent of the customers. This would ensure the vendor’s market position. Then a plan was drafted to replace various low-performing components. Finally the complex core system had to be rebuilt. The latter was done in a relaxed fashion now the urge of rebuilding the entire system was off the table and the sunlight could be reached hassle-free.