SkillsChoose language
LanguageEnglish

Field notes / Modernization

Legacy systems, finally contemporary.

For decades the software running the real world — billing engines, records systems, plant controllers — was too risky and too expensive to touch. AI changes the economics. It can now read code no one remembers writing and help carry it, safely, into contemporary form.

Not a rewrite. A translation.

A legacy monolith on the left is read by an AI core in the centre and re-emerges on the right as a set of clean, connected modern modules.EST. 1994legacyAIcontemporary
Fig. 01 — Old system in, modern system out

The old economics

Legacy code wasn't kept — it was survived.

A system turns “legacy” the moment the people who understood it move on. The code still runs, but the knowledge is gone, so every change becomes a gamble.

  1. UndocumentedThe behaviour lives in the code, not in any spec. The only honest documentation is the running system itself.
  2. UnderstaffedCOBOL, Delphi, ancient PHP — the languages outlived the people who wrote them. The expertise retired.
  3. UntouchableIt processes payroll, or doses, or trades. Breaking it isn't an option, so nobody opens it.
  4. UnaffordableA full rewrite means re-deriving decades of edge cases by hand. Most attempts stall, overrun, or fail outright.
A working system sealed behind caution tape and a padlock — running, but too risky to open.DO NOT TOUCH
Fig. 02 — The system behind glass

So organizations froze. They wrapped the old system in warnings and paid the quiet tax of never improving it. For years that was the rational choice — until now.

The new capability

AI can finally read the systems we stopped understanding.

Language models are unreasonably good at the one thing modernization always needed: comprehending unfamiliar code and re-explaining it in plain, domain language.

01

Comprehend

Point a model at a thirty-year-old module and it explains what the code does in the domain's own terms — the map that was never written down.

02

Map

It traces dependencies across files and services, surfacing the hidden couplings that make any change feel dangerous.

03

Translate

COBOL to Java, jQuery to React, stored procedures to typed services — mechanical translation that used to be months of careful work.

04

Characterize

Before changing anything, it generates tests that pin the current behaviour down, so “still works” becomes something you can prove.

05

Refactor

It restructures code in small, reviewable steps, keeping the system shippable at every stage instead of a single big-bang cutover.

The discipline

AI makes it possible. Method makes it safe.

The tool is powerful, not magic. Modernization that lasts still follows a handful of old rules — now, at last, affordable to obey.

Preserve behaviour first

The goal is the same system, better built — not a new system with fresh bugs. Behaviour is the contract you keep.

Characterization tests

Capture what the system does today before touching it. Green tests are the seatbelt for every change that follows.

Strangler fig

Grow the new system around the old one, routing traffic across piece by piece, until the legacy core can simply be removed.

Small, reversible steps

Every change is a slice you can ship and roll back — never a migration that can only be finished, never paused.

Human in the loop

AI proposes; engineers decide. Every generated change is read, tested, and owned by a person before it ships.

Keep it running

The business can't stop for the rebuild. The system stays live and improving the entire way across.

The path across

A repeatable loop, not a leap of faith.

Modernization stops being one terrifying project and becomes a routine: understand a slice, lock its behaviour, transform it, verify, ship — then do it again.

A repeatable modernization loop: understand a slice, characterize its behaviour, transform it, verify, ship, then repeat with the next slice.UNDERSTANDCHARACTERIZETRANSFORMVERIFYSHIPrepeat, one slice at a time — the system stays live the whole way acrossAI reads itlock the behaviourship the slice
Fig. 03 — The modernization loop

Bring the system you're afraid to touch.

HAAM pairs AI-assisted comprehension with the discipline that keeps production safe. If you run a system everyone depends on and no one wants to open, that's exactly where we start.

Start with the hard part

Help improve this website?

Optional analytics. Google Analytics and Clarity load only if allowed; form, email, and chat content are excluded.