Refactor, Rebuild, or Replace?
How to Choose the Right Path for Ageing Software
At some point, every growing business runs into the same question:
“Do we keep patching this system—or is it time to start fresh?”
Whether you're dealing with a clunky ERP, an in-house quoting engine from 2012, or a customer portal that feels... tired—you're facing a choice that’s as technical as it is strategic.
And the wrong move? It doesn’t just cost you money—it can cost you momentum.
🔍 First: What Are the Options?
Let’s define the three most common routes:
✅ Refactor
You’re keeping the core system, but improving the internal code—restructuring, simplifying, and cleaning up without changing what it does.
→ Think: renovating a kitchen without changing the layout.
🧱 Rebuild
You’re recreating the system, usually from scratch, based on the same requirements—but using modern architecture, tools, and standards.
→ Think: demolishing and rebuilding a better version of the same house.
🔄 Replace
You’re switching to an entirely different system—maybe off-the-shelf, maybe another custom build—to meet changing business needs.
→ Think: moving house entirely.
🧠 How to Decide
Here’s how I approach this with clients (and have done for 25+ years across logistics, manufacturing, government, and emergency services):
1. What’s the business pain?
2. How long will you live with it?
If the system needs to serve you for 3+ more years, a band-aid probably isn’t enough.
3. Do you know how it works?
If no one understands the system deeply anymore, refactoring becomes risky. You may accidentally solidify bad logic.
4. Can your team support it?
Your tech team’s comfort (or fear) around the codebase matters. If they flinch at the idea of updates, that’s a signal.
💬 Real-World Examples
🔧 Refactor: A regional council’s asset management app
🧱 Rebuild: National manufacturing scheduler
🔄 Replace: Freight client with spreadsheet-turned-database monster
💡 Pro Tips
✅ My Rule of Thumb
If your system is core to operations, has no documentation, and new devs dread touching it... It’s time to rebuild or replace.
📩 Want a second opinion?
Sometimes all you need is a clean, honest view of your options.
We help teams evaluate risk vs return—without pressure to jump into a rebuild you don’t need.
Let’s chat: simon@purser.com 🔗 hellodev.com.au / FlexiDev.co