
Are you already dreading the day when your old software will be shut down and the new one suddenly activated? The bad news: you have every right to be dreading it! These so-called big bang migrations often don't work as smoothly as hoped. But we also have some good news: thanks to the Strangler Fig Pattern, there is a low-risk alternative.
In this comprehensive guide, you will learn what the Strangler Fig Pattern is, how it works and why it is a real alternative to big bang migration. We will explain the advantages and the process of this method and show you how you can modernise your software step by step without any major risks.
-
Strangler Fig Pattern – the most important facts in brief
No time to read the entire guide? Don't worry: we have summarised the most important points for you.
- Definition: The Strangler Fig Pattern is a low-risk method for software modernisation.
- Name: The Strangler Fig Pattern was actually named after the Australian strangler fig tree. However, the name Strangler Pattern has also become established, although this is incorrect.
- Procedure: With this method, the old application is gradually replaced by new functions. The old system remains functional throughout the entire process.
- Advantages: The method is characterised above all by low-risk modernisation, flexibility, cost efficiency, improved maintainability and user satisfaction.
- Challenges: Ensuring data integrity and the risk of premature project termination must always be considered.
- Use cases: The Strangler Fig Pattern is particularly suitable when a component is severely outdated, can be well isolated, and there is a clear understanding of new functions.
What is the Strangler Fig Pattern?
Modernising software is a demanding project that brings many challenges with it. In particular, abruptly switching from one system to another can lead to many problems.
The solution: Instead of replacing the entire system at once, the individual components are renewed step by step – using the Strangler Fig Pattern.
Strangler Fig Pattern – A Definition
The Strangler Fig Pattern, also known as the Strangler Pattern, is a low-risk method for software modernisation in which an old application is gradually renewed. The code of the existing application remains largely unchanged, while the new functions are built up piece by piece around the old application.
The Strangler Fig Pattern, also known as the Strangler Pattern, was first described by Martin Fowler and is named after the Australian strangler fig. This plant grows around another tree and eventually replaces it completely.
The Strangler Fig Pattern works in a similar way in software modernisation: the old system remains in place while new functions are added step by step. Gradually, the new system takes over more and more tasks until it finally replaces the old one completely.
Strangler Figure Pattern vs. Strangler Pattern
Since 2019, the pattern has been explicitly called the Strangler Fig Pattern! This maintains its clear association with the Australian strangler fig. Unfortunately, however, the name Strangler Pattern, which dilutes the metaphorical meaning and can therefore be misleading, is still in use.
This gradual renewal ensures that the application remains functional at all times. There are no sudden outages or major surprises, which significantly minimises risk and ensures a smooth transition.
Big Bang migration vs. Strangler Fig Pattern
‘Have you tried turning it off and on again?’ In software modernisation, this approach is known as big bang migration: old application off, new application on.
For many companies, big bang migration seems to be the only real option. The problems associated with it are seen as a necessary evil that must be accepted in order to quickly shut down the old system and save costs.
But anyone who has ever turned a device off and on again knows that this is not always the solution to all problems. Especially with big bang migration, the eponymous big bang often occurs – complete chaos that ultimately leaves everyone dissatisfied.
The question ‘Have you already migrated?’ sounds much better. That is the desired result when you opt for the Strangler Fig Pattern. This tried-and-tested approach sometimes runs so smoothly that no one even notices the switch from the legacy system to parallel operation.
Expert tip
The Strangler Fig Pattern can be used in web, desktop and mobile apps. It doesn't matter whether the application is written in Java, JavaScript, COBOL or VBA as part of an Excel sheet. The latter simply requires more creative solutions.
How does the Strangler Fig Pattern work?
As a reminder, the Strangler Fig Pattern is a proven method for software modernisation that aims to gradually replace old applications with new ones. But how exactly does the Strangler Fig Pattern work? Let's take a look at the process in detail.
1. Set up initial switch
The first step is to set up a switch in front of the existing application. This switch will later take over the task of forwarding requests to either the old or the new system. At the beginning, however, the switch forwards all requests exclusively to the old system so that modernisation can begin in the background.
The exact design of this switch depends heavily on the application landscape. For websites, we can usually fall back on existing reverse proxies or load balancers. For non-web-based applications, however, we often have to be more creative and develop the ‘switch’ individually.
2. Switching the switch
The next step is to develop and test new functions. As soon as a new function is ready, the switch is adjusted. From then on, requests for this function are forwarded to the new application and no longer to the old one. This process is carried out step by step so that the application is modernised gradually.
3. Continuous integration
During this process, the application remains fully usable. Each new feature is seamlessly integrated and there is no interruption for users. Modernisation is continuous and transparent.
4. Shut down the old application
Once all obsolete functions have been replaced with new ones and all requests are forwarded to the modern version, the obsolete application can be shut down. At this point, the modernisation process is complete.

