Short answer: There are three main engagement models. Fixed price suits well-defined, unchanging scope and moves risk to the vendor at a premium. Time and materials suits exploratory work and moves risk to you in exchange for flexibility. A dedicated team, meaning engineers assigned to you full-time on a monthly basis, suits ongoing product work where you want continuity and direct control. Most long-running engagements start as fixed-price discovery and convert to a dedicated team.
The three models at a glance
| Fixed price | Time and materials | Dedicated team | |
|---|---|---|---|
| You pay for | A defined outcome | Hours actually worked | Reserved capacity per month |
| Risk sits with | Vendor | Client | Shared |
| Scope changes | Formal change request | Absorbed naturally | Absorbed naturally |
| Best for | Clear, bounded scope | Discovery and research | Ongoing product work |
| Typical minimum | One project | None | 3 months |
| Who directs work | Vendor PM | Vendor PM | Usually your PM |
Fixed price: buying an outcome
In a fixed-price contract you agree a scope, a price and a delivery date. The vendor absorbs the risk of estimating wrong and prices that risk into the number.
Use it when the specification is genuinely stable, the integration surface is known, and you need budget certainty for an approval process.
Avoid it when requirements are still forming. Fixed price makes change expensive by design, so every discovery mid-project turns into a commercial negotiation. Teams end up choosing between paying for changes and shipping something they know is wrong.
Watch for what counts as in scope. A fixed price without a written out-of-scope list is not fixed. Ask for both lists.
Time and materials: buying capacity by the hour
You pay for hours worked, usually billed monthly against a timesheet.
Use it when you are exploring, integrating with a system nobody fully understands, or the roadmap changes faster than a contract cycle.
Avoid it when you have no internal capacity to direct and review the work. Time and materials without active client involvement produces exactly what it sounds like, which is billable hours.
Controls to insist on: a not-to-exceed ceiling per phase, weekly burn reporting against the estimate, and itemised timesheets you can actually read. A vendor unwilling to provide all three is telling you something.
Dedicated team: reserving capacity
Named engineers are assigned to you full-time for a monthly fee. They work as an extension of your team, usually attend your standups, and are not shared with other clients.
Use it when you have continuous work, want the same people to accumulate knowledge of your systems, and prefer to direct priorities week by week rather than through change requests.
Avoid it when your backlog is thin. You pay for reserved capacity whether you fill it or not, which is the same idle-capacity problem as in-house hiring without the long-term benefit.
What dedicated should actually mean: named individuals rather than roles, written notice before anyone is rotated off, and a replacement obligation with overlap for handover. If the contract does not name people, it is not a dedicated team.
How to choose
Answer three questions:
- Can you write down what done looks like today? If yes, fixed price is available to you. If no, do not force it.
- Will the work continue past this project? If yes, a dedicated team amortises the onboarding cost. If no, project-based is cleaner.
- Do you have someone to direct the work weekly? If no, avoid time and materials and dedicated team, because you need a vendor-managed fixed-price engagement.
The most common healthy sequence is a short paid discovery at fixed price, producing a specification and estimate, then a dedicated team or time and materials engagement for delivery. This keeps the estimate honest, because nobody can estimate accurately before analysis and any vendor claiming otherwise is guessing.
Contract clauses that matter more than the rate
- IP assignment: the client owns the delivered work product
- Source code and repository access during the engagement, not only at the end
- Third-party licence list: a written inventory of open-source components
- Named personnel and rotation notice for dedicated teams
- Notice period: 30 days is common, longer locks you in
- Rate validity: how long the agreed rate holds and what triggers a change
- Contract currency: EUR, GBP or USD shifts exchange risk to the vendor
- Acceptance criteria: how a deliverable is judged complete
- Handover obligation: documentation, credentials and deployment instructions on exit
- Data processing agreement where personal data is involved
[To fill before publishing: Codefacture's own terms. Minimum engagement length, notice period, whether IP assignment and source delivery are standard, contract currencies offered, and typical time from signature to a developer starting.]
Onboarding: the first three weeks
Even a strong team is unproductive without access. Prepare these before day one:
- Repository access, environments and credentials
- A written architecture overview, however rough
- One named person on your side who can answer questions same-day
- A first task that is small, real and shippable, not a toy exercise
A useful benchmark: a competent engineer joining a documented codebase should ship something meaningful in the first two weeks. If that has not happened by week four, the problem is usually onboarding rather than the engineer.
Frequently asked questions
What is a dedicated development team?
A dedicated team is a group of named engineers assigned to one client full-time on a monthly fee, working as an extension of the client's own team rather than on a project basis. They are not shared with other clients and typically take direction from the client's own product manager.
Is fixed price or time and materials better?
Neither is universally better, because they price risk differently. Fixed price gives budget certainty and charges a premium for it, and works only when scope is genuinely stable. Time and materials is cheaper when scope is uncertain but requires you to actively direct and review the work.
What is the minimum commitment for a dedicated team?
Three months is the common minimum, because onboarding cost needs time to amortise. Shorter engagements are usually better structured as fixed-price projects.
Who owns the code we pay for?
Ownership follows the contract. Insist on an explicit IP assignment clause, source code and repository access during the engagement, and a written list of third-party licences. Client ownership of custom-built code is a standard request.
How quickly can developers start?
This depends on the vendor's current availability rather than any general rule. Ask for a specific named availability date and whether the named people are currently on another engagement.
Next steps
Tell us what you need to build and we will propose the model that fits. Related reading: nearshore vs offshore vs in-house and 15 questions to ask a development company.