Skip to content
Wade Womersley

wade.one

wade womersley – york based software engineer

  • Home
  • 2026
  • March
  • 28
  • When I Recommend a Rewrite, and When I Absolutely Don’t

When I Recommend a Rewrite, and When I Absolutely Don’t

Posted on March 28, 2026June 8, 2026 By Wade
Programming, Software Engineer

I do recommend rewrites sometimes. Just not nearly as often as people hope I will.

Most rewrite discussions start from pain, not clarity. The system is annoying, the code is messy, delivery is slow, and everybody wants the emotional relief of starting again. I understand that impulse. But in consulting work, “I am tired of this codebase” is not the same thing as “a rewrite is the best decision.”

When I absolutely do not recommend a rewrite

I do not recommend a rewrite when the real problems are things a rewrite will not solve.

That usually means:

  • poor product decisions
  • weak ownership
  • slow review and release processes
  • missing tests and observability
  • confused business rules
  • a team that has not really understood the current system yet

If those are the issues, then rebuilding the software usually just recreates the same mess in a newer stack.

I also do not recommend a rewrite when the business cannot tolerate a long, risky period of duplicated effort. If the team needs continuous delivery, predictable change, and stable operations, then a big-bang rebuild is often the wrong shape of work.

And I definitely do not recommend a rewrite just because the code looks old. Old is not the same thing as broken.

When I do recommend a rewrite

I recommend a rewrite when the current platform is genuinely boxed in and the team can explain why incremental replacement is not enough.

That usually involves some combination of:

  • unsupported or unpatchable runtime dependencies
  • architecture that makes safe change nearly impossible
  • deployment or security posture that is no longer acceptable
  • infrastructure constraints that block the business from moving
  • cost of incremental change that is consistently worse than replacement

Even then, I still want a serious plan.

If a team wants me to back a rewrite, I want to know:

  • what problem this solves in business terms
  • which parts must be rebuilt and which do not
  • how critical behaviour will be preserved
  • how migration risk will be controlled
  • how the team avoids building a second messy system with better branding

If those answers are vague, I assume the rewrite case is weak.

What I usually push for instead

Most of the time, the right answer is controlled replacement rather than a full reset.

That might mean:

  • replacing one bounded subsystem first
  • wrapping unstable internals behind cleaner APIs
  • separating the highest-risk workflows before anything else
  • improving deployment, testing, and observability before touching architecture
  • removing the worst operational pain before chasing elegance

That work is less exciting than announcing a rewrite. It is also usually more responsible.

My view

I recommend rewrites when the current system is genuinely beyond safe or sensible improvement.

I absolutely do not recommend them when the team is really trying to escape frustration, poor discipline, or years of unclear decisions.

That distinction matters.

Because a rewrite can be the right call.

But most of the time, disciplined change beats a dramatic restart.

Share:

  • Share on Facebook (Opens in new window) Facebook
  • Share on X (Opens in new window) X
  • Share on Tumblr (Opens in new window) Tumblr
  • Share on Pinterest (Opens in new window) Pinterest
  • Share on LinkedIn (Opens in new window) LinkedIn
  • Share on Reddit (Opens in new window) Reddit

Related

Comments

comments

Tags: consulting legacy-systems rewrites software-architecture

Post navigation

❮ Previous Post: What Makes a Legacy System Dangerous
Next Post: Why Senior Engineers Are Really Paid for Judgment ❯

You may also like

Software Engineer
What Actually Slows Software Delivery Down
April 10, 2026
Software Engineer
Why Senior Engineers Are Really Paid for Judgment
March 29, 2026
Programming
Why Most Software Projects Do Not Need a Rewrite
March 26, 2026
Software
Android Developer Verification Is a Release Process Change
May 21, 2026
  • AI
  • artificial intelligence
  • Ego-centric
  • Events
  • Films
  • Food
  • Gaming
  • Gym
  • Hardware
  • Holidays
  • News
  • PHP
  • Programming
  • Random Stuff
  • Reviews
  • Science
  • SEO
  • Software
  • Software Engineer
  • Support
  • Uncategorized
  • Work

Copyright © 2026 wade.one.

Theme: Oceanly News Dark by ScriptsTown