Writing on 6th September 2026, developer Simon Willison responded to a discussion about abandoning a system 'drowning in tech debt' and rewriting it from scratch, saying that in his experience 'it's so rare for that to work.' He described a recurring failure pattern: a team is spun up to rebuild a system while the old one keeps running the core business, so it remains 'a moving target' that still requires changes. According to Willison, developers on the old system have little incentive to do more than the minimum because it will soon be obsolete, so technical debt keeps mounting. Meanwhile, the new team starts fast on greenfield code but discovers that 'nobody fully understands the behavior and scope of the thing they are replacing.' Under pressure to ship, the new system launches handling only a subset of features, leaving 'TWO systems in production.' If priorities change, the replacement can be abandoned entirely. Willison recommended shoring up the old system 'with as much automated testing as possible' and then attempting 'targeted refactors,' which he believes has a higher chance of success than a full rewrite. He cited Will Larson's article 'Migrations: the sole scalable fix to tech debt' as the best guide to doing the process responsibly.
- Willison posted the comment on 6th September 2026 on Lobste.rs, republished on his site
- He argues full rewrites rarely succeed and often leave two systems in production
- His recommended alternative: add automated testing to the old system, then do targeted refactors
- He cites Will Larson's 'Migrations: the sole scalable fix to tech debt'
What it means for you
If you run a business with a piece of custom software that's become slow, buggy, or expensive to change, someone will eventually suggest scrapping it and rebuilding from scratch. This experienced developer's warning is that those rebuilds usually go badly: you end up paying to maintain the old thing and the half-finished new thing at the same time. The safer path is often fixing the existing system piece by piece.
Try this
If a vendor or developer is pitching you a 'complete rewrite,' ask them what would happen if you instead added automated tests to the current system and improved it in small, targeted steps — and ask for a realistic timeline for the rewrite plus a plan for what happens if it stalls.
Who should care
Small-business owners and managers who commission or pay for custom software, and anyone about to approve a 'let's rebuild it from scratch' project.
Skip this if
You don't own or maintain custom software and aren't being asked to fund a rewrite — this is a software-engineering judgment call, not a general AI story.
Sources: Simon Willison — read the original