Work incrementally: pick one boundary, add tests around behavior, refactor behind stable interfaces, and ship in small steps. Use tech-debt budgeting and avoid big-bang rewrites.