Three versions behind. The patches stopped.
Framework, runtime and dependencies brought up to a supported version. The architecture stays exactly as it is, because this is a maintenance problem and treating it as a redesign is how it never gets done.
- 120 to 300 story points
- Architecture untouched
- Behavior verified, not assumed
The problem
Upgrades get deferred because they are invisible. Nobody asks for one, no customer notices when it lands, and there is always a feature worth more this quarter. So the version gap widens quietly for three years.
Then it stops being invisible. A security advisory lands with no patch for your version. A hosting provider drops the runtime. A hire turns down the offer after seeing the stack. By then the upgrade is four major versions of breaking changes rather than one.
We do this as contained work with a committed price. The reason it never happens is that nobody can say what it will cost.
- Rails, Node, .NET, Java, React, Angular and the frameworks around them
- No architecture changes, no opportunistic refactoring, no scope creep
- Behavior verified against tests, not against someone's memory
What this Pod ships
A safety net first
Characterization tests over the paths with no coverage, so the upgrade has something to be verified against.
Staged version jumps
One major version at a time, each one deployable, rather than a single leap nobody can review.
Dependency and CVE clearance
Abandoned packages replaced, known vulnerabilities closed, and a lockfile that resolves without warnings.
A pipeline that keeps you current
Automated dependency updates and a documented cadence, so this is the last time it accumulates.
Nothing merges on hope
- Passes the suite
- Sent back to build
What we will not do here
We will not rearchitect anything while we are in there. The temptation is real. A codebase mid-upgrade exposes every decision you regret. Acting on it is how contained work becomes open-ended work.
Anything worth changing gets written down and estimated separately. You decide whether to do it, with a price attached, after the upgrade lands.
What it costs
120 to 300 story points. The drivers are how many major versions you are behind and how much test coverage exists today. Coverage matters more. An upgrade with a real test suite is routine. One without means building the safety net first.
We size it from your repository before quoting, so the number reflects your actual dependency graph rather than an average.
- Points: 120 to 300, committed before work begins
- Sized from your repository, not from a template
- Deployable at every version step, never one large cutover
- 30 day warranty from written acceptance
Bring us the backlog.
In 30 minutes, we will show you what a Pod would ship first and how we would price it.