rebuild vs refactor legacy system

Rebuild vs Refactor vs Replace: A Decision Guide

Contents

  • The three options, priced in calendar time
  • The 10-question scoring rubric
  • Three decision patterns we see repeatedly
  • When buying beats building
  • What a diagnostic settles that an internal debate can’t
  • FAQ
  • Next step

This argument is already happening inside your engineering team.

One group wants to rewrite. They can list every reason the current system is unfixable and they are not wrong about any of them. Another group wants to refactor incrementally. They have watched a rewrite fail before and they are not wrong either.

The argument does not resolve, because both sides are reasoning from the same missing evidence. Nobody has measured anything. The loudest engineer wins, or the most tired one concedes.

Here is a rubric that replaces the argument with a score. Ten questions, explicit thresholds, and a result that points at one of three paths — plus a fourth that is usually the right answer and almost never gets proposed.

The three options, priced in calendar time

Money is the obvious axis. Calendar time is the one that actually kills companies, because it is what your competitors and your team’s patience are measured in.

OptionWhat it isRealistic calendarRisk profile
RefactorImprove the existing system in place, no architectural changeContinuous; meaningful gains in 3–6 monthsLow risk, low ceiling. Cannot fix an architecture.
RebuildNew system, same problem domain, built to replace6–12 months minimum for anything non-trivialHigh risk, high ceiling. The feature-freeze trap lives here.
ReplaceBuy commercial software, migrate off custom code entirely3–9 months, mostly data and process workLow technical risk, high organizational risk.
Phased stranglerRoute traffic incrementally from old to new, seam by seam9–18 months, but shipping from month 2Medium risk. Reversible at every step.

That fourth row is the answer more often than any of the first three, and it is the one nobody proposes in the meeting because it sounds like indecision. It is not indecision. It is the only option that does not require you to be right about everything up front.

[INTERNAL LINK: /insights/strangler-fig-pattern-migration “how a phased strangler migration actually works, including where it stalls”]

The 10-question scoring rubric

Score each question. Add them up. The total tells you which path the evidence supports — not which path anyone in the room prefers.

Score 0 = no / rarely, 1 = partly, 2 = yes / consistently.

#QuestionThreshold that scores 2
1What share of sprint capacity goes to production incidents and unplanned work?Over 30%
2How long until a newly hired senior engineer ships to production unsupervised?Over 6 weeks
3Can you deploy on a Friday afternoon without a discussion?No — deploys are events
4What percentage of the codebase has automated test coverage you’d trust?Under 20%
5Is there business logic only one person can explain?Yes, and more than one such person
6Is a core dependency past end-of-life or unsupported?Yes, and upgrading is blocked
7Has a feature been declared “too risky to touch” in the last 12 months?Yes
8Does the architecture prevent something the business has already committed to?Yes — a sold roadmap item is blocked
9Can you answer a security or compliance questionnaire without a multi-week scramble?No
10Has engineering attrition been above your company’s average for 2+ years?Yes

Reading your score

0–6 — Refactor. Your problems are real but they are not architectural. A rebuild here is engineering wanting a fresh start, and it will cost you a year to relearn things you already know. Invest in tests, observability and dependency hygiene.

7–12 — Phased strangler, almost certainly. This is the broad middle, and it is where most companies actually sit. You have genuine architectural constraints and a system too valuable to switch off. Cut one seam, route traffic, prove it, cut the next.

13–17 — Rebuild, but only after a diagnostic. The evidence supports architectural change. It does not tell you what to build — and a rebuild launched without a written architecture map fails the same way the last one did. what a Systems Audit settles before a rebuild starts

18–20 — Stop and stabilize first. A score this high means you are not in a position to make a good decision about anything. A team spending most of its capacity firefighting cannot gather accurate requirements, because the people who hold those requirements are exhausted. Stabilize, then re-score in 90 days. [INTERNAL LINK: /insights/software-project-rescue “the 90-day stabilization sequence”]

The one question that overrides the score

Question 1. If more than 30% of your sprint capacity is going to unplanned production work, refactoring has already lost — not because refactoring is wrong in principle, but because you have no capacity to do it. Refactoring is voluntary work. Voluntary work is the first thing an incident-driven team stops doing.

That threshold is where the argument usually ends in our engagements. Nobody who is drowning refactors their way out.

Three decision patterns we see repeatedly

On these examples: the patterns below are composites drawn from recurring engagement shapes, not accounts of specific clients. The decision logic is real; the situations are archetypes. [FILL: if you want named case studies here, substitute three real engagements with client permission and real outcome numbers. Do not attach invented figures to these archetypes — a fabricated case study is the fastest way to lose the credibility the rest of this cluster is built on.]

Pattern A — “The rewrite that should have been a refactor.” A SaaS platform, 8 years old, scoring 5 on the rubric. Engineering wanted a rewrite; the real complaint was a bad developer experience and a slow test suite. Rewriting would have cost a year and reproduced the same domain model. What the score pointed at: tooling, CI speed and dependency upgrades. Boring, unglamorous, and correct.

Pattern B — “The strangler nobody proposed.” A logistics system, scoring 11. Leadership was split into a rebuild camp and a refactor camp, deadlocked for two quarters. Neither was right. Routing order-intake — the highest-change, lowest-coupling seam — to a new service first let them ship improvements in month two while the monolith kept running everything else.

