(Replying to PARENT post)
Firstly, it takes a lot longer than just making the necessary change. It's a waste of time.
But more fundamentally, I can understand getting it wrong the first time. Throwing what should have been a prototype up without rewriting it. Whatever.
But how the hell did you get it so wrong the 2nd time? And the third time? And the 4th, etc., etc.
Now I'm not afraid to do refactors, massive ones if needed. But there's a big cost to doing it. The big problem with constantly rewriting stuff is that you almost always introduce new bugs. Or you misunderstand the reason behind some of the edge cases and cut them out.
Sounds like the actual problem here is classic NIH syndrome with new programmers coming in, not liking the old programmer's style and rewriting the whole thing.
(Replying to PARENT post)
http://shop.oreilly.com/product/0636920053675.do