01Challenge
Releases required a four-hour maintenance window and a full-team standby. Reconciliation ran overnight and regularly needed manual correction. The core runtime was two major versions past end of support, blocking a required security certification.
02Solution
An incremental strangler-fig migration. Characterisation tests were written around the settlement path first, then payment routing, reconciliation and reporting were extracted into separate services behind a routing facade, with traffic shifted percentage by percentage.
03Business impact
Engineering time previously spent on release choreography and manual reconciliation returned to product work, and the certification blocker was cleared without a freeze on feature delivery.