What to consider in signing an agreement with a software developer
No one likes legal agreements except lawyers. But they are a necessary evil of any professional business arrangement. Oral agreements are not worth anything. Here are the basics of putting together an agreement that all parties can agree on:
- Copy. You can put together an agreement without lawyers. Use common sense, find a similar agreement online and use it as a template for your own provisions.
- Work phase description. Both parties must agree on progress demonstrations and when phases are to be completed. You can leave this a bit fluid to account for disruptions or problems but breaking down the project into discrete phases that are clearly understood by both parties will benefit both parties.
- Specifications. The blueprint for the software that defines and determines the development process should be clear and complete. There are various ways to do this to include any or all of functional description, prototyping, demonstration and precisely detailed final specifications.
- Development Funds. Specify whether you are going to pay by hourly, salary or by fixed price. Each arrangement would seem to favor one party or the other, but the difference between what seems and what is will be found only in practice. In either case, agree beforehand. The one who plays from strength will get their way.
- No Fight for Rights. At least that's what you want. Parties who come into the agreement with a good idea of what the copyright will eventually be worth have a definite advantage, of course as long as their ideas are accurate. Overestimate and pay for it, or underestimate and let it go, and you could lose potentially more money than the contract coverage cost. Never forget the joint ownership option or creative alternatives. Note: some savvy developers are rightfully concerned about ownership of background coding. It should be theirs, but use your best judgment.
- Guarantees. Software developers have a right to be wary of warranting a product that does not yet exist. On the other hand, you are not going to purchase a product without some guarantee that you will get your moneys worth. The way around this is a typical warranty in software development: a performance warranty that guarantees the developer can and will create software that does what is intended.
- Procedure for Dispute Resolution. A binding arbitration provision is common in this type of contract. This will entail that both parties will abide by mediation of an arbitrator. This is often provided by a local office of the American Arbitration Association.