Modernization
Modernizing a legacy system
How we gradually modernise a business-critical system while keeping it in use throughout the transition.
Challenge
A system is critical to the business, but its design makes changes and maintenance difficult. Modernisation requires a plan that accounts for dependencies and allows continued use.
Approach
We keep the system running. We carve off pieces one at a time and replace them (the strangler pattern), with tests serving as a safety net throughout.
Expected benefits
Changes become less risky and more predictable. New versions can be released frequently because risk is spread across small, manageable steps.
This is a method note: it describes how we approach this kind of problem, not a write-up of a named client.
Gradual system modernisation
A complete system replacement requires coordination between development and the existing operation. Gradual modernisation allows individual capabilities to be updated and introduced separately, making risks easier to manage and changes easier to verify in use.
How we approach it
- Understand what it really does first. There's usually behaviour written down nowhere that someone's job depends on.
- A safety net. Before moving anything, we lock existing behaviour behind tests so we notice if we break something.
- Cut by cut. We carve off one self-contained capability, replace it, and only then move to the next. The old system runs the whole time.
- Gradual implementation. Each phase ends with the updated functionality introduced and checked in the production environment.
What changes
Gradual modernisation makes the system easier to maintain and develop further. We check changes in smaller phases and reduce technical debt by regularly updating individual parts.
Open for new projects
Planning a similar project?
Tell us about your needs or plans. We'll reply within one business day and suggest how we can work together.