PricingJul 12, 20269 min read

Fixed price vs hourly software development: how should you pay for your build?

Fixed price vs hourly software development: one caps your risk, one caps your developer's. Which fits your project, plus the third option most founders miss.

Flat illustration of a founder weighing two contracts on a balance scale, a fixed price agreement on one side and an hourly timesheet on the other, comparing fixed price vs hourly software development

Fixed price vs hourly software development is really one question in disguise: who carries the risk of the unknown? Under fixed price, the developer carries it, and you pay for that protection through padding built into the quote. Under hourly, you carry it, and you pay for that freedom whenever the scope drifts.

Neither model is better. Each is better for a certain kind of project, and a lot of the pain founders describe, blown budgets, stalled builds, surprise invoices, comes from picking the wrong one. It's also part of the reason app development quotes vary so much: two teams quoting the same idea under different models are answering two different questions.

Here's what each model actually buys you, when each one wins, and a third option most founders never get offered.

What does fixed price software development really buy you?

A fixed price buys you certainty. One number, agreed before work starts, that the developer has to live with. If the build takes twice as long as they expected, that's their problem, not yours. For anyone spending their own money, that certainty is worth a lot.

But look at what the developer just agreed to. They've promised a number for work that always contains unknowns: an integration that fights back, a feature that sounded simple and isn't, a requirement nobody wrote down. They can't price those surprises individually, so they price them collectively, as padding. Every experienced shop adds a quiet buffer on top of its honest estimate, because the shops that didn't are no longer in business.

A fixed price is not a promise the project will cost that much to build. It's a promise that the surprises are the developer's problem, and you pay for that promise up front.

Then there's the change-request tax. A fixed price only covers what's written down, so the moment you ask for anything that isn't, you're negotiating a change request. And you're negotiating from a weak position, mid-project, with your product half built and your developer holding the pen on what counts as "in scope." A change that would have cost an hour at the start gets billed at a premium later, partly because interruptions have a real cost, and partly because they can.

The incentive problem runs the other way too. Once the price is locked, the developer earns more by spending less time on your project. Most are professional about it. But wherever the contract is silent, the structure nudges them toward the quicker option, not the better one.

What does hourly billing really buy you?

Hourly, or time and materials as it appears in contracts, buys you flexibility. You pay for the work actually done, at an agreed rate, and you can change direction any week you like. There's no padding, because there's nothing to pad: unknowns cost what they cost, when they show up. In that narrow sense, it's the more honest model.

It also changes the relationship. Under hourly, a change of plan isn't a confrontation, it's a conversation. You learn something from your first users, you reprioritize, and the developer simply works on the new thing next week. For a product still finding its shape, that matters more than any discount.

The catch is the missing ceiling. Hourly has no built-in definition of done, and no built-in reason to reach it. If your scope is fuzzy, the project doesn't fail loudly, it drifts: week after week of real, billable, defensible work that somehow never adds up to a launch. Nobody has to act in bad faith for this to happen. The structure doesn't push toward finished, so someone has to, and that someone is you.

Under hourly, you are the budget control. Every vague instruction, every "while you're in there," every slow decision on your side converts directly into billed hours. It's a fine model for founders who can review progress weekly and make decisions fast. It punishes everyone else.

Fixed price vs hourly software development: side by side

Fixed priceHourly (time and materials)
Who carries the riskThe developer, priced in as paddingYou
FlexibilityLow, changes cost extraHigh, change direction weekly
Developer's incentiveFinish fast, spend fewer hoursKeep working, no push to finish
Cost certaintyTotal known up frontRate known, total open ended
Best forSmall, sharply defined scopeEvolving products, ongoing work

Read the incentives row twice, because it explains most of the horror stories. Fixed price developers who cut corners and hourly developers who never quite finish aren't villains. They're responding to the deal they signed. Your job isn't to find someone immune to incentives. It's to pick the deal whose incentives point where you want to go.

Price the work, not the hours

Describe your idea in plain English and get an itemized build plan, split into phases with estimates, that you can take into a fixed price, hourly, or milestone deal.

Get your build plan

When does fixed price win?

Fixed price wins when the unknowns are small, which usually means the project is small and sharply defined.

It's a good fit when:

  • The scope fits on a few pages and won't move. You know exactly what you want, it's written down, and you'd rather have the thing described than the thing you might discover along the way.
  • The project is short. A few weeks of work is far easier to estimate than six months of it, so the buffer on top stays small.
  • Budget certainty beats everything else. If overrunning the budget would kill the project, a capped number is worth its markup.
  • You have a detailed plan to price against. The more precisely the work is itemized, the fewer unknowns the developer has to pad for. A vague paragraph invites a padded quote. An itemized plan invites a sharp one.

