Skip to content

Choosing between a rebuild and a refactor

Inherited an application that nobody wants to touch? Three questions decide whether to repair it or start again.

Category
Software development
Published
20 January 2026
Reading time
5 min
Author
CRMTECH Team

Every business eventually inherits an application that works but frightens everyone. Changes take too long, small edits break unrelated screens, and the person who built it is unreachable. The question is whether to repair or replace, and the honest answer depends on three things.

First: is the data model sound? Code can be rewritten incrementally. A data model that does not represent the business correctly poisons everything built on top of it, and fixing it is close to a rebuild anyway.

Second: how much behaviour is undocumented? An application that has run for years contains rules nobody wrote down, discovered only when they stop happening. A rebuild has to rediscover all of them; a refactor keeps them by default.

Third: what is the change you actually need? If the requirement is one new module, a rebuild is an expensive route to it. If the requirement is a different way of working, the old structure will fight you at every step.

We give this assessment before quoting, including when the answer is that the existing system is fine and the budget is better spent elsewhere. Recommending work that is not needed is a short-term win and a long-term cost.

Recognise the problem in this piece?

If any of this describes your operation, the next step is a conversation about specifics rather than another article.

Talk it through

Or call 8826707406 — someone who has worked on a build will pick up.