Replace your old system and keep every special case.
AI agents capture what your old system actually does as tests. The new system runs alongside the old one and has to pass every one of them.
- AS/400, COBOL, Delphi, PL/SQL, SAP
- your team owns the result
From the old system to the new one
- 01
Old system
code, screens, APIs
- 02
Requirements
in plain language, checked by your experts
- 03
New system
cut by business domain
Secure the knowledge, even before you migrate
How the system really behaves lives in a few people's heads, and those people retire or move on. Capturing it pays off by itself: whether you migrate next year or never, the knowledge is written down and your team can query it.
Your team gets one system map it can query, with requirements in plain language, dependency graphs and impact analysis.
The knowledge sits in four places today. One map keeps it when people leave.
The code
Agents map it, even on a proprietary framework the models do not know.
Triggers and procedures
Reading the code alongside the database logs brings the hidden logic to light.
A few heads
Structured interviews, early on, often with the one person who built the system.
The old interface
Agents operate it and record acceptance tests from what it does.
The old system's behaviour becomes your specification
Translating line by line
Every old function turns into a new class.
- The new code inherits the old structure and all its coupling.
- You pay for a migration and end up with the same tangle in a newer language.
Rebuilding from behaviour
The old system is the specification.
- The new code never sees the old code, only its interfaces and APIs.
- The architecture comes first, cut along business domains.
How we migrate, one slice at a time
Slow is fast: the first slices run with close support, because a migration that speeds up too early loses quality.
- 01
Map the system, secure the knowledge
Agents map the codebase, and we interview the people who know the special cases.
- 02
Derive requirements, cut by domain
Agents describe what the old code does, and your experts correct them. Domains follow the business.
- 03
Build against the old interfaces
Test harness first. We plan for your developers to take the first 5 to 20 percent of stories with the agents, and the factory the rest.
- 04
Run old and new in parallel
Both get the same inputs until the new one behaves exactly like the old.
Old and new run side by side while the new one grows
Old and new run side by side while the new one grows
The old system keeps running while slice after slice moves to the new one. You switch it off only once the new system carries everything.
New system Old system
- First slice New system 10 %, Old system 90 %
- Slice 2 New system 25 %, Old system 75 %
- Slice 3 New system 45 %, Old system 55 %
- Slice 4 New system 70 %, Old system 30 %
- Old system off New system 100 %, Old system 0 %
Illustrative.
One pilot slice, then the factory takes the repeatable ones
One pilot slice, then the factory takes the repeatable ones
From the assessment to your team running the new system.
-
01
Readiness Assessment
We map the system, interview your experts and decide with you what to migrate, what to modernise and what to keep.
-
02
Factory Pilot
One real slice, rebuilt on your code and tested against the old interfaces.
-
03
The factory migrates the rest
The repeatable slices go through the factory. Your people review the evidence.
-
04
Your team runs it
Agents handle alerts, dependency updates and security patches. Your team owns the system and the factory.
What you need, and where to start
What you need, and where to start
Start with a contained slice that has clear requirements. The hardest part of the old system is rarely the right first slice.
Access to the old code
That is where the requirements come from.
A surface to test against
An API is best, a web interface next, a desktop client last.
People who know the special cases
One or two are enough.
An owner with a mandate
Someone who protects the migration when other work escalates.
Where the requirements are clear
Requirements read off a running system beat requirements gathered from people.
Where the return comes quickly
A migration already underway that is moving too slowly, or a licence you can drop.
A contained part first
Global state, no referential integrity, new requirements every week: start on a contained part, then take the method to the core.
What we rule out
A tool demo, or translating the whole system in one huge prompt.
The assessment maps the old system itself
The assessment maps the old system itself
On top of delivery signals, the assessment reads the old system itself. Your offer states how much of it gets mapped.
A map of the system
Agents map the code and the logic in the database, using a code graph for a large codebase.
An inventory of behaviour
What the old system does, in plain language, and which interfaces the new one can be tested against.
The knowledge holders
Structured interviews with the people who know the special cases.
The first slice, and where not to start
A slice with clear requirements and contained risk, plus a decision on what to migrate, modernise or keep.
Each slice proves itself at the old interfaces
Each slice proves itself at the old interfaces
From the very first slice, so the plan rests on your own numbers.
- At the old interfaces, the new system answers exactly like the old one
- Parity
- Old and new get the same inputs until you switch
- Parallel run
- Time, tokens, errors and retries
- Per slice
- The project back on plan, or the licence gone
- Outcome
Five starting points and the first step for each
Five starting points and the first step for each
Anonymised situations IT leaders have brought to us.
-
The replacement is underway, but at this pace it will take years
Every new feature needs an interface back to the AS/400, so the old system keeps growing while it is being replaced.
- First: a smaller product area with clear requirements.
- At the end: the first tickets through a factory on your code, and a way of working you carry to the core.
-
The people who know it will retire soon
One shared database, logic in triggers and stored procedures, few or no unit tests.
- First: agents read the code alongside database logs and record acceptance tests on the old client.
- At the end: requirements checked by the person who knows the system, and tests the new system has to pass.
-
Decades of code, and the knowledge in a few heads
Nobody can say for sure what a change will touch.
- First: capture the knowledge from code and interviews, with the mainframe mocked for local tests.
- At the end: an architecture map and an evidence-based decision to migrate, re-platform or modernise.
-
Off the old system and onto the SAP we already run
The target already carries custom code, so the effort lies in analysis and fit-gap.
- First: agents map the old applications, then one solves a small case on an SAP test instance.
- At the end: a fit-gap read from the code, and a first case solved.
-
We pay a licence for something we could own
Nobody has the time to build or run a replacement.
- First: the product as it is used becomes the specification, and its API is rebuilt so integrations keep working.
- At the end: a business case that counts build, run and evolution.
Teams we've worked with
Engineering and product teams across the DACH technology scene.
The price follows the first slice
Not before the first slice: without data, any estimate is a guess.
Questions about legacy modernisation
Which systems and languages do you work with?
COBOL or RPG on an AS/400 or mainframe, Delphi, PL/SQL, Java monoliths, SAP or a licensed SaaS product. For a proprietary framework, a code graph gives the agents context.
Is there a reference case we can look at?
We don't publish client migrations by name. The reference that counts is your own: the Factory Pilot rebuilds one real slice of your system, and you measure parity, time and tokens yourselves.
Factory PilotWho runs the new system afterwards?
Your team. For a mid-size replacement we plan with one product manager and one backend engineer. Agents handle dependency updates, security patches and alerts, each supervised a few times before it runs on its own.
Do agents touch our production data?
No. They work in isolated containers against a test environment close to production, and a mock stands in where a real interface, such as a mainframe, is out of reach.
Your team owns the result
Our knowledge base goes deeper into rebuilding from behaviour.
The migration is the training
Your developers learn the method by migrating the first slices of your own system.
Enablement
Everything stays yours
Specifications, tests, configuration and pipelines stay in your repositories.
How enablement worksKnowledge base
Modernization and interface design
Reverse engineering, parity tests and a bounded sequence.
Open in the knowledge baseFind out what to migrate first
The Readiness Assessment maps your system, talks to the people who know it and ends with a decision on one real slice.
Book a call (opens in a new tab)