Pattern C — “The score that said stop.” A fintech scoring 18. They arrived asking for a rebuild quote. What the numbers said was that a rebuild decision made in that state would be a guess. Eight weeks of stabilization first, then re-score. The rebuild conversation became possible — and much cheaper to scope — once the team could think.

When buying beats building

The rubric assumes you should own this software. Sometimes you shouldn’t.

Replace with commercial software when all of the following hold:

  • The system does something genuinely non-differentiating — billing, CRM, ticketing, HR, standard back-office
  • Your customers have never chosen you because of it
  • A mature vendor exists with a real migration path, not just an import button
  • You can live with their roadmap rather than yours

Do not replace when the system encodes the thing you actually compete on. Companies discover too late that the “boring internal tool” contained fifteen years of pricing logic that was, in fact, the business.

The honest test: if a competitor adopted the same commercial product tomorrow, would you have lost anything? If no, buy it. If yes, that system is a product, not overhead.

Also budget realistically. A replacement is 20% software selection and 80% data migration and process change. The license is the cheapest part.

What a diagnostic settles that an internal debate can’t

Every question in the rubric above is answerable with evidence. Most teams have never gathered it, because gathering it is nobody’s job and everybody’s inconvenience.

A Systems Audit gathers it. Two to three weeks, $18K–$35K, fixed price against fixed scope. You finish owning four things: an architecture map, a risk register with severity scoring, a remediation plan with sequencing, and a fixed-price build proposal.

The walk-away clause matters most on exactly this decision. You own all four artifacts whether you hire us, hire someone else, or do nothing — which means the diagnostic is not a commitment to a rebuild. It is the thing that tells you whether you need one.

what each path costs, with published price bands

FAQ

Should I rebuild or refactor my legacy system?

Score it rather than debate it. If under 30% of sprint capacity goes to unplanned production work and your architecture isn’t blocking committed roadmap items, refactor. If both of those are false, you need architectural change — but a phased strangler migration is usually the right form of it, not a big-bang rebuild.

How long does a legacy system rebuild take?

Six to twelve months minimum for anything non-trivial, and that assumes you start with a written architecture map. A phased strangler migration runs longer end-to-end — nine to eighteen months — but starts shipping value in month two instead of month nine, which is why it fails less often.

What percentage of rewrites fail?

Published failure rates vary so widely by definition that quoting one is close to meaningless. The more useful question is why they fail, and the recurring cause is consistent: a rewrite that requires a feature freeze creates a window where the business is not being served, and the window is always longer than planned. [EXTERNAL LINK: Martin Fowler’s writing on StranglerFigApplication, as the canonical reference for the alternative]

Is buying commercial software cheaper than rebuilding?

Usually on licence cost, rarely on total cost. A replacement is roughly 20% software selection and 80% data migration and process change. Buy when the system is genuinely non-differentiating; build when it encodes what you compete on.

Can we decide this without an external audit?

You can, if you’re willing to gather the evidence yourself — every question in the rubric above is measurable with your own data. Most teams never do, because it’s nobody’s job. An audit is a way of making it someone’s job with a deadline.

Next step

Run the rubric with your engineering leads this week. It takes an hour and it will change the shape of the argument, whatever the score says.

If the score lands between 7 and 17, that’s the range where an outside diagnostic pays for itself — book the Systems Audit, or start with the free 90-minute Code & Risk Review if you’d rather see how we work first.

Five ways to engage us.

Nobody signs a modernization program to a firm they met last week. Each rung below exists to de-risk the next one, and every client we have on a program today started somewhere near the top of this list.

Rung 01

Code & Risk Review

Ninety minutes, live and recorded. Two of our engineers, your codebase and your worst problem. You keep the findings whether or not you hire us. This is not a sales call — there are no salespeople on it.

No charge

90 minutes

Rung 02

Systems Audit

Our named diagnostic. Fixed price, fixed scope, walk-away clause: you own the architecture map, risk register, remediation plan and a fixed-price build proposal regardless of what you do next.

$18K – $35K

2 – 3 weeks

Rung 03

Stabilization Sprint

Stop the bleeding on a failing system, or take one stalled AI pilot the whole way into production. Most companies we meet have exactly one of these waiting.

$85K – $180K

8 – 12 weeks

Rung 04

Modernization Program

The rebuild. Phased and milestone-billed, with a named architect and a steering cadence you can take to a board. Almost never sold cold — it is bought by people who already watched us.

$250K – $750K

6 – 12 months

Rung 05

Embedded Engineering Pod

Four to six engineers and a tech lead, running your roadmap under our delivery process. The rung that compounds, and the one we have been doing longest.

$28K – $65K

per month, ongoing

LET'S BUILD YOUR AI FUTURE

Tell us about your project and we’ll be in touch.

Celebrating Our Silver Jubilee – 25 Years Of Custom Software Development Excellence | Since 2002

WebFix believes in transparent and upfront pricing. By knowing your anticipated budget, we can provide a more accurate and customized scope for your project.

$0

©2002-2026 Webfix, Inc. All Rights Reserved. Webfix™

Design By Founder/CEO – Shahzad Ali