Should You Repeal and Replace Your Legacy Code Base?
tl,dr: no, you shouldn’t.
The United States Senate is on the brink of making a huge mistake. And it’s the same mistake that sinks software companies every day.
They want to rebuild a project from scratch.
It happens at software companies all the time, typically with new teams. They see a project full of legacy code that confuses and frightens them, and they decide they want to build a new codebase from the ground up.
(Dilbert 2014-08-12)
Ripping out an existing, working system is always a costly mistake. Even if…
- It’s not working as well as you had hoped.
- Improvements are difficult because of years of previous complex decisions.
- You resent the guy who made because of that time he made fun of you during dinner.
But don’t take my word for it. Take it from Stack Overflow co-founder Joel Spolsky in this essay about things you should never do.
Next time your company is thinking about repealing and replacing an existing project stop. You’re opening yourself up to once again face reasons projects fail #1, #4, #7, and #10.
Look for ways you can improve the existing project without starting over.