Capability 05

Fix it, replace it, or rebuild it — decided on evidence.

Legacy applications, unstable integrations, failing automation and accumulated technical debt: assessed properly first, so the decision to repair or replace is made on what is actually wrong rather than on instinct.

This capability covers
  • Legacy modernization
  • Integration rescue
  • Rebuild vs repair
  • Technical debt
  • Reliability remediation
  • Performance

The instinct is to replace. Often that is the expensive answer.

When software stops being trustworthy, the reflex is to start again. Sometimes that is right — the architecture cannot carry what the business now needs, or the platform it runs on is genuinely at the end of its life. Often it is not. A rebuild takes longer than it looks, repeats the same design decisions under time pressure, and creates a cutover risk that the current system, for all its faults, does not have.

The honest answer usually requires looking first. A system that fails weekly may have one root cause in one component. An application everyone calls legacy may have a sound data model and a bad interface. A rebuild proposed as twelve months may only need three, applied in the right place.

So we assess before recommending. That means tracing the actual failures, reading the code that matters, understanding what the business depends on, and being willing to tell you that the cheapest correct answer is smaller than the one you were expecting.

What you get

What we work on.

Unstable integrations

Interfaces that fail intermittently, drop records silently, or need someone to re-run them by hand. Diagnosed to root cause, then made reliable.

Failing automation

Automation that has degraded until most cases fall into a manual queue — usually because the inputs changed and the design assumed they would not.

Legacy applications

Software that still runs the business but that nobody wants to change, whether because of the platform, the architecture or the absence of anyone who understands it.

Architecture problems

Systems where the structure itself is the constraint — coupling, missing boundaries, a data model that no longer fits what the business does.

Technical debt

Debt assessed against what it is actually costing you in change velocity and incidents, then paid down where the return justifies it.

Reliability & performance

Systems that work but not dependably or not fast enough, remediated with measurement first rather than guesswork.

How we approach it

Assess, stabilise, then decide.

Assess

Trace the real failures end to end and separate root causes from symptoms. Read the system rather than the account of it.

Stabilise

Stop the active damage first, prioritising whatever is currently hurting the business, before any structural work begins.

Decide

Set out repair, replace or rebuild with the reasoning, the cost of each and the risk of each — then make the call together.

Rebuild

Where a rebuild is right, do it incrementally, keeping the existing system running until the replacement genuinely carries the load.

Prevent

Leave behind the monitoring, tests and documentation that stop the same class of failure returning quietly.

When this is the right fit

Signs modernization work is overdue.

If more than one of these is true, this is usually where a conversation should start.

  • A system fails often enough that someone has a routine for restarting it.
  • Changes that should take days take weeks, and nobody can fully explain why.
  • The only person who understood a critical component has left.
  • An automation that once handled most cases now sends most of them to a queue.
  • You are being quoted for a full rebuild and want the premise checked first.
  • A platform, framework or runtime you depend on is approaching end of support.

Not sure whether to repair it or replace it?

Tell us what the system does, how it fails and what it is blocking. An assessment first usually costs a fraction of the rebuild it either justifies or avoids.