I just stumbled over Gall’s Law:
“A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.”
I you ever join a software project and someone mentions “complete rewrite”, you know two things for a fact:
- The current software sucks
- The rewrite will suck more.
Not convinced? See what Joel Spolsky has to say: Things You Should NEVER Do, Part I
If you still won’t believe, come back after the complete rewrite.