Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
  1. Home
  2. Blog
  3. Augmentation for Legacy System Maintenance
Software Strategy

Augmentation for Legacy System Maintenance

Old systems with no tests and one expert are the hardest handover there is. How to bring someone in without making the risk worse.

Updated 2 min readBy SpiderHunts Technologies

Free estimateNo obligation

Get a free estimate

Tell us what you need. A senior engineer reads every enquiry.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →

Quick answer — TL;DR

Legacy handover fails when someone is asked to change code nobody understands. Start with characterisation tests that capture current behaviour, then change under their protection. Expect the first weeks to produce understanding rather than features.

The short answer

Do not start by changing things. Start by capturing what the system currently does in tests, so that any change can be checked against the behaviour people depend on. Then change under that protection.

This feels slow and it is the fastest safe route. Teams that skip it spend longer fixing regressions than the characterisation would have taken.

Why legacy work is different

  • The behaviour is the specification, and it is not written down
  • Some of that behaviour is a bug someone now depends on
  • The original authors are usually gone
  • Tests are absent or no longer run
  • The build or environment may be difficult to recreate
  • One person understands it, and they are busy

The second point is the one that catches people. Fixing an apparent bug can break a downstream process built around it, and nobody finds out for a month.

Characterisation before change

  1. Get the system running locally, however awkward. Document every step.
  2. Write tests that capture what it does now, including behaviour that looks wrong.
  3. Note the things that look like bugs, without fixing them yet.
  4. Get the current expert to confirm which of those are intentional.
  5. Only then start changing, with the tests as the safety net.

Steps one and two are genuine work and should be scoped as such. Presenting them as overhead before the real work starts is how they get cut.

Protect the one expert

ApproachEffect
Route all questions to themThey become the bottleneck, nothing improves
Fixed short sessions, answers written downKnowledge transfers, their week survives
Pair on the first changesFastest transfer, highest cost
Leave the newcomer to work it outSlow, and produces wrong assumptions

The second row is usually the best balance. Regular short sessions where answers are captured in writing means the same question is not asked twice.

Set expectations about pace

The first weeks on a legacy system produce understanding rather than visible progress. If that is not agreed in advance, it reads as poor performance and the engagement gets judged on the wrong thing.

Say it plainly at the start: the first phase is characterisation and documentation, and the deliverable is tests and written knowledge rather than features.

What you gain beyond the work

A legacy system with characterisation tests, a documented build and a second person who understands it is materially less risky than it was, regardless of what features were added.

That reduction in risk is worth naming as an outcome, because it is usually the larger part of the value and it does not appear in a feature list.

FAQ

Frequently asked questions

The questions readers ask us after this guide.

Still have a question?

Ask us directly — a senior engineer will get back to you.

Ask about your project

Is it worth maintaining or should we rewrite?

Rewrites are usually longer and riskier than they look. Characterise first, because the tests you write are needed for a rewrite too.

What if we cannot get it running locally?

That is the first piece of work. Nothing safe happens until someone can run it and see the effect of a change.

Our one expert has no time. What now?

Short scheduled sessions with answers written down, rather than ad hoc interruption. It costs them less overall.

How long before useful changes?

It depends on the system's size and how much behaviour has to be captured first. Expect the first weeks to produce understanding.

Keep reading

More on Software Strategy

Software Strategy

Machine Learning Myths That Waste Budgets

Eight beliefs about machine learning that quietly inflate project costs, what is actually true instead, and how to spot each one in a proposal.

Start here

Thinking about adding developers to your team?

Tell us what you are building, what your team looks like now and where the gap is. We will come back with an honest view on whether augmentation fits, how many people it would take and what it costs. If hiring directly would serve you better, we will say so.

  1. You tell us what you needTwo minutes on the form, or a message on WhatsApp.
  2. A senior engineer reviews itAnd comes back with questions, a realistic range and an honest view on fit.
  3. Free 30-minute scoping callWe talk through scope, options and a realistic estimate — with no obligation.
Free estimateNo obligation

Talk to someone who builds this

Send a short brief and we will come back with an honest view and a realistic range.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →