This article is part of my online newsletter called the Scrum Addendum. If you enjoyed this article you should signup for the complete series.
Fixed Priced contracts don’t make a great deal of sense in a Scrum world. This is really because traditional software development and Agile software development are two different paradigms … and solutions that work in one paradigm often doesn’t make sense in another.
Q: How many surrealists does it take to change a lightbulb?
In an environment where clients are only given one shot at getting the product they want, it makes sense to define your requirements upfront, and to then manage any risk by putting a dollar limit on the cost.
Agile teams are collaborative. And, they work the Product Backlog in the order specified by the Product Owner. If it makes sense to deliver high value functionality earlier they will do that. And, a good team will continue to incrementally deliver high value functionality on an ongoing basis.
The risk profile to the client is now substantially different because they’re getting regular increments of what they want in the order that they’ve specified. So, it’s reasonable to argue that a new type of contract would be more sensible for the new paradigm. And indeed there are different types of contract that work better than others [in an Agile environment].
I’ll write more about agile contracts in the final part of this series and I’ll present a number of contracts that are more suitable for software than fixed priced contracts. For this post, I’d like to discuss our options if there were no alternative to a fixed price contact.
How to do Agile with fixed price contacts?
Beware fixed-price, fixed-scope contracts . These are the most difficult to navigate simply because if we fix both the price and scope then the only remaining variable is software quality. Scrum teams fix quality by having a robust (and invariant) Definition of Done. By fixing all three constraints; price, scope and quality we have a recipe for a death march  project.
An alternative to fixed-price, fixed-scope is to have a fixed-price, variable-scope contract. This works better because we can now fix product quality … but customers must now deal with variable scope.
This is not something they need be frighted of, rather it is a tremendous advantage to the customer. It does require changes in behavior; customers need to understand how to deliver value from prioritizing the backlog and, how to release early to drive revenue. Both of these ideas require quite different concepts of software and value, and hence neither of these changes are easy.
Variable-price, fixed-scope projects also work very well with Agile projects. These often go by the name of Time and Materials, with a fixed Scope. In a presentation at Agile 2008, Jeff Sutherland presented a paper called “Money for nothing and Change for Free”  in which he present two different strategies for fixed-price contracts which he called “Money for Nothing” and “Change for free”. Although there are some subtle differences, the strategies outlined by Jeff are either fixed-price, variable-scope or variable-price, fixed-scope.
A Better solution
Fixed priced contracts are part of the culture of software in many companies. It’s simply the way in which things are done. Part of the problem is that we have educated customers to expect fixed-price, fixed-scope by our past behavior. They have asked for fixed-price, fixed-scope and we have delivered exactly that [often at the expense of software quality]. The next time our customer want’s a product at a fixed cost they know who they can turn to.
To change the culture of fixed-price, fixed-scope contracts we need to change the culture of our industry; we need to push back and say that we value high quality products, and as a consequence we need to redefine our software contracts.
There is a risk in this approach. Our customers may decide to walk away and offer the work to a competitor. This is a question we need to discuss, and decide if producing a high quality product is worth that risk. I think it is.
In the last part of this series on fixed priced contracts, I’ll present a variety of contracts which are often used with Agile projects.
Edit: Reader Robert McIntosh wrote an interesting reply to this post which I’ve included below with permission:
The issue with fixed-price, fixed-scope contracts is far bigger than Scrum. Fixed-price, fixed-scope contracts are just plain dishonest because everyone knows (but won’t admit) that all aspects suffer. Quality comes last, as you point out, but we all know that on anything but the most trivial projects we go almost immediately into a scope change process where both the price and the scope change.
The underlying problem with fixed-price, fixed-scope contracts is trust. Customers don’t trust their supplier (whether in-house or external). They immaturely attempt to manage their lack of trust by fixed-price, fixed-scope contracts, but what happens is that they fail to varying degrees, which only reinforces their lack of trust.
Scrum does present a welcome alternative paradigm on which trust between Product Owner and Team is essential. The struggle is for organisations is to accept Scrum without putting on an overlay of mistrust via traditional project management and project offices.
 [Wikipedia's entry on Death March Projects](http://en.wikipedia.org/wiki/Death_march_(project_management)
 In this article fellow Scrum Trainer, Jurgen, argues that fixed-price contracts are not only possible, but desirable. I feel that Jurgen has totally missed the point here. Sure, we can continue to do business the way that we always have done. I feel, however, if there is an opportunity to improve then we would be foolish not to take that opportunity.
 “Money for nothing and Change for Free” by Jeff Sutherland.