We all know that Agile methods provide great flexibility and allow us to manage priorities and constantly changing requirements. The caveat here is that these flexibilities and adaptabilities will eventually create problems when we package it in a fixed-price contract which demands clear acceptance criteria. These challenges have existed since the first adoption of Agile methods.
Today we will be reviewing available solutions. Let’s discuss: “How can an Agile project deliver value if it is tied by a contract?”
First, we need to understand what kind of constraints we have in Agile and traditional models. Agile projects attempt to fix time and cost and adjust scope down the road to achieve the best quality product within fixed constraints. What usually happens in traditional models is that the product functionality or scope is fixed, and there is always a risk that the project will run out of money or time or even worse, produce low-quality deliverables accommodating the fixed constraints.
What does not sit well with many people is the idea that the team might not deliver all the “wanted” product functionality. This is the main reason why we are fighting for the up-front estimates for the whole product and not the subset of the easy parts. Usually, all these estimates are packaged into a written contract so vendors or project managers can be held accountable.
In other words, traditionally, in order to achieve the complete functionality within the contracted cost and schedule we need to do:
- Perform time-consuming and costly analysis
- Carefully craft specifications
- Incorporate substantial contingencies for unforeseen changes, issues, setbacks
As a result, we might get inflated estimates used as a buffer for uncertainty which can potentially result in no added value to the business.
Agile empowers close cooperation between the project team and the customer. One of the key Agile values states “customer collaboration over contract negotiations”. This cooperation helps to deliver value-adding features, but it requires the customer to be more involved in providing feedback for each iteration and defining priorities against remaining working items. The secret formula for invested clients is that Agile contracts are great tools for extracting more value and give the client a competitive advantage. I have collected the three most interesting Agile contract types for your review.
Graduated Fixed-Price Contract
The main idea of this solution is using different hourly rates based on early, on-time, or late delivery.
- Use Case 1 – Rate $250/hour | Total Fee: $110 000: Supplier delivers on time, the standard rate is applied.
- Use Case 2 – Rate $300/hour | Total Fee: $100 000: Delivery happens early, a premium rate is paid, the customer is happy as the work is done early and, overall, they pay less. The supplier is happy as high margins are achieved.
- Use Case 3 – Rate $200/hour | Total Fee: $120 000: For late delivery, the supplier gets paid for more hours but at a lower rate. Both parties are somewhat unhappy since both make less money, but at a sustainable rate that most likely would not lead to contract termination.
Both parties share some risks and rewards associated with the schedule variance.
Fixed-Price Work Packages
Another approach is to establish fixed-price work packages to mitigate the risks of underestimating and/or overestimating. These are achieved by reducing the scope and cost involved. The smaller the package, the fewer errors are made. For example, the Statement of Work (SOW) breaks down the scope into individual work packages, with each package having an associated/own fixed price. As work progresses, the supplier is allowed to re-estimate the remaining work packages in the SOW based on new information and new risks. The customer benefits from the ability to reprioritize the remaining work based on evolving costs.
Money for Nothing and Change for Free
This contract allows for flexibility in making changes, it is structured as the standard fixed-price contract that includes time and materials for additional work and a special optional clause called “Change for Free”. The customer can use this clause only if they work with the team on every iteration. Failure to be engaged voids the clause and reverts the contract back to time and material. The idea behind this is that the customer is engaged and the product owner can reprioritize the backlog at the end of every iteration. Changes will be for “free” if the total amount of contracted work has not changed. This allows for new features added and low-priority items with the equivalent time removed.
Similar to the “Change for Free” clause, “Money for Nothing” requires ongoing customer engagement. This concept allows the client to terminate the contract early if they feel there is no longer sufficient ROI in the backlog. For example, the contract can be terminated at any time for 20% of the remaining contract value. How does this help the customer?
- The customer gets the best 80%.
- Projects are done early.
- The supplier gets free money 20%.
- Unnecessary features are avoided.
It is a win-win scenario where top-priority business value + early delivery is traded for 20% of the supplier risks that their team is left to idle before the anticipated contract time is up.
Although Agile contracts can be highly beneficial to both parties, we must remember that a contract between a party who is in business to maximize revenue and another party who wants to minimize a cost is always a balancing act. The project’s success is ultimately determined by the level of the ongoing collaboration between the customer and the seller. Agile contracts cannot generate or enforce collaboration, but at least provide a better structure to support it.
Want to talk with a technical expert? Schedule a tech call with our team to get the conversation started.