Legacy software modernization, with the tests written first | yaab
A line of the AI Software Factory

Legacy software modernization, with the tests written first.

We capture what your system does today, then every phase has to prove it still does it.

What we modernize

The system nobody wants to change.

We modernize application codebases: unsupported framework and language versions, monoliths that block the roadmap, dependencies nobody wants to touch.

Everyone is careful around it

It runs the business, the people who wrote it are gone, and nobody wants to be the one who changes it.

The platform is out of support

Security, compliance and hosting all know it. The upgrade has been postponed for years.

The normal state of the web

W3Techs shows 37.9% of PHP sites on PHP 7 or older, past end of security support. Statcounter puts 28.1% of Windows desktops still on Windows 10, months after support ended.

You cannot hire for it anymore

The people who know that stack are retiring or expensive, and the pool gets smaller every year.

The rule

We write the tests before changing the code.

Modernization goes wrong in a predictable way: someone starts changing code before anyone wrote down what the system actually does.

The documentation is stale

The only reliable source is what the system does today.

Current behavior, captured first

Before touching anything, we analyze the stack and write the suite that captures how the system behaves today, including the quirks your business depends on.

Each phase proves the same behavior

Every modernization phase is checked against the suite of current behavior. A phase that cannot prove the same behavior on the new platform does not go live.

The tests cannot be weakened mid-project

We measure and record coverage first. It can rise, never drop, so on months of work nobody cuts tests to save time or leaves the project half done and unverified.

The process

Four phases, each one checkable.

Modernization is a line of the AI Software Factory, which turns a specification (what a change must do and how to check it) into code.

1

Read and map

AI reads the codebase, and we map what the system does, what depends on what, and where the risk concentrates. You get the map even if you stop here.

2

Build the net

We write the behavior suite, and it passes against the current system.

3

Modernize in slices

The factory moves one part at a time to the new platform, and each part must pass the suite before going live. Old and new run in parallel, and your team, or ours, approves every change.

4

Cut over and hand off

The modernized system goes live. You keep the suite, the recovered documentation and the repository.

What you get

Four things, all yours to keep.

The modernized system, on mainstream, supported technology.

The behavior suite that proved the new system does what the old one did. It passed on both and protects every change made after us.

Your repository, documented, including the specification recovered from the code itself: what the system actually does, written down.

The phase record: what moved in each phase, and what it was verified against.

Done means: every phase passed the suite that was green on the old system, and coverage never went down.

FAQ

Questions we get.

QHow long does it take?

It depends on the size of the system, and anyone answering before looking is guessing. What we can scope quickly is the first phase.

QWhat does it cost?

We scope it after we assess the system. We do not quote before reading it.

QCan we keep shipping features while this happens?

Yes. Parts of the system move one at a time, and the old and new systems run in parallel.

QWhat if a phase fails?

It does not go live. The suite shows us the failure before your users see it.

QWho owns everything at the end?

You do: the system, the suite, the recovered specification and the repository.

Bring the system nobody wants to touch.

One working session: we look at the system together and map the risk, the phases and what the tests must cover. You leave knowing whether it is an upgrade, a migration or a deeper restructuring, and what each would take.

We reply within one business day.