{_}

Fixed-Price vs Time-and-Materials: Which Contract Actually Protects You

Every time someone asks me to build something, the first real negotiation isn't about features. It's about the contract. Specifically: fixed-price or time-and-materials.

People usually have a strong opinion before we've even discussed the work. "We only do fixed-price" or "we won't touch anything that isn't T&M." Both camps think they're being smart about protecting themselves.

The honest answer is that neither contract protects you on its own. The protection comes from what's underneath: scope, trust, and the incentives baked into how you're paying.

Here's how each one actually works in practice, and what I've learned about when to use which.

What each one actually is

Fixed-price — you agree on a scope, the developer gives you a number, and that's what you pay. Whatever happens, the price stays. Theoretically.

Time-and-materials — you agree on an hourly or daily rate and pay for the actual time spent. Scope can flex, but so can the final bill.

Both sound reasonable in isolation. Both have failure modes you don't see until you're three months in.

Why fixed-price feels safer (and often isn't)

When you're the buyer, fixed-price feels like the responsible choice. You know what you're paying. Your finance team is happy. No nasty surprises.

Except there often are.

Here's what's hiding inside a fixed-price contract:

  • The developer has padded the number. A good fixed-price quote includes a risk margin, usually 20–40%. You're paying for the developer's uncertainty, whether or not it materializes.
  • Scope becomes a battleground. Every change request turns into a negotiation about whether it was "in scope." Momentum stalls and resentment builds on both sides.
  • Quality is the silent variable. When the price is locked but the work runs long, something has to give. Usually it's the parts you don't immediately see: testing, documentation, edge cases, refactoring.

Fixed-price works beautifully for well-defined projects with stable requirements. It quietly degrades the work when requirements are still being figured out, which is most of them.

Why time-and-materials gets a bad reputation (often unfairly)

T&M sounds dangerous because there's no ceiling. The developer bills, you pay, and nothing on paper stops the project from doubling.

In practice, T&M usually fails for one of two reasons:

  • No transparency. You're billing into a black box and have no idea if 80 hours of work was actually 80 hours of work.
  • No accountability. Without clear weekly check-ins and a rolling budget, the project drifts and you only notice when the invoice arrives.

But T&M done well is the most honest contract structure I've seen. You pay for what's done. Scope can evolve as you learn. The developer isn't incentivized to cut corners because their reward isn't tied to finishing fast. It's tied to keeping you happy enough to keep working together.

The catch is that "done well" requires actual discipline on both sides.

The hidden incentives

This is the part nobody talks about openly.

  • Fixed-price incentivizes the developer to finish fast, resist changes, and quietly de-scope. The cheaper they deliver, the more they keep.
  • T&M incentivizes the developer to take their time and bill carefully. The longer it takes, the more they make.

Both incentives can work against you if you're not paying attention. Both can work for you if the developer cares more about reputation than the next invoice.

The contract is a tool. The relationship is what makes it work.

What I actually use at Novemind

Honestly, almost every project we run is a hybrid.

The pattern that works for me is:

  • Discovery phase: fixed-price. A small, capped engagement to figure out what we're actually building. Two to three weeks, clear deliverables. You get a real spec out of it, and you can walk away with no further commitment.
  • Build phase: time-and-materials with a budget cap and weekly check-ins. Hours tracked transparently, weekly burn report, monthly review. We agree a ceiling, and if we're going to hit it I tell you well before we do.

This protects the client (they see what's being spent every week and can stop any time) and protects me (I'm not eating the cost of every change request that wasn't in the original brief).

For very small projects (under $10,000), I'll still take fixed-price. The risk margin is small, the scope is tight, and the overhead of weekly check-ins isn't worth it.

For anything bigger, I won't quote pure fixed-price anymore. I've been burned by it on both sides: once as the developer, once as the client years ago. The lesson stuck.

What I tell people

Don't pick the contract first. Pick the relationship first.

If you trust the team and you've seen their work, T&M with a cap is almost always the right structure. You'll spend less in total and the work will be better.

If you don't trust them yet, start with a small fixed-price discovery phase. Treat it as a paid tryout. If they're good, you'll know. Then you can move to T&M for the real work.

And if someone refuses to work T&M under any circumstances, ask yourself why. Usually it's because they don't want you to see how they actually spend their time.

That alone tells you something.