Fix it and Break it

Clients often ask for Fixed price software bids. The desire is understandable, everyone wants to know the answer to the question what's it going to cost me?

Often new Ruby On Rails software developers eagerly accept Fixed price work. It usually ends badly.

With fixed price contracts, one side always loses, sometimes both.

Either the project comes in early, and the customer paid too much. Or the project runs longer than expected and the developer works hours for free. Sometimes this mistake can put the the developer out of business. And eliminate product support for the client.


There are temptations to compromise the project on both sides (notice the word: sides). To make the project fit the alloted time, the developer is tempted (or pressured) to compromise on the elements of quality that do not show-up until after deployment, perhaps making the code less maintainable, less robust, or less secure. The developer will also argue that every adjustment to the application is out of scope on the original contract.

Since the price is already fixed, the client is tempted to slip into the application as many changes, features, or refinements that they can.

This push-pull relationship is heathy neither for the people nor for the product. The relationship becomes focused on the contract rather than on the delivering a useful product.

Agile and Lean software development is focused on delivering value. Contracts based on Fixed price are focused on minimizing cost.

The ultimate business question is actually, what will be the profit? If a compromised fixed price product does not meet the business need, the known fixed price turns into a known fixed loss.

Its better to establish long term relationships based on delivering value.
That requires trust and feedback, frequent reviews, constant communication and collaboration.

Contracts based on hourly or daily rates are more likely to encourage successful outcomes

The developer wants to do a good job to get a continuing stream of business, and the client gets to make additional changes to fit the product more and more closely to the business need.

-- Mark Windholtz

Read more at our BLOG.