Never throw out running software and start over. Instead, you should refactor it. It is always easier to refactor than to rewrite.

I thought of a number of exceptions, but perhaps they are not truly exceptions, but rather different opinions about what standard software should meet to be called "running". Sometimes the original author thought it ran, but others later didn't think so; "too buggy to fix". This judgement can be ill-supported or well-supported. We need another aphorism to address what to do with software that truly or supposedly isn't really "running".

I have long thought this, but did not have the courage of my convictions to state it so boldly. Once, when people asked me if their millions of lines of C code should be rewritten in C++, I told them "Sure. It needs to be rewritten. It would be just as good to refactor the C code and keep it in C, but your management won't let you do that, so you should pick a new language so you can rewrite it." That is about as far as I've gone. Now that I have his article to reference, I'll go further. -RalphJohnson

What's needed is a set of guidelines for when to re-write versus live with existing code.

What, is this something one should never do? Not every system is a production system, you know. My friend had a habit of making demo effects by mixing calls to sin() and cos() and combining multiple pictures formed thus in different ways. That's VoodooChickenCoding if anything is.

Don't dumb down your exalted thoughts just because there are idiots around you. And, beware of experienced idiots. Remember "never to argue with idiots. They drag you down to their level and beat you with experience" [Dilbert]. -- SelvakumarGanesan

Note that if you don't find a way to communicate with the people who pay you, you may end up being smart in the gutter by yourself.

Never take the word never literally in these pieces of advice, instead take it in the appropriate spirit. Especially about the poodle. Exceptions to these rules exist, but the existence of exceptions doesn't invalidate the advice. NeverIsNeverNever.
ForBestResultsForgetTheBonus
"...get involved in a land war in Asia?"
"Never go in against a Sicilian when death is on the line!"
See BattleOfWits
Never say never. -- BrucePennington
Never kick a skunk.
ThingsYouShouldAlwaysDo