A contract is a legally binding agreement between two or more parties that outlines the terms and conditions of a particular transaction or relationship. Working with external suppliers to develop a product to set expectations is essential.
The Agile Manifesto contains a warning about contracts:
“Customer collaboration over contract negotiation”
- The Agile Manifesto For Agile Software Development
When developing products, contracts can limit change in a way that reduces the product’s value. Three primary contract types can be used to work with a supplier to develop a product:
Fixed Price Contract
A fixed price contract is where the price is agreed upon in advance and does not change, regardless of the cost of delivering the product. The fixed price may be based on a specific set of deliverables, a predefined scope of work, or other criteria agreed upon by those involved.
In a fixed-price contract, the producer delivers the product for the agreed-upon price. The producer takes on the risk of any cost overruns or delays, and the customer takes on the risk of any changes in scope or requirements that may impact the cost.
Fixed price contracts are often used successfully when the scope and requirements are well-defined and the risks associated with delivering the project are relatively low. These conditions are not present when doing complex product development. As a result, fixed-price contracts are often problematic when used in this domain. They limit the possibility of requirement changes, which will be inevitable. The result will be a lower-value product.
The producer is also incentivised to develop the product at the lowest possible cost to maximise profits. This can lead to disagreement and conflict around the scope and requirements, leading to waste and reduced value.
Although still widely used, standard fixed-price contracts reduce Agility and make producing a valuable product harder. Change is inevitable in complex environments, and these contracts limit change by design.
Time and Materials Contract
The most 'Agile friendly' contract type is the time and materials agreement. The supplier is paid for the time spent creating the product and the materials used. This can include expenses such as equipment, software licences, and other supplies. This contract model allows for greater flexibility in product development, as the Scrum Team can adapt to changing requirements and priorities as they arise.
The supplier should want to ensure that it efficiently uses its time and materials to keep the overall costs of the contract low to please the customer and maintain a long-term relationship.
The challenge with this contract type is that the risk remains with the producer. If things take longer than planned, they bear the cost. There is also the fear that the producer will work slowly to maximise costs for their benefit.
Most large organisations are risk-averse and do not like to retain this risk. Instead, they opt for a fixed-price contract and sacrifice value to mitigate the risk of rising costs.
Variations on this contract type exist. The total price cap. This is where the total cost is capped to encourage efficiency and protect the customer from excessive cost overruns.
An incremental delivery contract allows predetermined review points to be written into the contract so that the work can be broken up into several distinct mini-deliveries. At each review point, the customer and producer can evaluate performance and decide whether they wish to modify the arrangement, continue as planned, or terminate. Scrum supports this model with the need to deliver Increments of the product at least each month. This limits risk to some degree.
Shared Risk Contract
A Shared Risk Contract is where both producer and customer share the risks of developing a product. This type of contract aims to align the interests of both parties and encourage collaboration towards creating a product of the highest possible value.
In a Shared Risk Contract, the provider and the customer agree to share the costs and benefits of developing the product. For example, the producer may receive a bonus if the work is completed on time and within budget. On the other hand, if the project is delayed or exceeds budget, the producer may be required to pay a penalty.
Shared Risk Contracts are helpful in complex product development where the outcome is uncertain. Sharing the risks and rewards motivates both parties to work together to achieve the best possible result.
One further potential benefit is that it can encourage innovation and creativity. Because both parties share the risks and rewards, there is an incentive to find new and more efficient ways of completing the work. They can also help to build trust and foster a long-term relationship between the producer and the customer, as both parties are incentivised and working towards a common goal.
A challenge with them is they may be harder to create and agree to, which may limit the ability to use them.
TheScrumMaster.co.uk’s Ultimate Scrum & Agile eLearning Courses will help you learn Scrum & Agile and pass the major Scrum & Agile assessments to gain certification.
Our introductory Ultimate Scrum eLearning Course is free!
See our full range of Ultimate Scrum & Agile eLearning courses.