Fixed price vs time-and-materials for custom builds — when each works

Fixed price gives clients certainty but punishes both sides when scope shifts. T&M gives flexibility but spooks budget-conscious buyers. The right model depends on how well the requirements are understood — not on what the client prefers.

Every custom software contract negotiates the same fundamental tension: who owns the risk that requirements are wrong? Fixed price puts that risk on the contractor. Time-and-materials (T&M) puts it on the client. Picking incorrectly creates 80% of bad project outcomes.

Fixed price — the contract reality

Contractor commits to deliver scope X for price P by date D. If it takes more effort, the contractor eats the cost. If less, they pocket the difference.

Hidden truth: every fixed price has a 30-50% risk buffer baked in. Clients think they're getting certainty — they're paying for it.

Works when:

  • Requirements are unambiguous and stable.
  • Both sides have done similar work before (good estimation history).
  • The product has a hard external deadline (event launch, regulatory).
  • Client cannot tolerate budget uncertainty.

Breaks when:

  • Requirements are fuzzy or expected to evolve.
  • Discovery and build are merged into one contract.
  • Stakeholders are still aligning on what "success" means.
  • The product is exploratory ("figure out if this is possible").

Time-and-materials — the contract reality

Contractor bills hours at agreed rates, often weekly or monthly. Client controls the scope by deciding what to work on next.

Hidden truth: T&M doesn't mean unlimited budget. It means visibility into actual cost. Smart clients cap monthly spend and steer with priorities.

Works when:

  • Requirements will evolve as the product takes shape.
  • Client is engaged enough to make weekly priority decisions.
  • Trust is established — works best after a successful fixed-price kickoff.
  • Project is long-running with no clear endpoint.

Breaks when:

  • Client has no clear vision and no time to clarify.
  • Internal politics make weekly steering impossible.
  • Budget is hard-capped and inflexible.
  • Client doesn't trust the contractor yet.

The hybrid approach

Most production-grade engagements run a sequence:

  1. Discovery, fixed price. Two to four weeks. Produces signed scope, technical proposal, fixed-price quote for build.
  2. Build, fixed price. Based on the scope from discovery. Scope changes go through a written change request process.
  3. Post-launch, T&M or retainer. Now the client knows the team and trusts them. Ongoing work can be flexible.

This sequence solves the central problem: you're never fixed-pricing something fuzzy, never T&M'ing something the client expects to fit a budget.

Change orders — the make-or-break

Any fixed-price contract needs a clear change order process:

  • Any change to written scope is a change order, regardless of "size."
  • Each change order has its own price and impact on timeline.
  • Client signs before work starts.
  • Verbal agreements don't count.

Without this discipline, fixed price quietly turns into unpaid T&M.

Estimating fixed-price work

Three-point estimation works well: optimistic, realistic, pessimistic. Final number = (O + 4R + P) / 6. Then add 30% buffer for the unknown.

If you can't produce O/R/P estimates for major components, you don't understand the work well enough for fixed price.

Common red flags

  • "Just give me a rough number" — translates to "I'll hold you to it later."
  • "We'll figure out the details as we go" — translates to scope creep.
  • "Our team will handle X" — translates to you'll do it when their team is overloaded.
  • "We've already paid another team to start" — inherited mess, fixed price is impossible.

Verdict

Fixed price for well-scoped work with clear deliverables. T&M for evolving work with engaged clients. Hybrid sequence (discovery fixed → build fixed → support T&M) for everything else. Never fixed-price something fuzzy, never T&M something a client wants budgeted.

Learn more about our competence
Web development, AI, automation — what we build and how.