Back to blog
Migration Apr 12, 2026 8 min read

Vendor Lock-In Is the Real Cost of Every Legacy Modernization Shortcut

The exit that never happened

A top-3 European insurer moved 240 Oracle Forms screens onto a leading low-code platform in 2019. The migration closed in 14 months and was reported as a success. In 2024, the same insurer tried to leave the platform after the vendor announced a 34% license increase. The exit quote from three integrators ranged from $11M to $17M, with a minimum 20-month timeline. The CIO approved the price hike instead.

This is the pattern we see most often. The second migration costs more than the first.

What lock-in actually is

Lock-in isn’t a licensing clause. It’s an architectural property. A system is locked in when the running application cannot be reproduced outside the vendor’s runtime without rewriting it. Low-code platforms like Mendix and OutSystems generate applications that depend on proprietary metadata formats, runtime engines, and component libraries. The generated code, where visible at all, is not portable.

Gartner’s 2025 low-code market guide notes that 61% of enterprise low-code deployments have no documented exit strategy. Forrester put the same number at 68% in a separate study.

The three cost components buyers underprice

Buyers consistently underprice three components of the total cost of ownership on a locked-in platform. First, license escalation — the typical enterprise low-code contract rises 18% to 35% at the first renewal, and platforms with high switching costs extract more. Second, platform upgrade churn — every major version change forces a re-validation of every application, at an average cost of 4% to 7% of the original build per year. Third, the exit premium — the cost to leave, which grows with every new application added to the platform.

Across the portfolios we’ve reviewed, the five-year TCO of a low-code modernization runs 1.8x to 2.4x the initial quote. The overrun lives entirely in these three components.

Why the shortcut is tempting anyway

The shortcut is tempting because the first 18 months look excellent. Low-code platforms genuinely compress delivery time on the initial build. Demos are fast. Business users are happy. The vendor’s customer success team is attentive. The cost of lock-in doesn’t appear until the second renewal, by which point the CIO who signed the original contract has often moved on.

We’ve watched this cycle complete three times in the last decade. The SaaS wave of 2010, the low-code wave of 2018, and now the AI coding assistant wave of 2024. Each promised to remove the constraint. Each introduced a new dependency.

What an un-locked architecture looks like

A modernization avoids lock-in when three properties hold. The application’s behavior is fully described in an open, human-readable specification. The generation step produces standard code — TypeScript, SQL, OpenAPI — that runs on any cloud without proprietary runtime components. And the specification, not the code, is the artifact the client owns.

Under those conditions, the exit cost is the cost of running the generator somewhere else. That’s a fundamentally different number. In the engagements we’ve priced, it’s 3% to 8% of the original build, not 80% to 140%.

The discipline to avoid repeating the cycle

Avoiding lock-in requires one discipline most procurement teams skip. Before signing any modernization contract, price the exit. Get a written answer to the question: what would it cost to leave this platform in 36 months and run the same workflows somewhere else? If the vendor cannot or will not answer, the exit cost is the lock-in premium, and it belongs in the TCO model.

The same question applies to AI-native platforms. Generation doesn’t automatically mean portable. The artifact matters more than the runtime.

The bottom line

Every legacy modernization shortcut trades a known cost for an unknown one. Low-code platforms move the bill from Oracle to the new vendor, often at a higher run rate. The modernizations that hold up over a decade are the ones where the client owns a portable specification and can regenerate the system anywhere. That’s the test. Ask it before the contract, not after the renewal.