A software development agreement is essential to give each of the parties what they need and avoid disputes; but if a legal dispute should arise, a software development agreement illustrates what the parties’ terms to the agreement were.
A lawyer is not always needed to draft the agreement, but it is a very good idea to seek legal advice (and we recommend you at least have a free legal consultation with our office_ before entering into any formal contract.
Organize the agreement into steps or phases of work throughout the project. The agreement should specify the finished product of each step and the amount to be paid once that finished product is delivered. Require the client to sign off on each step upon its completion. Organizing the agreement into project steps will help in several ways, such as (a) Help the parties understand what is expected of the party doing the work, (b) Allow the parties to gauge the process of the work, (c) Enable the parties to resolve any disputes, (d) Give the parties a point at which to terminate the contract if needed, (e) Help to decrease the risk of an unsatisfactory final product, (f) Avoid false claims of nonperformance or unsatisfactory performance after the project is complete, and (g) Allow the parties’ to handle and accommodate the client’s changing needs.
Software specifications are like a blueprint, acting as an illustration of what will be created and as a guide to help determine the satisfaction of the end product. Including detailed software specifications in a software development program lessen the likelihood of misunderstandings, which can lead to litigation. Since the client knows in detail what to expect, he or she is less likely to be dissatisfied with the end result or withhold payment. It is important that the developer clearly communicate to the client what he or she is planning, but the developer should then prepare a specific technical specification.
Including the method of payment avoids any dispute over payment, later. There are two methods usually used in a software development agreement a time and materials agreement is favored by developers, because the client pays the developer for the time spent and the actual costs of creating the software. You should also have a fixed-price agreement involves the client paying the developer a fixed amount for the whole project. Typically, clients agree to pay more if the software development takes longer than expected. Without this understanding, the developer may deliver a rushed, unsatisfactory product or may end up quitting before completion. Clients favor this agreement, because it gives them the certainty of the cost and leverage to demand timeliness.
The debate over who will own the intellectual property rights to the software is often a deal breaker. As the creator of the software, the developer owns the copyright. If the developer is the client’s employee or the software is a smaller pare of a piece of work commission under a written agreement, then the client owns the copyright through his or her agency with the developer.
The developer and client can agree on any number of ownership possibilities. Some parties agree to give the client sole ownership, while others agree to give the developer ownership and the client only having license to use the software. There are several options in between these two issues, any of which can suffice according to what the parties agree.
“Background technology” refers to the various development tools, data, and materials developers use that may end up in the final product. If the copyright ownership of the software is given to the client, the client will probably end up owning the background technology that was used to develop that software. To avoid this from happening, developers must include a provision in the software development agreement that states that the developer retains all ownership rights of the background technology. In addition to this provision, the developer should grant the client the license to use the background technology.
Most software development agreements contain a warranty provision, promising that the developer and the end product will do what it is intended to do for a specific time, and that the developer will fix it if it doesn’t. Since software development agreements involve a lot of bargaining between the parties, warranty provisions vary:
Software performance warranties give a promise to the client that the software will work the way the developer promised, and the developer will fix it for free if it doesn’t. These usually specify a time frame of between 90 days to a year after software delivery.
Title warranties are a promise by the developer that the client will receive good title to the software.
Non-infringement warranties specify that the software does not infringe on anyone’s copyright, trade secrets, patents or any other intellectual property rights.
A provision in the agreement explaining how any disputes between the parties will be settled is an absolutely vital term. Settling issues out of court can save a lot of time, money, and often gives the parties a more desirable result than allowing a judge to decide. There are two methods of dispute resolution to choose from: (1) Arbitration involves a third party who decides the issue based on the merits of the case. Depending on what the arbitration agreement specifies, the third party’s decision may or may not be binding. Parties that agree to binding arbitration are waiving their right to allow a court to enforce the contract. (2) Mediation is more affordable and far less formal than arbitration. Unlike arbitration, the decision made during mediation is not binding. Mediation involves a third party who sits down with the parties and helps them try to settle their disputes by providing objective views of the issues or guiding them through talking about tough issues.
Free Consultation with a Utah Business Lawyer
If you are here, you probably have a business law issue you need help with, call Ascent Law for your free business law consultation (801) 676-5506. We want to help you.
8833 S. Redwood Road, Suite C
West Jordan, Utah
84088 United States
Telephone: (801) 676-5506