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 good idea to seek legal advice before entering into any formal contract.This article gives some important elements that should be included in software development agreements.
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
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:
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 Ownership
"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.
Noninfringement 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:
Whenever negotiating a software development agreement, it is a smart idea to have a skilled attorney review the details before you sign on the dotted line. A business and commercial law attorney familiar with software licensing issues will be able to spot any red flags in the deal and help you negotiate the best terms for you.