Skip to content

Hourly, fixed price, or milestones: pick the failure mode you can live with

Sandeep Kumar · 24 July 2026 · 6 min read

Billing arguments start before the invoice. They start when the model does not match how well the work is known.

Hourly

Best when the scope is open: a bug you have not reproduced, a backlog, support after launch.

The failure mode is an unbounded bill. The fix is a log — hours against a task, a short note — and a ceiling you review before it is crossed. “Trust me” is not a log.

Fixed price

Best when the deliverable is small and specific. A defined integration. A closed set of screens.

The failure mode is scope creep. Either the developer absorbs it and rushes, or you get a change request for every sentence. The fix is a written list of what is in and what is out, before work starts. Additions are a new price.

Milestones

Best for a larger build where you want a fixed total but refuse to wait until the end to see software.

The failure mode is a milestone called “phase 1” that nobody can demo. Name the milestone as something you can click: “sign-in and the empty dashboard, on staging.”

A short way to decide

  • You know the outcome and it is small: fixed price.
  • You know the outcome and it is large: milestones.
  • You do not know the outcome yet: hourly, with a check-in.
  • There is no end date: hourly or a monthly hour block. See maintenance.

Mixing models is normal. A milestone build, then hourly maintenance, is a healthy sequence. The protection is not the label. It is a sentence that says what done looks like. That sentence lives in the quote, which is why pricing and process are separate pages: one is commercial, one is the sequence.

Get a fixed quote

Send what you want built. You get a written price or the questions that block one.

Free developer toolsif you want a formatter, counter, or generator without starting a project.

No obligation. We reply within 24 hours with either a fixed quote or a short list of scoping questions.

WhatsAppGet a quote