Refactor vs Rewrite
For most legacy systems, incremental refactoring is safer and cheaper — you improve the code while it keeps running. A full rewrite is rarely the right call and is often where projects fail; it wins only when the platform is truly obsolete or unmaintainable.
| Criterion | Refactor | Rewrite |
|---|---|---|
| Risk | Lower — incremental | High — big bang |
| Business continuity | System keeps running | Parallel build & cutover |
| Time to value | Steady, early wins | Long before payoff |
| Escaping obsolete tech | Limited | Clean slate |
| Preserving domain logic | Retained | Risk of losing edge cases |
| Cost | Spread & controllable | High & uncertain |
| Truly dead platform | Hard to save | Sometimes necessary |
Choose Refactor when
The vast majority of legacy systems — improve incrementally, strangle-and-replace parts, keep the business running.
Choose Rewrite when
Platforms that are genuinely obsolete, unsupported or unmaintainable, where incremental change is no longer viable.
The verdict
Refactor incrementally by default — the "big rewrite" is the classic way to burn a year and lose hard-won domain knowledge. Lazlo modernises legacy systems piece by piece, replacing parts safely while the business keeps running.