Agile Zone is brought to you in partnership with:

David has enjoyed success using agile and lean techniques at several companies near Washington DC and San Francisco. He joined his first startup in 1999, and helped scale it to a 13 million dollar acquisition in 2006. He now brings entrepreneurial thinking into large organizations so that disruptive innovation can emerge. David is a DZone MVB and is not an employee of DZone and has posted 30 posts at DZone. You can read more from them at their website. View Full User Profile

Scrum and Fixed Price Contracts

12.24.2012
| 3681 views |
  • submit to reddit
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.

This difference is paradigm is best explained by one of my favorite jokes from many years ago …

Q: How many surrealists does it take to change a lightbulb?
A: Giraffe!

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 [2]. 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 [1] 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” [3] 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.

References

[1] http://en.wikipedia.org/wiki/Death_march_(project_management)
[2] 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.
[3] “Money for nothing and Change for Free” by Jeff Sutherland.

Published at DZone with permission of David Bland, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)