Case 03 · Vertical B2B software

Results delivered

Month 18Flagship platform modernised and released, after three failed rebuild attempts. Client migrations ran from month 18 to month 24 and beyond.Delivered
6×Release cadence against the sector norm: from the quarterly releases typical of legacy vertical software to two production releases a month, with four development releases a day. Release cadence, not output per engineer.Operational
~80%Lower monthly hosting cost on a comparable load. A greenfield product, against a ~$50k-a-month legacy baseline. Hosting only, not total cost of ownership.Operational
$500KContractual penalty avoided. An at-risk key account restructured and retained.Realised
~€1.1MSavings realised over two years.Realised
19Senior hires, 16 past six months, hired onto the client’s own payroll. The senior team stayed throughout, against active poaching.Delivered

Modelled · estimates, not banked savings

~€2.2M a yearSavings identified across the group, from the development framework, the component library, written governance and standardised user stories. Modelled from headcount, hours and rates against stated baselines.Modelled
~€1.0MValue of the rebuilt flagship, against €263,676 sunk in the three failed attempts.Modelled
Engagement the facts
ClientA PE-backed vertical B2B software group, scaling from 35 to 300 people through acquisitions and a merger. Anonymised for confidentiality.
EngagementSuccessive executive mandates across engineering, people and product, engaged on a contract basis. Four years. Completed June 2026.
TeamLed by Colin Whitfield, with the client’s own engineers. Every senior hire went onto the client’s books.

The problem

The group had grown by acquisition faster than its operating model. Hosting ran on legacy servers at around $50,000 a month. Roughly two hours a day went to meetings, across 28 people. Client pressure reached the roadmap directly, and scope moved with it.

The flagship had been rebuilt three times. Each attempt stalled. Around €264,000 had been sunk, and a key account was heading for a $500,000 contractual penalty.

The engineers were not the problem. Nobody held the decisions a rebuild needs.

The approach

Mandate first, then people, then process, then systems. The order took four years, across three mandates.

The order three mandates over four years
01EngineeringThe offshore office, the standards and the governance that let decisions be made in writing.
02PeopleThe capability gaps, the senior hires, the engineers at risk of leaving.
03ProductThe flagship itself, once there was a team and a process that could hold a rebuild.

What changed

The operating model from and to
MeetingsAbout two hours a day, across 28 peopleTwo structured meetings a week
HostingLegacy servers, ~$50,000 a monthEvent-driven cloud, ~80% lower on a comparable load
ScopeClient pressure straight onto the roadmapOne prioritised roadmap, through executive approval
Offshore officeLow-cost capacityThe group’s engineering reference centre
AI-assisted workBefore it was scaledGoverned first: full traceability, dual sign-off

Engineering centre repositioned. The offshore office moved from low-cost capacity to the group’s engineering reference centre. Its lead engineers went on to review other teams’ architecture.

Standards owned by engineers. A development framework, coding standards and a component library, each sponsored through governance and owned by an engineer he developed. All three were adopted group-wide.

Meetings replaced by written governance. Two structured meetings a week in place of two hours a day.

Scope held at the boundary. One prioritised roadmap, taken through executive approval. Client requests were weighed against it, not added to it.

Hosting moved to event-driven cloud. The new product was built on it from the start.

AI governed before it was scaled. Full traceability and dual sign-off on every AI-assisted change.

Two builds, one organisation

In the same period, another team in the group rebuilt a different product’s interface over its existing backend. The two teams were of comparable size and used the same AI tooling, and both builds shipped on time. An architectural review of both codebases afterwards is the closest thing to a controlled comparison this work produces.

The comparison two builds, same tooling
DimensionBuild A: new interface over the legacy backendBuild B: greenfield, backend built alongside
API contractHand-written validation, no formal schema. Every endpoint modelled by handClients generated from a formal OpenAPI schema. Near-zero cost per endpoint
Type disciplinePermissive rulesStrict typing, generated types throughout
DataFetched from the browser through a proxy, two hops per requestPrefetched on the server, hydrated to the client
AuthenticationCustom middlewareEstablished third-party provider
Automated tests3 test files15 unit test files, plus 24 end-to-end specs across records, contributors, security and admin
Shared codeStandalone repositoryMonorepo, with generated clients shared across 10+ services
BackendUnchanged legacyCo-evolved, event-driven, multi-tenant

The discipline is the product; the tooling is downstream of it.

The outcome

The rebuild from mandate to migration
BeforeThree failed rebuild attempts; around €264,000 sunk
Month 18Modernised platform released
Months 18–24Client migrations, and beyond
June 2026Engagement ends; the framework, library and engineering centre stay with their owners

The modernised platform released at month 18. Client migrations ran through month 24. The senior team stayed throughout. The account heading for a penalty stayed. A major customer’s long-running loss of confidence turned into a confirmed migration decision. That customer was later acquired and the programme stalled, so the claim is the recovery, not the revenue after it.

The engagement ended in June 2026. The framework, the component library and the engineering centre stayed with the people who owned them.

In retrospect

One change did not survive the move to the product mandate. Standardised user stories, introduced across four teams, were dropped when the previous team was reinstated. The changes that lasted were the ones handed to a named owner. The ones held centrally did not. Every change we install now has an owner other than us from day one.

About the figures. Realised: a cash or contractual outcome, verifiable against records. Operational: a measured system metric on a comparable workload, not traced to P&L; the release cadence and hosting figures are operational, and the 6× is measured against the sector norm. Modelled: calculated from headcount, hours and rates against a stated baseline. It is an estimate, not a banked saving. Classes are never summed. The architectural comparison is drawn from an internal review of both codebases. Client names sit under NDA; references are available on request.

These results come from specific past engagements, verified against records, and depended on each company’s circumstances. They are not a prediction or guarantee of results for any other company. Full terms.

More case studies

Speak to someone
we worked with.

Client names sit under NDA. References are available on request, and we arrange the call.