Software development agreement template
A software development agreement sets the terms on which a developer builds software for a client: what is built, how it is tested and accepted, the price, and who owns the code. It works for a fixed-scope project or an agile one, with a statement of work, charges and optional data processing terms. A developer or agency uses one for each build client.
Made by DocuWeave. Use at your own discretion.
What changes each time
16 values. Everything else is your wording, kept exactly.
The parties
- Client's company name, number and registered office
- Developer's company name, number and registered office
- Client's project lead
- Developer's project lead
How the work is done
- Method
- Test environment
- Acceptance period
Price and payment
- Charges
- Invoicing
- Payment days
- Milestones
Ownership and liability
- When the code is assigned
- Liability cap
- Warranty period
Ending and data
- Convenience termination notice
- Personal data processing
The rules it usually needs
Written in plain English when the template is set up.
- One of several wordings
“Deliver a fixed scope for a fixed price, or work in agile sprints against a backlog.”
The method clause reads as the chosen option.
- One of several wordings
“Pay a fixed price by milestone, or pay for time at day rates, invoiced monthly in arrears.”
The payment clause reads as the chosen option.
- One of several wordings
“Assign the intellectual property to the client on payment, or give the client a licence.”
The intellectual property clause reads as the chosen option.
- Only when…
“Include an intellectual property indemnity only when the developer gives one”
The indemnity against third-party infringement claims appears.
- One of several wordings
“State that the developer will not process personal data, or that it acts as processor under Schedule 3.”
The personal data clause reads as the chosen option.
- One of several wordings
“Limit liability to the total charges, a percentage of charges in the last 12 months, or a fixed sum.”
The liability clause reads as the chosen option.
- Only when…
“Include an exception for the developer's indemnity only when the developer gives an IP indemnity”
The limit does not apply to it.
- Only when…
“Include the client's right to end a statement of work for convenience only when it is agreed”
The clause appears with the notice period.
- Only when…
“Include the data processing schedule only when the developer processes personal data”
Schedule 3 appears.
- Once for each item
“One row for each milestone and charge in Schedule 2.”
The charges schedule gets a row per milestone or rate.
Questions people ask
What is a software development agreement?
A contract under which a developer builds software for a client. It covers the work, testing, price, ownership and what happens if the project goes wrong.
Fixed price or agile?
The agreement supports both. Fixed scope suits a clear brief; agile suits work that will change as it goes, paid by time used.
Who owns the code?
The agreement says the developer assigns the intellectual property in the code made for the client once it has been paid. Some code, such as the developer's own tools, is kept separate.
How is the software tested and accepted?
The agreement sets out testing and an acceptance process so the client can approve the work or report problems.
What about personal data?
If the developer will handle personal data for the client, a data processing schedule sets out the terms.
Use this template
It opens in DocuWeave as a template you can check, change and publish. Nothing is used until you do.