Strangler Fig Pattern and its advantages
The advantages of the Strangler Fig Pattern for companies can be summarised in a few short words: low risk, with a quick return on investment. And that pretty much says it all.
However, we would like to take a closer look at the most compelling aspects:
-
Low-risk modernisation:
We cannot emphasise this enough: by renewing the system step by step, the existing application remains functional throughout the entire process. This minimises the risk of downtime and unexpected problems. In addition, companies can offer their services without interruption.
-
Flexibility and cost efficiency:
Companies can modernise at their own pace. They can set priorities and renew the most important functions first, while less urgent parts of the system are tackled later.
This also leads to a certain degree of cost efficiency: instead of making large investments for a complete overhaul all at once, companies can spread the costs over a longer period of time. This makes budget planning easier and reduces financial burdens.
-
Improved maintainability and user satisfaction:
The step-by-step renewal process gradually modernises and improves the code, making maintenance much easier. Users also benefit from new features and improvements without having to wait for the complete redevelopment to be finished. This allows them to gradually get used to the new system without being overwhelmed by the many changes.
Strangler Fig Pattern and its disadvantages
To be fair, however, it should be noted that the strangler figure pattern also presents challenges. Let's take a closer look at these.
-
More difficult data integrity:
A major problem is data integrity, which is significantly more complex to manage than with a big bang migration. While with a big bang, the data only needs to be transferred once, the strangler fig pattern requires continuous synchronisation of the data between the existing and new applications.
-
Risk of premature project termination:
There is also a risk that the project will be terminated prematurely as soon as the most important functions have been implemented in the new application. This can mean that bug fixes and outdated libraries in the legacy system must continue to be maintained, resulting in ongoing maintenance costs.
It is therefore essential to complete the project in full and migrate all functions in order to benefit from the advantages of the Strangler Fig Pattern in the long term.
When is a strangler figure pattern the best option?
As the saying goes: It depends!
At MaibornWolff, for example, software modernisation always goes hand in hand with further development. The reason for this is that it allows us to achieve a return on investment (ROI) as quickly as possible. The decision as to whether to use the Strangler Fig Pattern or another method depends on a variety of factors:
The decision on whether to use the Strangler Fig Pattern or another method depends on a number of factors:
- How critical the component is and how it will be affected by the desired technical changes.
- How clear the technical understanding of the new design is.
- How strongly the component is coupled during cutting.
- How high the technical debt is.
At MaibornWolff, we work with you to develop answers to these questions in the initial workshops – in what we call the target vision. This target vision is continuously expanded and refined during the modernisation process as new technical and specialist knowledge is gained.
Tip
That was the quick explanation. If you are unfamiliar with terms such as ‘cutting’, ‘technical debt’ and ‘component’, a more detailed explanation follows. This will allow you to form your own opinion about the usefulness of the Strangler Fig Pattern.
The cutting process in detail
To understand when a Strangler Fig Pattern makes sense, we first need to explain the difference between replacement and transformation, as well as the concept of cutting.
It is important to understand that a system can be modernised in two basic ways: by replacing or transforming it.
- Replacement involves replacing the old application with a new one. This can be done either completely or gradually, as in the Strangler Fig Pattern.
- Transforming involves improving and adapting the existing code to bring it up to date.
Which of these two options is better can only be determined by breaking the system down into smaller parts. These parts are called components. The ‘breaking down’ into these components is done through a process we call cutting. This process works as follows:
- Cut: The code is first pulled apart and broken down into individual sections.
- Grouped: These sections are then grouped according to their functions and relationships.
- Separated: Clear boundaries are then drawn between the different sections to separate them from each other.
The reward for this effort is that decisions can be made at the component level as to whether transformation or replacement makes more sense.
Decision criteria for the Strangler Fig Pattern
If you have decided to replace individual components at this point, you are faced with the choice between big bang migration and the strangler fig pattern. As already explained in detail, the strangler fig pattern could be a suitable choice in this case. We will outline three cases below.
-
If the component is very outdated or poorly written: In such cases, it is often more efficient to replace the old component with a new one rather than transforming it.
-
If the component can be easily separated from other parts of the system: If a component can be well isolated, it is easier to replace without affecting the rest of the system.
-
When there is a clear understanding of the new functions: If you know exactly what the new functions should look like, you can replace the old component in a targeted and effective manner.
Jochen Schweizer – a successful use case
MaibornWolff has used the Strangler Fig Pattern in various projects over many years and has gained extensive experience in doing so. In addition, we have developed tools such as CodeCharta, which enable us to identify precisely where which form of modernisation should be chosen. This expertise not only saves you time, but also costs.
A successful example of the Strangler Fig Pattern is the relaunch of the Jochen Schweizer shop by the Jochen Schweizer mydays Group (JSMDG). JSMDG was faced with the challenge of consolidating the technological systems of the merged companies Jochen Schweizer and mydays and developing a common IT platform.
To overcome this challenge, we relied on the Strangler Fig Pattern and built a centralised technology platform around the existing one. This centralised platform gradually replaced both the previous shops and the backend systems. The success of the project is evident in several areas: The new platform offers 100% availability without downtime, reduced loading times by 37%, and a significantly higher conversion rate. Thanks to its modular architecture and in-house core competencies, JSMDG can respond agilely to market dynamics and is less dependent on external providers.
Strangler Fig Pattern – The low-risk method
Imagine you own a ship that has been replaced plank by plank over the years. The ship remains seaworthy at all times and is continuously improved step by step. This philosophical approach is called the ‘Ship of Theseus’. This is also the much lesser-known name for the Strangler Pattern. So, when you next modernise your software, choose the Ship of Theseus and stay seaworthy.
Frequently asked questions about the Strangler Fig Pattern
How is the Strangler Fig Pattern technically implemented?
The Strangler Fig Pattern is technically implemented by placing a switch in front of the existing application, which initially forwards all requests to the old system. As soon as a new function is ready, the switch is adjusted so that requests for this function are forwarded to the new application. The exact design of this switch varies greatly depending on the application landscape and must be evaluated individually.
What are the main reasons for choosing the Strangler Fig pattern?
The main reasons for choosing the Strangler Fig Pattern are the minimisation of risks, the continuous availability of the application, and the ability to carry out modernisation step by step and cost-effectively.

Richard Gross is Head of Software Archaeology and has been working in IT modernisation since 2013. As a member of the division management team, he drives forward topics such as technical excellence. As a team leader and architect, he supports teams in achieving a return on investment as early and continuously as possible. To achieve this, he coaches teams in code quality, test automation and collective ownership. His technical focus is on hexagonal architectures, test DSLs, hypermedia APIs and the expressive and unambiguous modelling of the domain as code. Richard shares his knowledge through active pair programming, training courses, technical articles and presentations at international conferences. He has also been involved for many years in the open source project CodeCharta, which enables non-developers to gain an understanding of the quality of their software.