The above quote has been uttered more than once, and I'm sure that I've said something similar in my career at some point, but I can tell you several basic things about this quote:
- The person uttering it has a fractional understanding, at best, of the complexity of the system they're talking about.
- The leadership team spoken to is sick and tired of the challenges of maintaining the system they're talking about.
- The project they are about to embark on will very likely overrun the budget in both time and money that has been allocated.
So why is this? The quote above very likely is the consultant in question simply saying what the client wants to hear. It is good for the consultant, as there will be a lot of work to engage in a total rewrite. But while the leadership team may be sick and tired of the challenges they face on a daily basis, the quickest return on investment for development comes from incremental change. Incremental change is unpopular: It requires tradeoffs. It requires investigation. But each of those changes can begin to address the technical debt which has accumulated in the system while also allowing some new features to be delivered during each sprint/iteration. Incremental change will eventually win the day.
"But wait..." you say, "we need to fundamentally revisit the architecture of our system, so we need to start fresh"
Perhaps you do, these situations do exist, but if that is the case, then you must remember the important lesson taught to us by John Gall in "The Systems Bible: The Beginner's Guide to Systems Large and Small":