// CASE STUDY

Legacy Rescue

Audit, stabilize, modernize — without taking the system offline.

IndustryReference architecture · Rescue
Year2024
Scope
  • Read-only audit
  • Stabilization sprint
  • Modernization roadmap
  • Cutover under load
// TENSION

Most rescues fail at the same point. A team inherits a system everyone is afraid of, the natural instinct is to rewrite it, and the rewrite collides with a six-month runway and a customer base that does not care about the internals. The system that has to be rescued is also the system that is paying the salaries to rescue it. The pattern below is what we reach for when the right answer is neither rewrite nor leave-alone.

// STRATEGIC MOVE

Audit first. Stabilize second. Modernize on a route the system can survive.

The first two weeks are read-only. We map the live request paths, the cron jobs that nobody documented, the modules with the most error logs, and the places where the test suite is silent. Stabilization comes next — backfill tests around the load-bearing paths, repair the alerting gaps, restore the deploy story. Only then does modernization begin, and it begins on a route the system can survive: strangler-pattern boundaries around the parts that will be replaced, feature flags to gate every cutover, and a roadmap whose smallest unit of progress is a reversible change. The system stays online the whole time, and the team that owns it stays in the loop.

Legacy rescue illustration — abstract stratigraphy of system layers

The right answer is rarely a rewrite.

Strangler-pattern cutover · feature-flagged · reversibleStrangler-pattern cutover · feature-flagged · reversible
// CREDITS
  • Lead ArchitectMirko Vanzo
  • PatternReference architecture · keelroot studio
  • Year2024
// STACK
  • Read-only audit playbook
  • Strangler-pattern boundaries
  • Feature-flagged cutover
  • Observability backfill before migration