This software services agreement can be used where the supplier will be remunerated on the basis of the time spent by the supplier's personnel providing software development and/or support services.
In a traditional software development arrangement, the developer agrees to produce a software module or application to a defined specification, and the customer agrees to pay a defined price for that software. That model works well if the project scope is predictable and immutable - but that is rarely the case in modern software development. The development process is creative, and creativity is inherently unpredictable. No matter how carefully software is specified, changes to a specification will almost always be needed. Many projects therefore eschew the traditional software development agreement and opt for the flexibility of time-based charging.
This software services agreement, in its three different forms, can be used to regulate this sort of flexible software development (and support) arrangement. The core provisions of the agreement cover:
- contract term and termination
- services, with separate sections for development and support
- the assignment and licensing of intellectual property rights in deliverables
- customer assistance and rights
- charges, expenses, timesheets and payments
- confidentiality obligations
- warranties and disclaimers of liability
- subcontracting
- general boilerplate
The standard version of the software services agreement also includes:
- more detailed provisions regarding support
- key personnel obligations
- more detailed confidentiality clauses, along with special clauses on publicity
- a data processing clause, to be used where the supplier processes personal data on behalf of the customer
- indemnities, allowing for the allocation of particular risks / liabilities to one party or the other
- anti-poaching clauses relating to the parties' personnel
The premium version of the agreement is even more detailed, with additional clauses relating to:
- the commitment of time or other resources on a periodic basis
- contract management provisions, including representatives and meetings requirements
- detailed compliance clauses (covering anti-corruption, anti-slavery and anti-tax evasion laws) with associated audit provisions
- exit assistance requirements
- more detailed and flexible boilerplate clauses
NB Whilst this software services agreement can be used with respect to agile projects, it is not an "agile software development agreement" as such, because it does not attach specific legal rights and obligations to the elements of any agile methodology.