Legacy

Old software. Understood first, then renewed.

Your system has run for years and does its job. But nobody knows exactly how any more, and every change feels like a gamble. We first map what your software really does. Then we modernise it step by step, with proof that nothing changes that must not change.

01 · Why it goes wrong

Most legacy projects do not fail on technology. They fail on the order of things.

They start rewriting before anyone knows what the old system does. Or there is no safety net that shows when the new system calculates differently. Twenty years of taking over other people’s systems taught us one order that holds: first understand, then decide, then build, always with a test that proves the behaviour did not change.

That is why we sell the plan before the build. The plan is one assignment with five steps. Building starts only when you have signed off on it.

02 · How we go about it

Five steps. Each one delivers something you keep.

One assignment, a fixed scope, and after every step a result you can stop at, steer on or continue from. The old code is never touched: analysis and new code live apart.

  1. STEP 1What is there? We start with five questions the code does not answer: what is in scope, can the system be built and tested at our end, is there a build pipeline, were there earlier attempts, and what must not be touched. Then we check whether everything is complete. You know up front what is missing.Readiness report
  2. STEP 2What does it do? We map size, complexity, technical debt and security. You get an interactive map of your system: which parts call each other, where data comes from, and how a user moves through the main processes.Map of the system
  3. STEP 3Which rules are in it? The knowledge about rates, conditions and calculations often lives only in the code. We take those rules out and write them down in plain language, with a reference to the exact place in the code. Your people check them. That gives you documentation that is right, even if you never migrate.Rules, with source
  4. STEP 4What is the plan? From that we write the modernisation plan: target architecture, phasing and a behaviour contract that sets down what the new system must keep doing. It is a plan your steering group can approve. Nothing is built until you sign.Plan for sign-off
  5. STEP 5Build, with proof Before we change anything, we record the current behaviour in tests. The new system has to pass them. So you see in black and white that it calculates the same. Which of the three routes below we take, the plan decides.Same behaviour, proven
03 · Three routes

The plan picks the route. Not our preference.

Upgrade.

The same technology, a newer version, such as .NET Framework to the current .NET. Your code stays. We only fix what breaks between the versions. We migrate one part completely first and use those lessons for the rest.

Replace step by step.

One part at a time, while the old system keeps running. No big bang, no night in which everything has to move at once. First the tests that pin down today’s behaviour, then the new part, then the proof that both do the same.

Build anew.

A new architecture, built from the rules we took out of your old system, on a foundation that stays yours. With acceptance tests that show from day one whether it is right, and two moments where you give the go.

If an upgrade turns out to touch most of the code after all, we say so and choose another route together.

04 · Two ways in

One assignment for the plan. Or take-over first.

Five steps One assignment · fixed scope · a proposal with a fixed price

The modernisation plan. From “what does it do” to a plan your board can sign.

The five steps above for one system: readiness, map, rules, plan, and the tests that record today’s behaviour. You get a proposal with a fixed price for the five steps. Building afterwards gets its own proposal, per route.

Ask for the plan
Take over Management and further development · keep it running · harden it

Management and further development. We take the system over from your supplier or the developer who left.

Steps 1 to 3 as a handover file: architecture, dependencies, rules with their source, security findings. On that basis we keep the system stable and safe, make it safer while it runs, and develop it further at a fixed management fee in the proposal. We have been the incoming party and the outgoing one.

Management and further development
05 · Safe during the transition

Your old system stays untouched. Your data stays where it is.

UNTOUCHEDYour existing system is never changed during the analysis. Analysis and new code live apart.
SECRETSPasswords or keys we come across in the code are masked and kept out of reports.
NO PRODUCTION DATAOur developers do not work with production data. Development, test, acceptance and production have been strictly separated with us for years.
CHECKEDCode from outside counts as untrusted input. Every rule and every finding is checked again against the code it points to.
HARDENEDWhile the migration runs, we make the old system safer. You review every change before it goes in.
ISO 27001We are ISO 27001 certified. The security page says where your code is processed and what we may and may not do with it.
06 · What we need from you

The analysis is as good as what is in the code.

The full list comes with the intake. This is the short version, so you know what to look for before the first conversation. Never production data.

SOURCEThe complete source code, including shared libraries and includes. Without it, the map and the rules are incomplete.
BUILDThe build definition and pipelines, and if possible a working build environment for the old version. That is what lets us run old and new side by side, the strongest proof.
DEPLOYMENTDeployment configuration: routes, jobs, server configuration, scheduled tasks. Otherwise processes outside the code are missed.
DATABASEDatabase schemas, stored procedures and views. Rules that live in SQL stay invisible without them.
SCOPEWhat is in scope, what must not be touched, and what earlier attempts there were and why they stopped.
A PERSONSomeone on your side who can check the rules we find. Without that, the rules stay uncertain.
07 · When is it time?

Six signs you recognise.

SUPPORTYour platform or framework is running out of support, or the hosting is getting expensive because of it.
PEOPLEThe people who built the system have left, or are about to.
CHANGESEvery change takes longer and breaks something else.
AUDITAn audit, a security questionnaire or a NIS2 check is coming.
CLOUDYou want to move to the cloud, but the system was not built for it.
HANDOVERYou are taking over management from another party and want to know what you are getting.
09 · Questions we get

Four questions that come first.

Do we have to replace everything?

Rarely. Understand it first, then replace the part that hurts most. A system that is stable and understood can run for years. The goal is that you can change it again, not that you have new software.

What if the source code is gone?

Then the running system is the specification. We record its behaviour from the outside (screens, database, integrations) and build against that. It takes longer, and we are open about the parts that cannot be seen from the outside.

How do we handle the current supplier?

We join the conversations with your supplier, or take them over. Most handovers go better once someone technical is in the room on your side. If the supplier does not cooperate, we start from what you already hold: an export of the database and the running application. Source code helps, but it is not a condition.

What does it cost to find out?

The plan is one assignment with a fixed scope and a proposal with a fixed price for the five steps. Building afterwards gets its own proposal, per route, and at the end of every phase you decide whether we go on.

Start with one system

Show us the system everyone works around.

Tell us what it runs on, how old it is and who still understands it. Together we look at what is there, what it does and which route fits. Then you decide on the next step.

From old system to new, since 2006