The Anatomy of a Software Development Agreement

Companies small and large often employ the help of software development firms to help build their products. Some eventually hand-off to an in-house team, and others keep the firms to act as their engineering team. Regardless of the arrangement, there should be a clear agreement in place between the hiring company and the app development firm outlining specifics.

This post will give you a high level overview of what should be in a software development agreement.

  1. Definitions – this section should outline what each ambiguous term may mean – such as “work product”, “third-party materials”, “milestones”, “documentation”, and “hand-off”.
  2. Engagement of Developer – clearly outlining what your developer is being hired for, and reference to the scope of work what needs to be done.
  3. Project Management – who will be your point of contact at the development firm and what are their roles as project manager. Outline how you want to be kept on notice on progress, including use of third party tools.
  4. Developer Obligations – clearly outline the services and deliverables, confidentiality and proprietary rights that outline what is to be kept confidential and who owns rights, use of subcontractors, third party materials, open source components, and when you want delivery of your product.
  5. Independent Contractor – you want to clearly lay out that the relationship between your company and the developer is that of an independent contractor. Check out this blog post as to why it’s important to make this clear distinction.
  6. Delivery, Testing, and Acceptance – an important section that outlines how you want delivery of your product, retaining rights to test the product to ensure it is to your liking, and what specifically signifies acceptance of the product and completion of your engagement with your developer.
  7. Customer Obligations – outlining what your obligations are, such as providing materials, participating in meetings, and responding in timely a timely manner so that your developer can complete the job.
  8. Compensation – how much are you paying the developer, what would constitute a change in the price, how will you be invoiced, and how will you pay. There should also be a section here speaking about tax allocation, and the right to audit the invoices if necessary.
  9. Intellectual Property Rights – one of the most important sections – here you make sure that whatever the developer is making for you is your intellectual property in whole, with the developer holding no rights unless otherwise negotiated.
  10. Licenses – if there are any licenses being used, such as use of third party applications, pre-existing materials, etc. – this section outlines how those licenses will be treated.
  11. Term and Termination – how long will this agreement be in place, and what needs to be done in order to terminate the agreement and engagement.
  12. Hand-Off Arrangements – outline how the developer will hand-off the project to your Chief Technology Officer, or in-house engineering team once they are done with their engagement.
  13. Surviving Terms – if the agreement is terminated, what terms would survive – you want to make sure the confidentiality is maintained, and the intellectual property is still being assigned to you in full.
  14. Warranties – language around the promises the developer making to you in terms of the work product being delivered, as well as general representations around their ability to enter into the agreement, and use appropriately skilled individuals to provide you with their services. 
  15. Indemnification – clearly identify what each party is indemnifying the other for, including but not limited to third party claims of intellectual property infringement.
  16. Limitation of Liability – language to ensure that there there are guidelines around the amount each party can claim in an adverse action.
  17. Confidentiality – you’ll be sharing confidential information with the developer about your business and how you do it – you want to make sure this remains confidential so the developer doesn’t share it with another company they are working with.
  18. Statement of Work – this is where you, in detail, outline what is expected of the developer, what milestones they are to hit, what you expect in the final product, and any other minute details of the project and engagement.
  19. Boilerplate Provisions – these are the provisions that should be in every contract – such as disclaimer of warranties, assignment, governing law, indemnification, infringement remedy, force majeure, notices, etc.

Let us Help.

This is a high level overview of what should be in an application development agreement. There are many other nuances, and these agreements should be drafted and negotiated with the help of an experienced attorney.

Kader Law can help you understand what you need to do, guide you through software development contracts with our Outside Counsel offering. If you’re interested in connecting, feel free to contact us.

This post is not legal advice, and does not establish any attorney client privilege between Law Office of K.S. Kader, PLLC and you, the reader.