The Short Answer

The three options aren't on the same continuum. Repair addresses a symptom, Refactor changes an implementation without altering behavior, and Rebuild changes the underlying model. The decision hinges on one question: Is the problem in how things were implemented, or in what was defined from the start?

If the data model is sound but the pain point lies in complex automations and convoluted permissions, that's a Refactor. If the same object serves three conflicting processes and can't be reported on, that's a root issue, and then Rebuild becomes a consideration.

Four Decisive Tests

TestPoints to RefactorPoints to Rebuild
Data ModelSound, suffers from an excess of fieldsObjects serving conflicting purposes
Source of PainPerformance, duplicated automationsInability to report or extend
Scope of Affected UsersPartial, isolatableCross-cutting across all processes
Cost of Re-testingCan test a single areaEvery change requires full regression

Three rows pointing in the same direction are sufficient for a decision. A split among the rows usually means the problem is more localized than it feels.

Why Rebuild is More Expensive Than Estimated

The typical estimate counts only the reconstruction itself. It almost always skips four elements: historical data migration with all accumulated exceptions, re-building integrations, each of which is agreed upon with a third party, a parallel run period where both systems live, and complete re-training for all users.

In practice, these four often constitute more than half the cost. An organization considering a Rebuild that hasn't priced them is comparing apples to half an orange.

The Practical Path: Gradual Replacement

Even when a Rebuild is decided, executing it as a "stop-and-replace" project is inherently risky. The path that works is a domain-by-domain replacement:

  1. Build the new model alongside the old - new objects, without touching existing ones.
  2. Migrate one complete process - with its users, data, and reports.
  3. Deactivate the old equivalent - this is the step most organizations delay, which turns the project into a double effort.
  4. Repeat until the old system is empty.

Step three is the test. A system where both the old and new live in parallel for a full year has increased costs, not reduced technical debt.

What Must Change Regardless

Both paths fail if the change mechanism remains as it was. Minimal governance – who approves model changes, what mandatory testing is required before deployment, and who owns each domain – is the prerequisite to prevent returning to the same point. Prioritizing the debt itself is detailed in Prioritizing Salesforce Technical Debt, and early warning signs in 8 Signs for a Salesforce System Upgrade.

Summary

The choice isn't between "fixing" and "starting over," but between fixing implementation and fixing definition. In most cases that look like a Rebuild, a sound data model is hidden beneath a decade of automations – and that's cleaned in waves, not with a wipe-out.