Can the strangler fig help Replatform your critical system?
November 25th, 2021 in Blog
Undertaking a Replatforming project can overwhelm anyone or any enterprise. With so many ways to approach Replatforming, how should you take it on? This Intelliware blog post discusses a powerful approach to Replatforming legacy applications safely based on a development pattern known as the “strangler fig”.
The phrase “strangler fig application”, one of several Replatforming strategies, was coined in this blog post by Martin Fowler back in 2004. Fowler is a renowned developer, author, and innovator who inspired so many of us at Intelliware on our 30-year development journey.
“The most important reason to consider a strangler fig application over a cut-over rewrite is reduced risk. A strangler fig can give value steadily and the frequent releases allow you to monitor its progress more carefully.” – Martin Fowler
Fowler offered a new route to rewriting critical systems, an important alternative to the conventional way of thinking about Replatforming that tends to force an all-or-nothing strategy. A rewrite the whole thing and cut over when it’s done approach to Replatforming is extremely risky, and many projects fail because of it.
Seeing a metaphor in the huge strangler figs encountered in the Queensland coast of Australia, Fowler observed:
“One of the natural wonders of this area are the huge strangler figs. They seed in the upper branches of a tree and gradually work their way down the tree until they root in the soil. Over many years they grow into fantastic and beautiful shapes, meanwhile strangling and killing the tree that was their host.”
Fowler suggests creating a new and improved system “around the edges of the old and letting it grow over several years until the old system is strangled.”
In time, the legacy application fades away safely, gradually, and only when something new and better can take its place. The strangler fig approach can get you to your future state without starting over from scratch and relying on a big bang implementation.
Rebuilding your application from the inside out sounds revolutionary to enterprises adverse to building custom applications in a legacy IT environment. For the strangler fig approach to work, the conditions must be right. Several factors must allow for it, such as being able to interact with the legacy code base, solid technical infrastructure, and a progressive development culture, to name a few. Experience in making it work helps too.
There is a great deal of complexity in any substantive system, and it’s not just in the code. To break it down, we think about large enterprise systems and their development and deployment ecosystems as having four major components.
Program -> The business oversight, roadmap, management, operations, and measurement of efforts related to the Product
Product -> The code, technologies, and architecture of the actual running system
Pipe -> How features are planned, built, tested, and deployed
Place -> The environments the Product runs in, from dev and QA to staging and production
In any organization, with any application, there will be challenges in more than one of these areas that will need to be addressed in a Replatforming project.
In keeping with our overall don’t boil-the-ocean strategy, we have evolved a process we call a Discovery. A Discovery is a relatively short, workshop-driven process that looks at different aspects of each of your system’s four components. It takes weeks, not months, and can be tuned to your specific technical and business needs. The core deliverable from a Discovery is a plan that lays out immediately actionable steps that will start you on your Replatforming journey.
A well-executed Replatforming project makes transformations in each of the four Ps: Program, Product, Pipe, and Place. First, you need a strategy. Building a strangler fig scaffolding, one piece at a time, alongside your existing system until it is no longer needed can lower risk, manage change at a controlled pace, and eliminate the pains associated with your legacy system. Intelliware has a great deal of experience in making this work with applications of all sizes.
Ask us to complete a short Discovery. We can eliminate the risks in your digital transformation and find the best path forward to replace your legacy headache.