Notice the pattern: every point on that list shrinks the unknown, which shrinks the padding, which is the real price of the model. Fixed price on a fuzzy idea is the worst of both worlds, a big markup up front and a change-request fight waiting behind it.

When does hourly win?

Hourly wins when change isn't a risk to manage but the actual point.

It's the right call when:

  • The product is still finding its shape. You expect feedback to change the plan, and you want a deal where changing the plan is cheap.
  • The work is ongoing. Maintenance, support, iteration after launch. There's no finish line to price, so a rate makes more sense than a total.
  • You can stay close to the work. You'll review progress weekly, answer questions fast, and notice drift within days instead of months.
  • Trust is already established. A developer who has delivered for you before has earned the benefit of the open meter.

If you read that list and thought "that's not me, I have a day job and a fixed budget," believe yourself. Hourly with an absent client is how a modest build quietly doubles. What your build should cost is its own question, and we've covered what it costs to build an app separately, but no cost range survives a fuzzy scope on an open meter.

The third option: milestone pricing from an itemized plan

Here's what rarely gets offered to first-time founders: you don't have to pick one model for the whole project.

Milestone pricing splits the build into phases and fixes the price of one phase at a time. Phase 1 gets itemized, estimated, and priced as its own small fixed contract. When it ships, you review it, fold in everything you've learned, and only then price Phase 2.

Each phase is small enough to estimate without heavy padding. You get a capped number, the developer gets a scope tight enough to commit to, and the risk of the unknown gets carried in small, affordable pieces instead of one giant bet.

The checkpoints are the quiet superpower. At the end of every phase you can continue, pause, re-scope, or change developers, all without breaking a contract or abandoning a half-built product. That option alone shifts the power balance for the rest of the build.

The one thing milestone pricing demands is a plan worth pricing from: the build split into modules, grouped into phases, with each part explained in plain English. That's exactly the document our tool produces, and how the plan gets built takes two minutes to read. Walk into any negotiation with a plan like that and every model gets cheaper, because padding lives in ambiguity, and you've removed it.

How to protect yourself under either model

Whichever way you go, a few terms protect you from the sharp edges.

Under fixed price:

  • Ask for the quote itemized line by line, never one lump sum. You can't compare or question a single number.
  • Agree the change request rate in advance, before you need it.
  • Pay by milestone, not big deposit. Money should follow delivered work.

Under hourly:

  • Set a weekly hour cap that can't be crossed without your sign-off.
  • Ask for a per-feature estimate before each feature starts. Estimates can be wrong, but they force the conversation early, while it's still cheap.
  • Get a weekly summary: what was done, what it cost, what's next. Drift hates daylight.

Under both: you own the code and designs as you pay for them, in writing. If a project ends badly, that one clause is the difference between switching developers and starting over from nothing.

Fixed price vs hourly software development: decide who carries the risk

Every software deal makes someone carry the risk of the unknown. Fixed price hands it to the developer and bills you for the favour. Hourly hands it to you and trusts you to manage it. Milestones split it into pieces small enough for either side to hold.

The founders who get burned aren't the ones who picked hourly, or the ones who picked fixed. They're the ones who never noticed a choice was being made.

Make it deliberately. Start by getting an itemized build plan for your idea, split into phases with estimates, and take it into whichever deal you choose. Every pricing model charges you for ambiguity. A plan is how you stop paying.

Common questions

Is fixed price or hourly better for software development?

Neither is better across the board. Fixed price suits small, sharply defined projects where cost certainty matters more than flexibility. Hourly suits evolving products and ongoing work where the scope will keep changing. For most first builds, pricing one phase at a time from an itemized plan gives you the best of both.

What does time and materials mean in software development?

Time and materials is the formal name for hourly billing. You pay for the hours actually worked, at an agreed rate, plus any direct costs, instead of paying one agreed total. The final cost is open ended, so it rewards a clear scope and close weekly tracking.

Why are fixed price software quotes higher than expected?

A fixed quote has to cover surprises the developer cannot name yet, so experienced teams add a buffer on top of their honest estimate. You pay that buffer whether or not the surprises show up. A more detailed scope shrinks the unknowns, and the padding shrinks with them.

What is milestone pricing in software development?

Milestone pricing breaks the build into phases and fixes the price of one phase at a time. Each phase is small enough to estimate accurately, and you only commit to the next one once the current one ships. It caps your risk like fixed price while keeping much of the flexibility of hourly.

How do I keep an hourly software project on budget?

Agree a weekly hour cap, ask for an estimate on each feature before work starts, and get a short weekly summary of what was done and what it cost. Make sure you can pause the work at any time and that you own the code as you pay for it. Drift thrives in silence, so the fix is a steady reporting rhythm.

Filed under
PricingWorking with developers

Get a build plan for your idea

Describe what you want to build and get a clear, itemized plan in a couple of minutes.

Get your build plan