Strangler-fig migration
Extract bounded contexts one at a time, cut over gradually behind a routing layer, and keep rollback available at every step. The legacy system stays live throughout the programme.
Services
Modernise legacy applications without the rip-and-replace risk. YuSMP Group migrates business-critical systems through the strangler-fig pattern — incremental microservice extraction, framework upgrades, and cloud migration that keep production running throughout. Fixed-scope, all-in USD pricing across three tiers: an audit plus quick wins from $2,300, systemic refactoring from $9,200, and a full modernization from $28,700. Typical wins: COBOL and Delphi to Java or .NET, PHP to Node, monoliths to microservices, on-prem to AWS, Azure, or GCP, and .NET Framework to .NET 8. IP transferred on day one, no recruitment markup, no tool surcharges. Compliance is baked in: GDPR-aligned, ISO 27001 ready, SOC 2 Type II in progress, HIPAA-capable.
GDPR-aligned · ISO 27001 ready · SOC 2 Type II in progress · HIPAA-capable · PCI DSS scope on request · CET workday with 9 AM–1 PM ET overlap
Most modernisation projects fail when teams attempt full rewrites — scope balloons, the roadmap freezes, and the business loses patience long before the new system is ready. We default to strangler-fig refactoring instead: extracting bounded contexts into microservices, then migrating capabilities one by one behind a routing layer. The legacy system stays in production the whole way through. Our approach is architecture-first: a read-only discovery phase maps the existing system and its dependencies, a migration plan quantifies risk and sequences phases, and incremental cutover includes rollback at every step. Reference modernisations span manufacturing (REHAU), industrial systems (CheckList), and operational platforms (xRouten). See it in practice in our Refactoring xRouten case study. When the brief is broader strategic change rather than codebase work, our digital transformation consulting leads that engagement.
Extract bounded contexts one at a time, cut over gradually behind a routing layer, and keep rollback available at every step. The legacy system stays live throughout the programme.
.NET Framework 4.x to .NET 8, Java 8 to Java 21 on Spring Boot, PHP 5/7 to PHP 8, AngularJS and Knockout to React or Vue. In-place upgrades when ROI beats refactoring.
Only where ROI justifies it. We will tell you when a tidy modular monolith is the better answer — microservices add operational cost and only pay back at real scale.
Lift-and-shift, replatform, or refactor on AWS, Azure, or GCP. We pick the right pattern per workload — not a one-size-fits-all blanket migration that wastes the cloud bill.
Oracle to PostgreSQL, on-prem SQL Server to managed Azure SQL or RDS, mainframe DB2 to cloud-native stores. Change data capture, dual-run, and reconciliation built in.
jQuery, Knockout, and AngularJS to React, Vue, or Next.js. Design system extraction, micro-frontend boundaries, and SSR where it earns its keep on Core Web Vitals.
Legacy modernisation earns its budget when the cost of standing still starts to outweigh the cost of change. These are the triggers we see most often before a programme starts.
The runtime, framework, or database is out of vendor support and no longer receiving security patches — every unpatched CVE is now an audit finding and a breach waiting to happen.
Hiring for COBOL, Delphi, VB6, classic ASP, or a decade-old .NET Framework build has become slow and expensive, and institutional knowledge walks out the door with each retirement.
The monolith buckles under peak load, cannot scale horizontally, and the on-prem hardware or oversized always-on cloud bill keeps climbing while throughput does not.
Shipping any new feature takes months because the codebase is too fragile to touch, and GDPR, SOC 2, HIPAA, or PCI DSS obligations are hard to satisfy on the legacy architecture.
Architecture mapping, dependency graph, hot-path tracing, and risk scoring across modules and data flows. No code changes — we only read, profile, and document the system as it actually runs.
A strangler-fig roadmap with quantified migration phases, dependency sequencing, rollback strategy, and budget envelopes per phase. You approve the plan before a single line of new code is written.
Incremental cutover by bounded context with weekly demos, dual-run validation, and reconciliation jobs. Each phase ships a real capability to production behind feature flags, not a slideware milestone.
SRE practices, observability with OpenTelemetry and Datadog, error-budget policies, and orderly deprecation of legacy paths once the new system has proven itself in production for at least one quarter.
4–6 weeks. Architecture audit, dependency graph, risk scoring, and a phased modernisation plan with quantified budgets. Deliverable you can take to any vendor — not just us.
Default model for the migration itself. Monthly invoicing per role and seniority, full visibility on hours and capacity, scope flexes as bounded contexts reveal their true shape.
For long-running multi-year programmes. A persistent squad — backend, frontend, DBA, DevOps, delivery lead — owns the modernisation roadmap alongside your in-house engineers.
Fixed-scope, all-in pricing quoted in USD across three tiers, sized to how deep the modernisation goes. No recruitment markup, no tool surcharges, no hidden fees. You see the line-item budget at the end of discovery and sign off before any code is written — and cloud fees run on your own accounts, so you keep the cost lever.
Audit + quick wins
from $2,300
fixed scope · one-off
Read-only architecture mapping, dependency graph and risk register, plus the highest-ROI quick wins — dependency and framework bumps, worst security debt — and a strangler-fig roadmap you can take to any vendor.
Systemic refactoring
from $9,200
fixed scope · phased
Extract the first bounded contexts into microservices behind a routing layer, upgrade the core framework, add tests and observability, and dual-run each cutover with the legacy system live throughout.
Full modernization
from $28,700
end-to-end programme
Full microservice extraction, database and cloud migration to AWS, Azure or GCP, rebuilt CI/CD and SRE, and orderly deprecation of the legacy system once the new one is proven in production.
What moves the number: the system size and coupling (KLOC, number of bounded contexts, how tangled the dependency graph is); the data-migration risk (change data capture, dual-run parity windows and reconciliation are the highest-risk workstream); the compliance scope (GDPR data residency, SOC 2, HIPAA or PCI DSS controls carried through the cutover); the target platform (in-place framework upgrade versus microservices on AWS, Azure or GCP); and the engagement model (fixed-price discovery, time-and-materials migration, or a long-running dedicated squad).
Android + iOS refactor and rebuild for a German last-mile logistics operator — multi-point route planning, real-time driver tracking and in-app invoicing live in the EU.
Offline-first ecosystem replacing paper journals for reactor process control — Android, admin, controller dashboard.
B2B e-commerce and product configurator for a global polymer manufacturer with multi-region pricing, stock and dealer workflows.
The hard part of a modernisation lives in a sector's regulatory and integration detail, not in a generic playbook. We modernise where compliance risk and legacy complexity are the real constraint.
Core banking, payments and lending platforms modernised inside PCI DSS scope, with dual-run reconciliation so no transaction is lost during cutover.
We extract bounded contexts (identity, billing, risk engine) from monolithic cores using strangler-fig, with CDC-based dual-run periods lasting 2–4 weeks per cutover to guarantee ledger parity before any legacy write path is retired.
HIPAA-capable modernisation with a BAA in place, EU data residency and audit-ready logging for regulated clinical and patient systems.
We handle HL7 v2 to FHIR R4 migrations, on-prem to cloud re-hosting for PHI-bearing workloads, and framework upgrades on clinical decision-support systems — all with the legacy system live throughout migration.
Process-control and B2B commerce systems replatformed for a global manufacturer — see our REHAU and offline-first CheckList builds.
We modernise ERP integrations, Delphi and VB6 production-floor tools, and legacy SOAP services behind API gateway layers — prioritising the modules that create the most operational friction first.
Route planning, tracking and invoicing platforms refactored without stopping operations, as in our EU last-mile xRouten rebuild.
We modernise dispatch engines, driver apps, and freight-management backends — including offline-first mobile layers and real-time tracking APIs — while daily operations continue uninterrupted on the legacy stack.
Legacy monolithic commerce platforms migrated to headless architectures: catalogue, pricing, cart, and checkout decoupled into independently deployable services behind an API layer, without a catalogue freeze or a migration blackout.
We handle Magento 1 and legacy Shopify Plus re-platforming, ERP (SAP/Navision) connector rewrites, and custom PHP or classic ASP storefront modernisations — keeping the live storefront trading throughout cutover.
Practice-management, document-management, and billing systems modernised for law firms, accountancies, and consulting networks. Legacy FileMaker, Access, and early .NET platforms migrated to cloud-native stacks with role-based access and audit trails.
We prioritise the client-portal and billing modules first — the highest-ROI extractions — and phase the migration around court calendars and reporting deadlines so no business-critical window is disrupted.
GDPR-aligned · ISO 27001 ready · SOC 2 Type II in progress · HIPAA-capable · PCI DSS scope-ready · CCPA-acknowledged
We do not pitch big-bang rewrites. The default is incremental strangler-fig migration with the legacy system live throughout — lower risk, faster ROI, no roadmap freeze.
Discovery deliverable includes a risk register, dependency graph, and phase-level budget envelopes. You approve the plan with numbers, not vibes, before migration starts.
GDPR, SOC 2, HIPAA, and PCI DSS scope considered from day one. EU data residency, US options on request, audit-ready logs, encrypted endpoints, and DPAs available.
For payments, lending, and healthcare modernisations we work inside your existing compliance scope — PCI DSS QSA, HIPAA Business Associate, or HITRUST — without disrupting certification.
The legacy Android app had years of accumulated debt and no iOS counterpart. YuSMP refactored the existing code, shipped the iOS version, and added live driver tracking and in-app invoicing — all without stopping daily operations for our drivers.
Our iOS and Android apps had diverged over years of separate development. YuSMP rebuilt a single unified solution with live camera feeds, smart-home device control, and role-based multi-user access. Zero critical defects in the first six months post-launch.
Pricing is fixed-scope and all-in, quoted in USD across three tiers. An audit plus quick wins runs from $2,300; systemic refactoring of the first bounded contexts from $9,200; a full end-to-end modernization from $28,700. The exact number is driven by system size and coupling, data-migration risk, compliance scope and the target platform. You see the line-item budget at the end of discovery and sign off before any code is written. There is no recruitment markup, no tool surcharges, and cloud fees run on your own accounts so you keep the cost lever.
In most cases, modernise. Full rewrites fail at a rate well above 50% because they freeze the roadmap, multiply scope, and force a single high-risk cutover. We default to the strangler-fig pattern: keep the legacy system running, route new traffic to extracted microservices one bounded context at a time, and retire legacy code only after the new path is proven in production. A rewrite is justified only when the legacy stack is unmaintainable, no engineers remain, or compliance forces it — and even then we phase it.
Strangler-fig is an incremental refactoring pattern: a routing layer sits in front of the legacy system and gradually redirects requests for specific capabilities to new microservices. The legacy code keeps running for everything not yet migrated. Each bounded context — orders, billing, identity — is extracted, deployed, dual-run for validation, then cut over. Rollback is a routing change, not a redeploy. Over months the new system “strangles” the old one until the legacy app can be safely deprecated.
Discovery and migration plan run 4–6 weeks. The migration itself depends on system size and risk appetite: a mid-size .NET Framework or PHP monolith with 200–400 KLOC typically lands in 9–18 months of incremental cutover. Mainframe and COBOL programmes run multi-year by design. We work in 2–3 month phases with a demoable cutover at the end of each phase, so business value lands continuously instead of waiting for a big-bang release.
Yes, that is the point of strangler-fig. The legacy system stays in production throughout. Traffic shifts behind a routing layer (API gateway, reverse proxy, or feature flag) as each bounded context comes online. We dual-run the old and new paths, compare outputs, and only flip the canonical write once parity is confirmed. Maintenance windows are limited to database cutovers and are usually under one hour, scheduled with your operations team.
Yes. We have shipped modernisations across .NET Framework 4.x to .NET 8, Java 8 to Java 21 on Spring Boot, PHP 5/7 to PHP 8 and Node.js, Delphi/Pascal to C# and TypeScript, Oracle Forms and PL/SQL to PostgreSQL with Node or Java services, classic ASP and VB6 to modern web stacks, and AngularJS/Knockout/jQuery to React, Vue, or Next.js. COBOL and mainframe workloads are handled in partnership with specialist re-hosting vendors when needed.
Data is the highest-risk part of any modernisation, so we treat it as a first-class workstream. We start with change data capture (Debezium, native log shipping, or vendor CDC) to keep new and old stores in sync. During dual-run, writes go to both systems and a reconciliation job flags divergence inside one hour. We freeze the legacy write path only after a parity window — typically 2–4 weeks — and keep the legacy database as a read-only fallback for 90 days after cutover.
Yes, and that is the default. Strangler-fig lets the feature team and the modernisation track run in parallel: new features land on newly extracted microservices from day one, while legacy code handles the bounded contexts not yet migrated. We coordinate with your engineering manager to set branch conventions, service boundary rules, and a clear list of no-touch legacy modules so the two tracks do not collide. Typically 20–30% of the feature team’s sprint capacity is reserved for modernisation integration work; we account for that in the phase plan.
External integrations are catalogued in discovery and classified by migration risk. Integrations with documented APIs are wrapped behind an internal adapter layer first, so new microservices call the adapter rather than the legacy connector directly. End-of-life vendor APIs (for example, a deprecated SOAP endpoint) are flagged and either replaced or wrapped with a compatibility shim during migration. Integrations that cannot be replaced during migration are pinned in the legacy system and migrated last, after all other bounded contexts are live.
It happens, and we plan for it. During dual-run we run a reconciliation job that compares outputs from the legacy and new paths for every transaction. Divergences are classified into expected differences (deliberate behaviour changes), legacy bugs now surfaced, and new bugs introduced in the migrated code. Legacy bugs discovered during migration are documented and triaged with you — some are fixed in the new service, some are noted as known issues to patch post-cutover. We do not silently carry legacy bugs forward.
We define three layers of success metrics at the start: technical (test coverage, deploy frequency, MTTR, error rate on migrated services), operational (incident reduction, infrastructure cost delta, on-call burden), and business (feature velocity on the new stack, time-to-market for new capabilities). These are reported in monthly programme reviews. Each phase ends with a demoable cutover and a health dashboard showing legacy traffic percentage — so stakeholders can see the migration advancing concretely, not just on a Gantt chart.
Practical guides on legacy modernization, microservices migration, and enterprise strategy.
Share a few details and a senior consultant will reply within one business day.