It’s a fact of life: every commercial software developer and provider will, at some point in its lifetime, find itself contracting with another organization to provide services, custom software development being the most common.
Every organization must address various issues when deciding whether or not to contract for these services. This document is intended to guide organizations in such a situation by explaining the problems they should consider and helping them approach the contracting process with an awareness of their rights and responsibilities.
Organizations engaging a developer for custom software development may contract directly with the developer or through another intermediary (such as a contractor or agent).
Organizations contracting directly with the developer may be in a different geographic location than the developer and thus require some means for communication and coordination. This document focuses on situations where the organization is contracting through an intermediary.
Suppose you are considering contracting to have custom software development performed. In that case, work intimately with your chosen intermediary ( “agent”) to ensure your interests are represented and you understand all of the issues that need to be addressed.
Your intermediary is likely to ask you some questions to help ensure they can serve as an effective agent, such as:
- How many developers will be involved?
- What programming languages do they use?
- What payment terms and conditions are you thinking about using?
- What tools or materials do you wish to require the developer to use?
You should answer these questions honestly and entirely from your organization’s perspective. The more information you have, the better your intermediary will serve as an effective agent in protecting your interests.
The developer or intermediary will probably suggest various terms that should be included in the contract with the developer.
These may consist of billing rates, payment schedules, milestones, exclusivity provisions, indemnification requirements, and restrictions on publication materials produced during the work.
In some cases, your intermediary may propose a generic contract for you to approve without changes. In others, they will suggest language that should be included in the developer’s contract with you.
The following discussion covers major areas typically addressed in a custom software development agreement.
If your intermediary proposes a billing rate for the developer, look closely at it and make sure you understand how it was calculated.
Ask your intermediary to explain any figures that are not clear to you. If you believe there is a calculation error, ask them to correct it before contract negotiations. Never arbitrarily accept a developer’s billing rate without questioning it and understanding how it was calculated.
Billing rates are typically based on the number of hours spent working on the projector, less frequently, on an estimate of total person-hours required to complete the project. Developers’ hourly billing rates may be expressed as a fixed amount per hour or as a percentage of some other fee(s).
If the rate is defined as a percentage of fees charged by other parties, you need to understand how those fees are established.
You should explain the billing rates and other terms of your contract with a developer after understanding how they were calculated.
If necessary, ask for assistance, and do not hesitate to contact the developer if you have questions or need clarification on some point. A cooperative approach will make it easier for you and your intermediary to agree with the developer.