Changing technology.
WHEN IT IS WARRANTED
The current framework is unsupported It genuinely cannot do what is required Nobody can maintain it
WHEN IT IS NOT
Preference Novelty A belief that a rewrite will fix accumulated problems
WHY THAT LAST ONE FAILS
The problems are usually in the design and the requirements, not the framework.
WHAT A REWRITE COSTS
Far more than estimated Feature parity taking longer than expected Bugs that were fixed years ago returning
WHAT TO DO INSTEAD, WHERE POSSIBLE
Migrate incrementally, area by area.
HOW
Run both, routing specific paths to the new application, moving areas progressively.
WHAT TO MIGRATE FIRST
Something self-contained and low risk.
WHAT TO MIGRATE LAST
Anything handling money.
WHAT TO ESTABLISH FIRST
What is genuinely still used.
WHY
Substantial parts of most applications are not.
WHAT NOT TO MIGRATE
Features nobody uses.
WHAT TO PLAN
When the old application is retired.