Every stalled modernization eventually produces a second contract: the rescue. A new vendor comes in to fix, finish, or replace what the first one couldn't deliver. Buyers usually expect the rescue to cost less than the original build — after all, some of the work is already done, the requirements are supposedly known, and the rescue firm gets to learn from someone else's mistakes instead of making its own. In practice the rescue engagement routinely costs as much as the original project, sometimes more, and it is worth being precise about why, because the reason is not incompetence on anyone's part. It is incentives, working exactly as designed, just not for the buyer.
Start with what the rescue firm is actually being asked to price. They are not quoting on a known system with known behavior. They are quoting on an unknown system that someone else already tried and failed to fully understand — which is a strictly harder problem than starting from the mainframe source directly. Every partial artifact left behind by the first vendor is a liability as much as an asset: code that might be correct, might be half-converted, might encode a workaround for a bug that no longer exists, and the rescue team has no way to tell which without doing the verification work the first vendor was supposed to have done and didn't finish. Discovery has to happen twice — once by the original team, incompletely, and again by the rescue team, from scratch, because inherited assumptions are worse than no assumptions.
The pricing asymmetry no one names in the room
Here is the part that explains the billing, not just the technical difficulty: the rescue firm is pricing under conditions where the buyer's leverage has already collapsed. By the time a rescue RFP goes out, there is usually a missed deadline on the books, a sunk cost the board has already been told about, and a business process that can't wait indefinitely for a second attempt to go right. The rescue vendor knows all three things before they submit a number. A buyer negotiating from "we need this fixed and we need it fixed now" pays a materially different price than one negotiating from "we're evaluating several options with no clock running," and everyone at the table knows which one this is.
That's not a moral failing specific to rescue consultants — it's how pricing works whenever urgency is public information. But it means the rescue quote is not really priced against the cost of the remaining work. It's priced against the cost of the buyer's next-best alternative, which at that point is usually "start over from zero with a third vendor," a prospect nobody wants to explain to a steering committee twice in one program. The rescue firm doesn't need to be cheaper than starting over. It needs to be cheaper than starting over looks, which is a much lower bar and one that has nothing to do with the actual remaining engineering effort.
Why the original vendor's failure doesn't lower the price
There's an intuitive argument that a failed first attempt should make the rescue cheaper: presumably some real work got done, some requirements got documented, some of the organization's tacit knowledge got captured in a design doc somewhere. Sometimes that's true. But the value of inherited artifacts from a failed conversion depends entirely on whether they can be trusted without re-verification, and a project that failed to reach parity is, by definition, a project that did not establish trustworthy proof of its own correctness. The rescue firm can't respond to "we already converted 80% of the modules" with anything except "prove it," because the entire reason there's a rescue engagement is that the first vendor's claims about correctness didn't hold up. Verifying someone else's unverified work costs close to what building and verifying it yourself costs — you still have to run every path, still have to establish parity against production behavior, still have to find every place the earlier team's understanding of a business rule was wrong. The partial build saves some typing. It does not save the proof, and the proof is where the cost actually lives.
The incentive structure this creates industry-wide
Once rescue engagements reliably out-earn original ones — because they arrive at a moment of maximum buyer leverage-loss and inherit a mess that has to be re-verified anyway — the economics of the whole market shift in a direction buyers should notice. A vendor's downside from an underdelivered original contract shrinks, because there is a healthy, well-paid rescue market waiting to absorb the fallout, staffed in no small part by firms that specialize in exactly this handoff. That doesn't mean every vendor is cynically banking on being replaced. It means the market does not punish underdelivery on the original contract as hard as a naive read of the incentives would suggest, because failure gets monetized twice: once on the way in, once on the way out.
What actually changes the math
The lever a buyer has is not "negotiate harder on the rescue quote" — by the time you're negotiating a rescue quote, you've already lost the leverage that would make that negotiation work. The lever is upstream: don't let a project reach the state where "rescue" becomes the only word for what happens next. That means contracting for proof at intervals throughout the original engagement, not at the end — parity evidence delivered against a growing set of real production paths, checkable by the buyer's own team or a third party, on a schedule that makes it obvious within months, not years, whether the vendor's "80% done" claim is a fact or a hope. A vendor who can produce reproducible, byte-exact proof of parity on demand, incrementally, either is actually on track or reveals that they aren't while there's still time and leverage left to do something about it. The rescue market exists because so few contracts demand that proof early enough to matter. That's the gap worth closing, and it's closed before the first contract is signed, not after the second one is needed.