The vendor collapsed, and you took the blame.
The system stopped at the worst possible time, in front of people who should not have seen it. Its builders said it could not have been predicted.
The product is in production and serves customers. It has problems nobody manages to solve, and every intervention risks creating new ones.
Where they come from
The system stopped at the worst possible time, in front of people who should not have seen it. Its builders said it could not have been predicted.
One person knew how it worked. They left. The code remains, with nobody able to read it.
Lots of people, lots of meetings, few lines of code. Every change has to go through the supplier, because nobody else can work on it.
In every case, the problem is not that the software does not work. It is that it works until you touch it.
Built with AI
More and more often, a product starts like this: an idea, a few weeks with AI, and something that actually works. To test a hypothesis, that's the right path. The problem comes later, when that prototype becomes the product the company runs on.
AI does what you ask it to. What you don't ask, it decides on its own. It may have assumed it was a small project and left security open, without telling you. The software may well be good. But you don't know its weak points, so you can't choose whether to accept them or fix them. Usually you find them when something breaks.
For us it's the same situation as inheriting code from another vendor, and we handle it the same way: we analyse the product, decide together what to keep and what to rebuild, and isolate the critical part, the one the business runs on. What you need to know is where the product can give way. A line-by-line review, across thousands of lines, won't tell you that.
Estremamente flessibili, hanno dimostrato enorme capacità nella gestione di un codice sorgente non scritto da loro (sono subentrati dopo due anni dalla nostra nascita), arrivando a padroneggiarlo completamente dopo pochissime settimane.
What we do
We do not rewrite on principle. A product already serving customers has value that should not be discarded because the code is poorly written: we look at the cost of keeping it, rebuilding it, and what can be done without pulling the plug.
There are three paths, and the choice depends on the numbers, not technical taste. Sometimes rebuilding is right. Sometimes old and new run side by side. Sometimes we recover it piece by piece.
Pressure
A prototype forced into production. Built to prove the idea worked, then put in front of real users without ever being rebuilt.
Infrastructure
Cloud that does not scale. Fixed-size, exposed servers that hold until the load exceeds yesterday’s level.
Processes
Heavy, unreliable processing. Slowdowns, outages, data that occasionally disappears, and nobody knows exactly where.
Time
Accumulated obsolescence and debt. Technologies stuck on versions that no longer receive updates, where every change requires three more.
People
The only engineer left. No documentation, no handover. The code exists; the knowledge does not.
Before
After
The real question
If you are here, you have probably been let down once already. The question you carry is not whether we are good: it is why this time should be different.
There is no answer we can give in words, because you have already heard words. What we can show you is where our method puts its gates.
First
Every activity is described and estimated, and stops until you approve it. You are deciding where the time you bought goes.
Every day
You can access the tool where work lives: its status, its two-week cycle, and whether it is ahead or behind.
During
The person who writes is not the person who approves. Every change is reviewed and tested by another engineer.
Before release
Work reaches an environment you can access before production. If it is not right, it goes back.
Always
No lock-in. You can take everything elsewhere — and that is why our clients stay by choice.
The bill
The large firm
Many people, most early in their careers: the project moves through trial and error
The small team
Accountable professionals: those who work on the system answer for how it works
The large firm
Hundreds of days at full rate
The small team
A fraction of the days. That is where the bill is won — not on the rate
The large firm
A working product that creates technical debt — solvable only by its makers
The small team
Clean, portable code. Yours.
| The large firm | The small team | |
|---|---|---|
| How they work | Many people, most early in their careers: the project moves through trial and error | Accountable professionals: those who work on the system answer for how it works |
| What it costs | Hundreds of days at full rate | A fraction of the days. That is where the bill is won — not on the rate |
| What it leaves behind | A working product that creates technical debt — solvable only by its makers | Clean, portable code. Yours. |
The elite costs less than you think. And gets there sooner.
Modernization Audit
We analyse the product’s condition, identify the causes, and leave you with a plan: what to recover, what to rewrite, in which order, and on what timeline. Then you decide whether to continue — even with someone else.
If you already know what needs doing and only want to see how we work, there is a shorter route: the Dry Run.