All field notes
Strategy

Inheriting a codebase you can't ship

CM Christopher McGrath · Jun 22, 2026 · 6 min read
Cover image for “Inheriting a codebase you can't ship”

Maybe an agency delivered something that almost works. Maybe a contractor got 80% of the way and stalled. Either way, you're holding a codebase that won't quite ship, and every quote to "just finish it" comes back vague and expensive.

The instinct is to start over. Usually that's the wrong call. Starting over throws away real work and buys you a fresh set of unknowns. A rescue is almost always faster and cheaper.

What a rescue actually looks like

It's not magic, it's a methodical process:

  • Map the ground. I read the code and get it running locally so I understand what's really there, not what a status report claims.
  • Triage honestly. What works and can stay, what's broken and must be fixed, and the small slice that's genuinely worth rebuilding.
  • Ship the smallest working thing. Getting it deployed and stable comes first; the polish comes after you can see it working.

"Finish it" and "rebuild it" are not the only two options. Most rescues are mostly finishing, with a little rebuilding where it counts.

Why the last person got stuck

Often it's not incompetence, it's that the original scope drifted, the deadline collapsed, or the one person who understood it left. None of that means the work is worthless. It means the project needs someone to walk in clear-eyed, take an honest inventory, and get it moving again, for a fixed price, so you finally know what "done" costs.

FREE · NO OBLIGATION

Let's scope it the right way

A clear plan and a fixed price before a line of code is written. Tell me what you're considering and I'll give you a straight, honest answer.

Keep reading

Something breaking on Fridays?

Tell me what's going wrong. I'll tell you what I'd do about it.

Get in touch