What is a Software Development Agreement?

Software development agreement are contracts designed to deal with the development, licensing and (sometimes) maintenance of software.  Individual agreements will vary widely, depending on the type of software, the customer’s business, and the use to which the software is put.

Software development agreements can be drafted to provide the traditional waterfall model of software development, or implement a more flexible agile software development approach, or utilise the key components of each to produce an effective combination of the two.  One of the most common software development agreements are website developer agreements, which we have more information about here.

You will need a software development agreement where a developer is creating a piece of software specifically for your business.  If the software is generic and “off-the-shelf”, it will normally be sufficient to enter into a licence agreement.

What are the key areas of a Software Development Agreement?

Software development agreements can be complex.  Therefore, it is important that you look out for these key points below when negotiating a software development agreement.

  • Milestones

For a customer there is nothing worse than paying a developer to create customer software and then not receive any updates until the product is delivered.  This can often result in a dissatisfied customer and lead to disputes between the parties.

Implementing milestones provides the client the opportunity for the software to be tested at a number of different stages, and also fundamentally allows the parties to communicate any changing needs that they may identify during the development process.

  • Acceptance Testing

Testing new software is fundamental to the work of a developer and forms part of modern development techniques.  The customer will want to ensure that any tests meet certain specifications before proceeding to the next phase of development.

It is also important to make clear what the customer or the supplier deem as a formal acceptance of the software, and what each party is required to do, or can do, in the event that the acceptance test fails.

  • Intellectual Property

Intellectual property ownership determines who owns copyright in the software source code and any other materials provided to the customer.  This means the developer either grants a license to the customer, or assigns the intellectual property rights over to the customer.  Therefore, the software development agreement must clearly stipulate the intellectual property rights and licensing.

We are significantly experienced in drafting and negotiating software development agreements for those developing and receiving software.  If you would like any assistance please do not hesitate to contact us.