From Billable Hours to Outcomes: A New Outsourcing Model
Hourly billing pays for time in the seat. Here's how milestone contracts realign outsourcing around what actually ships.
6 min read

On this page
An hourly outsourcing contract pays for time, and a milestone contract pays for a result — and that one difference decides who is happy at the end of the engagement.
Key points
- Hourly and per-seat billing rewards time logged, not value delivered, which puts the client and the vendor on opposite sides of every estimate.
- A milestone contract only works if scope, acceptance criteria, and payment are tied to the same document, not negotiated separately after the fact.
- Outcome pricing has real failure modes — scope disputes, corner-cutting near a deadline, and a vague definition of "done" — and they're avoidable, not inherent.
- The mitigation is unglamorous: a written scope document, staged milestones with their own acceptance tests, and a change process for anything that falls outside it.
Why the hourly model rewards the wrong thing
A timesheet measures effort, not output. That was a reasonable proxy decades ago, when software delivery was slow and mostly linear — more hours genuinely meant more built. It stops being a reasonable proxy the moment a team gets faster, because a vendor billing by the hour has no financial incentive to get faster. Every efficiency gain shows up as fewer billable hours, which means less revenue for doing the same job better.
That misalignment is structural, not a matter of any one vendor acting in bad faith. A client wants the outcome as quickly and cheaply as possible; a time-and-materials vendor's revenue is tied to the clock still running. Both sides can be behaving honestly and still be optimizing for different things. The client scrutinizes every hour on the invoice looking for waste, and the vendor has no clean way to prove a fast week was actually a productive one, because the only number on the invoice is time.
Per-seat pricing has the same problem in a different shape. It charges for headcount assigned to a project, not for what that headcount produces, so a client evaluating two proposals ends up comparing rate cards instead of comparing what will actually be delivered. Neither hourly nor per-seat billing gives a client a number they can hold a vendor to. A milestone price does.
What a milestone contract actually looks like
A fixed-scope or milestone engagement replaces the timesheet with a small set of documents, agreed before work starts: a scope document that describes what will exist at the end, a price attached to each phase of that scope, and acceptance criteria that say, in checkable terms, how everyone will know a milestone is done.
The scope document is the load-bearing piece. It has to be specific enough to price — not "build a customer portal" but the actual screens, the actual integrations, the actual data model, written down before either side commits to a number. Vague scope is the single biggest reason fixed-price engagements go wrong, and it's a documentation failure, not a pricing-model failure: the fix is writing the scope down properly, not going back to billing by the hour.
Milestones break that scope into stages a client can evaluate independently — a working authentication flow, a payment integration, a reporting dashboard — each with its own acceptance test and its own payment tied to passing it. This does two things at once. It gives the client checkpoints to inspect progress against real, working software instead of a burn-down chart, and it gives the vendor a payment schedule that doesn't depend on trust alone. Neither side is waiting until the very end to find out whether the engagement worked — it's what a well-run first 30 days with a partner should look like from the client's side, a working milestone early rather than a status report.
Acceptance criteria are what make a milestone enforceable rather than aspirational. "The search feature is built" is not an acceptance criterion; "a user can search by name, filter by date range, and export results to CSV within two seconds" is. The difference is whether a disagreement about whether something is done can be settled by looking at the software, or has to be settled by argument — the same function a service-level agreement serves for ongoing work, turning a vague promise into something checkable.
The real risks, and how they get managed
Outcome pricing is not automatically safer than hourly billing — it just moves the risk somewhere else, and that somewhere else needs its own controls.
The first risk is scope disputes. A client asks for something during the engagement that feels like a small addition and the vendor considers new scope; without a written baseline, both positions are reasonable and neither side can prove it. The fix is a change-order process defined at the start: anything outside the signed scope document gets priced and approved separately, in writing, before it's built. This isn't bureaucracy for its own sake — it's the only thing that keeps a milestone price meaning anything after the third week of a project.
The second risk is corner-cutting near a deadline. A vendor under a fixed price with a slipping milestone has an incentive to ship something that technically passes rather than something that's actually solid — thinner test coverage, skipped edge cases, technical debt quietly deferred — exactly the kind of hidden cost a cheap-looking engagement racks up when acceptance criteria aren't specific enough to catch it. Acceptance criteria written with enough specificity close most of this gap, because "passes" has to mean something concrete rather than "looks done in a demo." The rest is closed by a vendor's own QA discipline holding regardless of which milestone is under pressure, which is a reason to evaluate a partner's process before signing, not just their price.
The third risk is a badly defined "done." This is the root cause behind most of the disputes that get blamed on the pricing model itself. If a milestone's acceptance criteria are written loosely — "the dashboard should look good and be fast" — then it was never actually fixed-price; it was hourly billing wearing a milestone's clothing, with the argument about scope simply deferred to delivery day. A milestone contract is only as solid as the specificity of what it promises.
None of these risks are arguments for going back to the hourly model. They're arguments for doing the scoping work properly before the first milestone starts, which is exactly the discipline a client should be checking for in a vendor regardless of how the contract is billed.
What to look for in a partner
A vendor that can price by outcome is telling you something about how they work before a single line of code exists. It means they can break a project into stages small enough to scope accurately, write acceptance criteria specific enough to be tested rather than argued about, and hold themselves to a number instead of a clock — the same discipline that shows up when you price a project's total cost of ownership rather than just its day rate. That's a different kind of confidence than a low hourly rate, and it's one more input into choosing between building in-house, hiring freelancers, or outsourcing in the first place, since a partner's pricing discipline says as much about them as their rate card does.
If you're weighing outsourcing models for a 2026 project and want to see what a properly scoped, milestone-based engagement looks like in practice, get in touch — or read more about how BigIn structures delivery before we quote a number.
More on Software Development
Keep reading

The Outsourcing Red Flags Most Companies Discover Too Late
The vendor red flags that sink projects are checkable before you sign — most buyers only look for them after the damage is done.

Small AI-Augmented Team vs. 20-Person Dev Team
A lean AI-augmented team wins on speed and loses on breadth. Here's how to size the trade-off before you commit to either structure.

The First 30 Days with an Outsourcing Partner
What a well-run first month of outsourced delivery looks like week by week, and the early signals that tell you whether the engagement is on track.
Talk to the team that wrote these
Tell us what you are trying to ship. We will tell you what it takes.
Book a free consultation