Why do we have fixed price contracts?
“We need to know what we get” – would be the most obvious answer.
“We want to pick the manufacturer with the best price. They won’t quote us without a fixed set of requirements” – also a likely answer.
Do you always take the same amount of steps on a jogging round?
Do you always pick the shoes with lowest price?
Even so we persistently request and call out for fixed priced contracts.
“But we have to have some estimate of where it is going to end”. Well. Now we are getting somewhere.
Planning is everything, plan is nothing
When outlining a fixed priced contract, we look into our needs in detail. We look at what is important and think about non functional demands, such as reliability, load, security and maintainability. At the same time we also set out a target goal for the business case, so we make sure we make money on it. This is all good.
Trap #1: Does a need discovered written down ever get removed?
Trap #2: Do we prioritize our demands against each other?
Trap #3: Is that prioritization made on business grounds?
There can be all sorts of explanations why a requirement exits. IT department might want to play with a new technology. A security manager is sure that security comes first. Et cetera.
Point is: the requirement review is a constant action if we want to reflect reality. Not a one time deal during a six month period.
Litmus test: Have you ever removed a requirement once written down?
Myth: Fixed priced contracts gives the lowest cost
- A skilled supplier typically would include a risk premium (cost of risk) in a fixed contract. Think of it in the same way as the risk premium you get in fixed rate interest
- If suppliers overbid, you suddenly risk needing to save them from financial trouble. And this half way through your project with no way out
- A supplier only focusing on cost is least likely to have the skilled staff you would like leverage from. More likely they are junior and learning at your expense
Overall, a fixed priced contract will not give you the lowest cost because the biggest part of risk is put on the supplier.
So what is it we want to achieve, really?
- We want to maximize our business options at any given time
- We want to keep a low risk level (work in progress) at any given time. Why? Because invested unfinished work we risk loose in favor of adopting to outside changes.
How do we deal with it?
Here is the key: you need to put together a cross functional team that can take ideas to runnable software at the end of every sprint.
- Without this we short circuit the customer feedback loop preventing him to learn what he really needs
- If we cannot deliver runnable software, we cannot build trust needed to outweight the importance of the contract
If your customer at any point of time prefers thew existing software in favor for the written contract, you know you are on the right track.