Chapter 1: Contracts that Define Client Relationships
Part 1: Examples of Client Contracts
D: Software Development Agreement
If you're a software or mobile app developer, this contract can ensure you get paid for the services you provide and help prevent disputes. Key elements include:
- Work Phases. A breakdown of the project into stages or milestones. Typically, the developer must deliver parts of the product by certain dates in order to get paid a specified amount. The client usually signs off on each phase of the project to prevent later claims of underperformance.
- Software Specifications. Essentially, the blueprint of your project. It outlines what the software will do and what your client can expect from the final product. This is the heart of the contract, so take your time to include details, which can clear up misunderstandings, limit client dissatisfaction, and deter litigation. Be sure to write this in language your client can understand.
- Payment Arrangements. Rates and preferred payment methods. You may also want to include how you will be paid if the project is cancelled early.
- Transfer of Copyright Ownership. Confusion over whether you or your client own the intellectual property rights to the software is the quickest way to get into a legal tangle, so sort it out in writing. There are plenty of ownership options. If your client wants to own the copyright, you, the developer, have to transfer that ownership to them.
- Ownership of Background Technology. New software is likely built with the help of other programs, data, and tools that may end up in the new product. That means you have to be careful when signing over ownership rights. You likely want to have a provision that maintains your ownership of background technology that went into the finished product. However, be sure to give the client a nonexclusive license to use that background technology.
- Warranty Provisions. The place to guarantee your work. Give a timeline for when you will make repairs or replace the product free of charge if it doesn't operate as specified. Consider including a non-infringement warranty, too, which states that the software will not infringe on anyone's copyrights or other intellectual property rights.
- Dispute Resolution. Details on how to resolve any conflicts. It may include an arbitration clause or mediation clause. Arbitration allows an unaffiliated person to make a decision about the issue. If your contract includes a binding arbitration provision, you can't go to court to enforce the contract (but neither can your client). Mediation is cheaper than arbitration and is never binding. The mediator helps you and the client sort through the dispute and provides an objective point of view when needed.
For a template of a software development agreement, check out the sample provided by PandaDoc.com.
Next: Part 2: How to Create Client Contracts on a Budget