I spent a little time yesterday putting together some resources for a friend dealing with the difficulties of fixed-price contracts, that I hadn’t pulled together before. So I’m posting my comments to him to prevent having to dig all this stuff back up at some later date:
Fixed fee is fine if you have a good working relationship. But unless your client trusts you absolutely, you can’t avoid the pushing paper problem. Without spending project development dollars on documentation, you will have no good way to to respond to a “why did we do it this way?” or a “what happened to feature X that I wanted” question.
With a high level of trust, it you might be able to answer “don’t you remember, we agreed X when we were in the conference room with Bob” and be done with it. But you’ll be in a lot better shape if you have a waterfall model spec and change orders, or a batch of use cases at various levels of completion sitting in your project backlog along with burndown reports showing what moved where through the project instead of having to rely on email, or worse, partially remembered conversations.
The key is avoiding a mismatch between the amount of paper pushing and the potential need for documentation and that is going to vary by client and by project. Which means you can go in assuming a high level of trust – to maximize value for the client dollar, only to get burned if the client isn’t happy. Or you can go in assuming a lot of CYA – which minimizes your risk, while also minimizing what you deliver. A bad set of compromises.
There is a lot of thinking about how to do this stuff in scrum land as the old rule of thumb was that fixed price bids and agile were like oil and water. Turns out that because of the high level of collaboration and continuous client involvement, some fixed-price-like models can actually work pretty well:
http://alistair.cockburn.us/Agile+contracts
http://agilesoftwaredevelopment.com/blog/peterstev/10-agile-contracts#MFN-cff
I’m very fond of the “money for nothing and change for free” model (look at page 28 here) :
http://www.slideshare.net/gerrykirk/money-for-nothing-agile-2008-presentation
and here:
http://coactivate.org/projects/agile-contracts/money-for-nothing-change-for-free
Gantthead had a couple good articles about agile contract types as well: (registration required)
http://www.gantthead.com/content/articles/261798.cfm