▶ Watch this video on YouTube (opens in a new tab)
Here's the symptom: someone in leadership points at the existing app and says, "We already know what it does — just build that again." Everybody nods. It sounds like the easiest project you'll ever take on.
That confidence is the problem.
The usual story is that rewrites fail because the new tech is hard, or the team's not good enough. That's the misdiagnosis. Rewrites fail because familiarity tricks everyone into skipping the discipline they'd apply to any other project.
On a new project, you'd argue over the feature list. You'd ask who actually uses this and why. On a rewrite? "We need all of it" — which is defeatism wearing a thoroughness costume. Nobody prioritizes, stakeholders check out, the team is overconfident, and then you're maintaining two systems while the sunk-cost fallacy whispers, "We've come too far to stop."
The shift that fixes most of this: it's not a rewrite. It's a new application. The old app is a reference, not a blueprint.
The full breakdown — and the warning signs — are in the video.