Originally published on shipfastdev.com.
Choose fixed price when you can write the scope down completely and it will not change; choose time and materials when the work is uncertain and you can follow it closely, always with a spending cap; choose a retainer when the product needs steady work every month and priorities shift as you learn. Each model moves risk to a different party: fixed price moves cost risk to the provider and change risk to you, time and materials moves cost risk to you, and a retainer fixes spend while leaving scope flexible.
Fixed price: the provider carries the cost risk
US federal procurement rules give a precise definition: a firm-fixed-price contract "provides for a price that is not subject to any adjustment on the basis of the contractor's cost experience". If the work takes twice as long as estimated, the provider absorbs it. That is attractive, and it has consequences:
- The estimate includes a risk margin. A provider who carries the risk prices it in. On well-understood work the margin is small; on vague work it is large or the provider loses money.
- Scope becomes a negotiation. Anything not written in the specification is a change request, with its own quote and delay. In product work, where you learn from users every week, that friction adds up.
- Quality is the hidden variable. When the budget runs short, the easiest things to cut are tests, documentation and edge cases. Protect them with written acceptance criteria.
Good fit: a marketing site from an approved design, a defined integration with a documented API, a migration with a clear before and after, a discovery or prototyping phase with a fixed length.
Time and materials: you carry the cost risk
Under the same rules, a time-and-materials contract pays for "direct labor hours at specified fixed hourly rates", and may be used only when it is not possible at the outset to estimate the extent or duration of the work with confidence. Two safeguards are mandatory there, and they are good practice for any startup:
- A ceiling price that the provider exceeds at its own risk. For you: a monthly or per-feature cap that requires your approval to exceed.
- Active oversight, because time-based pay gives no built-in incentive to control cost. For you: weekly timesheets tied to tasks, and regular releases you can check.
Time and materials is honest about uncertainty: you pay for the work actually done, and you can change direction at any time. The risk is drift: without priorities and caps, hours expand.
Good fit: an MVP whose scope will move, debugging or performance work on an unfamiliar codebase, research spikes, extending a team with in-house leadership.
Retainer: fixed spend, flexible scope
A retainer pays a fixed monthly amount for an agreed capacity and set of responsibilities: for example a number of development hours, code reviews, deployments and hosting care. You decide each month what that capacity works on.
- Budget is predictable, like fixed price.
- Scope is flexible, like time and materials: you reprioritise without a change request.
- Continuity is built in: the same people keep context, which supports small, frequent releases (see weekly releases with a remote developer).
The risks are paying for idle capacity if you have no backlog, and disagreement about what "included" means. Write down the hours, what happens to unused hours, response times, what counts as out of scope and the notice period.
Good fit: a live product that needs regular features and fixes, post-launch iteration on an MVP, a small company without in-house developers.
How each model handles a change
Imagine that two weeks into the work, user feedback shows the onboarding flow should be rebuilt.
- Fixed price: the provider writes a change request with a new price and date; you approve, negotiate or drop the change. The original deadline may move.
- Time and materials: you reprioritise; the hours go to the new flow. Check the cap: if the change pushes you over it, decide what to cut.
- Retainer: you move the onboarding rebuild to the top of next month's priorities; something else waits. Spend does not change.
The Agile Manifesto put this tension into one line in 2001: "customer collaboration over contract negotiation". A contract cannot remove uncertainty; it can only decide who pays for it and how quickly you can react.
Hybrids that work
- Fixed-price discovery, then retainer or time and materials. Pay a fixed amount for a short scoping phase (specification, design, estimate), then build with a flexible model. See how to scope an MVP.
- Fixed price per iteration. Agree a fixed price for each two- to four-week cycle with a short list of goals, and re-plan between cycles.
- Time and materials with a cap per feature. Flexible, but every feature has a budget that triggers a conversation when 80% is used.
A note for France: régie and staff lending
In France, time-based work is often called régie. French labour law prohibits any for-profit operation whose sole purpose is lending staff (outside regulated temporary work), so a régie contract must remain a service: the provider brings its own expertise and keeps authority over its people. With an individual freelancer, a client who sets hours, gives detailed orders and integrates the person like an employee risks requalification as employment. Define deliverables and leave the provider in charge of how the work is done.
How to choose
- Can you write the scope completely today? Yes: fixed price is an option. No: time and materials or a retainer.
- Is the work a one-off or ongoing? One-off: fixed price or capped time and materials. Ongoing: retainer.
- Who will follow the work weekly? If nobody can, avoid uncapped time and materials.
- How will you judge progress? Whatever the model, look at delivered results. DORA's delivery metrics, such as deployment frequency and change lead time, work for all three.
For budget figures behind each model, see how much an MVP costs and what a software developer costs; for the provider side, freelancer vs agency vs dev retainer.
Frequently asked questions
What is the difference between fixed price and time and materials?
Fixed price sets the total price in advance, so the provider carries the cost risk and changes need a new quote. Time and materials pays for hours actually worked at agreed rates, so you carry the cost risk but can change direction freely.
Is fixed price good for an MVP?
Only if the scope is truly settled. Most MVPs change as users respond, and every change becomes a change request. A fixed-price discovery phase followed by a flexible model usually works better.
What is a development retainer contract?
A monthly contract for a fixed amount of development capacity and agreed responsibilities. You set priorities each month; spend stays the same.
How do I control costs in a time and materials contract?
Set a cap per month or per feature that requires your approval to exceed, ask for weekly time reports linked to tasks, and insist on regular releases you can check.
Sources
- FAR 16.202-1 Firm-fixed-price contracts, Federal Acquisition Regulation (Acquisition.gov), n.d.
- FAR 16.601 Time-and-materials contracts, Federal Acquisition Regulation (Acquisition.gov), n.d.
- Manifesto for Agile Software Development, agilemanifesto.org, 2001
- Article L8241-1 du Code du travail, Code du travail numérique (Ministère du Travail), n.d.
- Indépendance juridique : risque de requalification du contrat de mission en contrat de travail, Bpifrance Création, 2026-06
- DORA's software delivery performance metrics, DORA, 2026-01





