A lot of people may think that it is inconsistent to impose cost and schedule constraints on an Agile project. It is difficult, but it definitely can be done – one of the areas where that becomes essential is Agile contracts.
An Example of Agile Contracts
- I once managed a large federal government project that had all the typical government contracting requirements for cost and schedule milestones; but,
- At the same time, the government customer wanted some level of flexibility to work out detailed requirements as the project progresses
The Relationship With the Customer
Does that sound inconsistent? It might be depending on the relationship you have with the customer. Obviously, this will only work if there is a spirit of trust and partnership with the customer.
- The customer needs to collaboratively work out any trade-offs between the scope of the requirements and the cost and schedule of the contract as it progresses
- If there is more of a typical “arms-length” contracting relationship or some kind of adversarial relationship, it’s not going to work at all
Doing this generally requires a hybrid Agile approach that blends an Agile development approach with a plan-driven “shell”.
- The plan-driven shell provides some level of predictability and control over the overall scope, cost, and schedule of the project while
- The Agile development approach operates within that shell to provide some level of flexibility and adaptivity in the detailed requirements
That approach is described in more detail in my article on the “Managed Agile Development Framework”.
Money for Nothing; Change for Free
Jeff Sutherland has created a very nice model for this called “Money for Nothing, Change for Free“. Jeff’s approach is based on two primary clauses in an Agile contract:
Change for Free
The “Change for Free” clause is based on the idea that the customer can make any change they want provided that the total contract work is not changed.
- This allows new features to be added provided that lower priority items are removed from the project.
- I have documented a case study in my book on how General Dynamics, UK successfully used this approach on a large government contract in the UK.
Money for Nothing
The “Money for Nothing” clause is interesting. It recognizes the fact that in many projects:
- The customer always asks for everything that they could possibly need, but
- If you prioritize those items and deliver the highest priority items first, at some point you will reach a point of diminishing returns where the cost of developing incremental features exceeds the value that those features provide.
- Allows the customer to cancel the contract at that point. The customer saves 80% of the cost that would have been spent to complete the remaining items; however,
- The contractor receives a fee of 20% of the cost for early cancellation
- That makes it a win/win for both the customer and the supplier.
What Kind of Agile Contracts Does This Apply To?
This concept is not limited to fixed-price contracts – that’s only the extreme case.
- It can be applied to almost any Agile project where there is a need for some level of predictability and control over the costs and schedule of the project
- Very few people get a “blank check” to do an Agile project without any expectations of what will be delivered and what the estimated cost and schedule of the project are likely to be
The following are some related articles on the topic of Agile Business Management: