Camille Fournier: The only solution is to rewrite the system from scratch. The old system is written in a legacy programming language that no one likes, the original builders made bad architectural choices that just won’t scale, or everything is just too brittle and still fails half the time.
Table of contents
Avoiding the Rewrite TrapYou don’t know what all this code does.Someone has to run and modify the old system while you’re writing the new one. But that job sucks, and they’re likely to quit before you’re done.You don’t understand what is bad about the old system in order to fix it.You are justifying this rewrite by piggybacking it on an experimental product or feature.You have no plan other than “we will rewrite.”Sort: