While I generally agree with this, there is one situation when scorched earth re-write should at least be kicked around as an option.<p>If you are dealing with a very bad system that has not been maintained and has tons of candidates for those tightly-scoped incremental fixes, <i>but at the same time, you are embedded in a giant, faceless conglomerate sort of company where there is effectively 0% chance that any of those tightly-scoped incremental fixes will ever be greenlighted and everyone in the team knows it</i>.<p>Then you should consider the scorched earth approach, because it is the <i>only</i> way that the incremental fixes will ever happen. Bureaucrats will <i>always</i> find an excuse why this particular short term time frame is not the right one for the incremental fix that slightly slows productivity and gets them dinged on their bonus. And they will always find a way to pin the blame regarding underinvestment in critical incremental fixes on the development staff.<p>So sometimes all you can do is deny them that option, even if you know how painful it will be. The aggregated long-run pain will be less, though it won&#x27;t feel that way for a long time.<p>I just want to reiterate that I mostly agree with you. It&#x27;s especially bad to turn your nose up at legacy code that actually has valuable tests, because the tests make the maintenance and incremental fixes so much better. When there are solid tests, you should almost never throw it away.<p>Nonetheless, sometimes you have to torch it all to deny the bureaucrats the chance to slowly suck the life out of it (and you).