Refactoring and technical debt
We do not rewrite the system from scratch. We put it in order in stages.
Each stage has its own price and a measurable target written into the contract. After every stage the system runs, and you can stop — with no abandoned project and no half-finished rebuild.
Outline your caseHow to tell that the time has come
Technical debt rarely announces itself. It usually makes itself known through deadlines.
A small change takes a week
An hour’s fix requires half the system to be tested, because the dependencies are not known.
Nobody wants to touch one module
There is an area the team enters only as a last resort. Usually the same one that fails most often.
A library update blocks the release
The dependencies are old enough that raising one version pulls a dozen others with it.
AI-written code that nobody has read
It works, but no one can say why it works or what happens with different input.
Measure, change, measure
Every stage closes with an acceptance of its own. The measurement at the start and at the end is taken with the same tool, in your environment.
What the stages consist of
Measurable targets instead of declarations
For each stage, specific values are written into the contract. Acceptance consists of checking whether they have been reached — not of judging whether the code looks better.
What we do not promiseNo percentage figures are given before the baseline measurement. The numerical targets are set after the first stage, once the starting state is known — and only then do they go into the contract.
Frequently asked questions
Do we have to suspend work on new features?
No. The stages are designed so that they can be fitted between releases. That is why we work area by area rather than on the whole system at once.
What if we decide after the first stage that it is enough?
Then it ends there. Each stage is a self-contained whole with its own acceptance and carries no commitment to the next one.
Would it not be cheaper to rewrite everything?
Almost never. A rewrite means reconstructing every business rule that has accumulated in the old code over the years, most of which is written down nowhere. Putting the system in order in stages takes longer, but the system runs throughout.
Do you start with an audit?
With the baseline measurement, which covers a narrower scope than a full audit. Where it is not yet clear where the problem lies, it makes more sense to start with the code audit.
Do you work on our infrastructure?
Yes. The repository, the environments and the data stay with you. We work with the access you grant us and return it once the work is finished.
How do you use AI tools?
Under supervision: every fragment goes through a second engineer’s review before it moves on. Your data does not go into prompts. The rules are set out in the document “Data, GDPR and AI tools”, provided before the work begins.
The module nobody wants to touch
Tell us where the difficulty is greatest. The initial assessment of the starting point is free of charge.
Outline your case