What are the main software development agency pricing models? There are three. Fixed price: one agreed price for a defined scope, which gives budget certainty but makes changes slow and includes a risk premium. Time and materials (T&M): you pay for the hours actually worked at agreed rates, which is flexible and transparent but puts budget risk on you. Retainer (dedicated team): a recurring monthly fee for a set team or amount of capacity, which suits ongoing product development. Choose fixed price when the scope is stable and well documented, T&M when requirements will evolve, and a retainer when you have a continuous roadmap. Many engagements use a hybrid, such as a fixed-price discovery phase followed by T&M with a budget cap.
Two proposals for the same project can differ by a factor of two and still both be reasonable, because they are pricing different things. One may assume a fixed scope and include a buffer for risk. Another may quote an hourly estimate that will grow if requirements change. Before comparing numbers, you need to understand which pricing model each proposal uses and who carries the risk under it.
This guide explains the three core models, the hybrids that combine them, and how to read a quote so you can compare proposals fairly. For the full cost picture beyond the invoice, see our guide to the true cost of AI software development.
The Three Core Pricing Models at a Glance
| Factor | Fixed price | Time and materials | Retainer |
|---|---|---|---|
| What you pay for | A defined deliverable | Hours worked | A team or block of capacity per month |
| Budget certainty | High (for the agreed scope) | Low without a cap | High per month; total depends on duration |
| Flexibility to change scope | Low (change requests) | High | High |
| Who carries delivery risk | Mostly the agency | Mostly you | Mostly you |
| Upfront effort | High (detailed specification) | Low to moderate | Moderate (team setup and roadmap) |
| Best for | Small, well-defined projects | Evolving products and discovery-heavy work | Ongoing development and maintenance |
Fixed Price
How it works
The agency commits to delivering a defined scope for an agreed price, usually paid in milestones. Anything outside the statement of work goes through a change request with its own estimate and price.
Advantages
- Budget certainty for the agreed scope, which helps with approvals and planning.
- Delivery risk sits with the agency. If the work takes longer than estimated, the agency absorbs the cost.
- Clear acceptance. Well-written acceptance criteria make it obvious when the work is done.
Disadvantages
- A risk premium is built in. Agencies price the uncertainty into the quote, so on a well-run project you may pay more than the equivalent T&M cost.
- Changes are slow and adversarial. Every new idea becomes a negotiation, which discourages learning from users during the project.
- Incentives can drift. Under pressure, an agency may deliver exactly what was written rather than what you need, or cut corners on quality that the acceptance criteria do not measure.
- Heavy upfront specification. You need a detailed scope before the contract, which takes time and money on your side.
Use it when the scope is small to medium, stable and well documented, for example a defined integration, a marketing site or a clearly specified module. Be cautious using it for a new product whose requirements you expect to learn as you go.
Time and Materials (T&M)
How it works
You pay for the time the team actually spends, at agreed hourly or daily rates per role, plus any agreed expenses. The agency provides an estimate, but the final cost depends on the work done.
Advantages
- Flexibility. You can reprioritize every sprint without renegotiating the contract.
- No risk premium. You pay for work done, not for the agency's uncertainty.
- Transparency. Good T&M engagements come with detailed time reporting, so you see where the budget goes.
- Faster start. Work can begin once priorities are clear, without a full specification.
Disadvantages
- Budget risk sits with you. Without controls, costs can grow with scope and inefficiency.
- Weak incentives for efficiency. In a pure hourly model, the agency earns more when work takes longer. Seniority, process and reporting matter a lot here.
- More oversight needed. Someone on your side needs to track burn against progress.
Use it when requirements will evolve, you are building a new product, or the work involves discovery, such as data exploration for an AI feature. Protect yourself with a budget cap, weekly burn reports and demos of working software, so spend and progress can be compared.
Retainer and Dedicated Team
How it works
You pay a recurring monthly fee for either a dedicated team (for example, a tech lead, three engineers and QA) or a fixed block of hours. The team works through your roadmap in priority order, and you can usually scale up or down with notice.
Advantages
- Continuity. The same people stay on your product and build up deep context, which improves speed and quality over time.
- Predictable monthly spend that is easy to budget.
- Priority access. Your work is not competing with the agency's other projects for the same people.
Disadvantages
- You pay for capacity, not output. If your side cannot keep the backlog ready, capacity goes unused.
- Harder to exit quickly. Notice periods and minimum terms are common.
- Value needs active tracking. Without clear goals and reporting, a retainer can drift into activity without outcomes.
Use it when you have a continuous roadmap, such as an ongoing product, a platform with regular feature work, or maintenance and improvement after launch. It pairs naturally with the managed-team model covered in staff augmentation vs. managed teams.
Hybrid Models Worth Knowing
- Fixed-price discovery, then T&M or retainer. A short, fixed-price discovery or scoping phase produces the architecture, backlog and estimates. You then build under a flexible model. This is often the best fit for new products.
- T&M with a cap (not-to-exceed). You pay for time worked up to an agreed ceiling. It keeps T&M flexibility while limiting your downside; agree up front what happens when the cap is approached.
- Fixed price per milestone or phase. Break a large project into smaller fixed-price phases, each scoped just before it starts. You get certainty for each phase without committing to a full specification months ahead.
- Fixed-length delivery cycles. A team commits to a set of outcomes for each fixed-length cycle at a known cost per cycle. You reprioritize between cycles, so both budget and flexibility stay predictable.
- Outcome-based pricing. Part of the fee depends on measurable results, such as performance targets or adoption. It aligns incentives but only works when the outcome is clearly measurable and within the agency's control.
- Paid pilot. A small, bounded engagement to test the relationship before a larger commitment. We cover how to structure one in the pilot project approach.
How to Choose the Right Model
- Start with scope certainty. If you can write acceptance criteria for everything today and do not expect them to change, fixed price is reasonable. If not, avoid pure fixed price for the whole project.
- Match the model to the phase. Discovery and early product work suit T&M or fixed-price discovery. Well-understood build phases can be fixed per milestone. Post-launch development suits a retainer.
- Decide who should carry risk. If budget certainty is essential, accept that the agency will charge for taking the risk. If flexibility matters more, keep the risk and control it with caps and reporting.
- Check your own capacity. T&M and retainers work best when you have a product owner available to set priorities and review work each week.
- Look at incentives. Ask how the agency makes money under the proposed model, and whether that lines up with getting you to a good outcome quickly.
How to Read an Agency Quote
Whatever the model, a good quote makes its assumptions explicit. When comparing proposals, check that each one covers:
- Team composition and seniority: who is on the team, their roles and experience, and what share of the hours senior engineers will do.
- Rates per role, or the blended rate and how it was calculated.
- Estimate assumptions: what is included, what is excluded and what the estimate depends on, such as API availability or data quality.
- Quality work: whether testing, code review, security checks and documentation are included or extra.
- Project management and meetings: whether they are billed separately.
- Change process: how new requests are estimated, approved and priced.
- Post-launch: warranty period for defects, support options and handover.
- Payment terms: deposits, milestone schedule and invoicing cadence.
- IP and ownership: that you own the code, and that it lives in your repositories and cloud accounts.
If two quotes differ widely, these assumptions usually explain why. A lower quote that excludes testing, has a junior-heavy team or assumes a smaller scope is not a cheaper version of the same thing. Our checklist of questions to ask before hiring an agency helps you draw these details out.
Common Pricing Pitfalls
- Fixed price on a vague scope. This is the most common source of disputes. The agency either pads the price heavily or the project turns into a series of change-request negotiations.
- T&M without visibility. Hours billed without regular demos of working software make it impossible to judge value until it is too late.
- A retainer without a roadmap. Paying for a team that is waiting on decisions is the most expensive way to buy software.
- Comparing hourly rates across different seniority mixes. A lower blended rate can hide a team with fewer senior engineers, which usually costs more overall in rework. See why senior-led teams deliver better AI projects.
- Ignoring the cost of switching. Low prices that come with code you cannot maintain, missing documentation or restrictive IP terms can cost more later than they save now. Watch for the warning signs in our agency red flags guide.
How CodeBridgeHQ approaches pricing
CodeBridgeHQ uses fixed-week delivery cycles backed by data-driven estimates: each cycle has a fixed length, a clearly scoped deliverable and a known cost, and you can reprioritize between cycles. Senior engineers lead every engagement and use AI-driven SOPs to reduce the hours that routine work takes. If you want to see the model in action before a larger commitment, we offer a pilot project. Contact us for a quote based on your scope.
Frequently Asked Questions
Which is better: fixed price or time and materials?
Neither is better in general. Fixed price suits small, stable and well-documented scopes, because it gives budget certainty and moves delivery risk to the agency, at the cost of a risk premium and slow changes. Time and materials suits evolving products and discovery-heavy work, because you can reprioritize freely, but you carry the budget risk and need to track spend against progress.
Why are fixed-price quotes often higher than time and materials estimates?
Under a fixed price, the agency absorbs the cost if the work takes longer than expected, so it adds a buffer to cover that risk. Under time and materials, you pay only for the time actually worked, so there is no buffer, but you pay more if the work grows. The fixed-price premium is the cost of transferring risk to the agency.
How do I protect my budget on a time and materials contract?
Use a not-to-exceed cap, require weekly reporting of hours against progress, insist on regular demos of working software, and review priorities every sprint or cycle. Agree in advance what happens as the cap approaches, for example a re-estimate and approval before further spend.
What should be included in a software development agency quote?
A good quote lists team composition and seniority, rates per role, estimate assumptions and exclusions, whether testing, code review, security checks and documentation are included, how project management is billed, the change request process, post-launch warranty and support, payment terms, and confirmation that you own the IP and that code lives in your repositories.
What is a retainer in software development?
A retainer is a recurring monthly fee for a dedicated team or a fixed block of capacity. The team works through your roadmap in priority order, and you can usually scale up or down with notice. It suits ongoing product development and post-launch work, as long as you have a product owner keeping the backlog ready so capacity is not wasted.



