Well-designed business agreement is crucial to the success of outsourcing your software development. The contract must reflect what was agreed on during the negotiations, specify the scope of the project and focus on business outcomes that both sides want to achieve. At the end of the day, you will reap what you sow.
What is more, the purpose of the contract is to facilitate establishing proper mechanisms for both parties in close cooperation, and to protect the sides from possible undesirable actions towards each other. Forewarned is forearmed.
There are some golden tips to follow when selecting a contract type that suits your needs best:
- discuss all the conditions of the project before launching it,
- be clear on pricing and payment terms,
- make sure all the details are in writing,
- choose a contract that will be a good fit to your chosen work methodology.
We have prepared a summary of the 3 most popular types of outsourcing contracts. Take a look!
Time & Materials contract
This is a kind of contract where the customer pays the supplier for work time (according to prearranged hourly rate of each team member) and used materials (e.g. using the software license). The executor’s hourly rate considers all costs and profit, calculated by the supplier.
Time and materials (T&M) contract are usually used in short-lasting projects, where the scope of the cooperation is hard to define at its early stage. It requires both sides to trust each other – customers know what they pay for and in their opinion the amount is fair enough.
In this contract model, the customer is fully exposed to the risk, while the supplier cares just for the people to co-operate properly with the client and for the solution with desirable quality to be brought on time. On the one hand, it allows a great level of flexibility in development and is really Agile-orientated. On the other hand, there is a small degree of control over meeting time and budget estimations.
Fixed price contract
In this type of contract, the customer and the supplier agree on a steady ‘fixed price’ for the service (i.e. for delivering the solution). The price is estimated by a supplier based on well described scope of work to be done. The constant price means the constant scope and the deadline for the project.
It is usually used when it is possible to exhaustively enumerate the desired features. This type cooperation requires practically no supervision from the customer, as the risk of not delivering is almost entirely on the supplier. However, there is very little flexibility under this contract and a greater degree of work is necessary before embarking on the project and increases the risk of the lack of communication during the project. If the costs are more than the agreed-upon amount, the service provider bears additional costs! Therefore, the customer has the least cost risk in this type of contract (assuming that the scope is well defined).
This kind of contract can also work very well in case of hybrid contracts like ‘fixed price per iteration’ when customer pays for each milestone separately.
Target cost contract
This contract is a type of cost reimbursable contract. This type of contract is used when the exact scope of work is uncertain and, therefore, costs cannot be estimated accurately enough to apply fixed price type of contract. In this situation buyer pays the service provider allowable incurred costs to the extent prescribed in the contract. A cost reimbursable contract requires the service provider to have an accounting system that can track project costs. The client has the most cost risk because the total costs are unknown. Research and development or IT projects in which the scope is unknown are typical examples of cost reimbursable contracts.
Although it is usually a choice between the typical ‘Time & Materials’, or ‘Fixed Price’ kinds of contracts, software related services do not have to be limited to just these two options. Modern companies offer many indirect forms and innovative approaches to contracts to make the service tailored to the needs and expectations of a customer. It is worth considering contracts that are based on more partnership-like relations – especially if you’re looking for a long-term software partner who will handle the delicate software part of your business.