When a project is well defined, Blue Bridge provides a fixed quote. This is very uncommon for developers working in the web development market. To date, I haven't came across anybody else that provides fixed quotes. I think some people think Blue Bridge provides a fixed quote in order to attach a larger profit margin to projects, however this is not the case. In the five years that we've been utilizing this rate structure, completing hundreds of projects, the hourly cost of our services has been under the quote less than five times. The reason we provide fixed quotes is because it's a useful constraint that forces us and our clients to make mutually benefiting decisions. In woodworking there's the concept of a jig: a tool that helps guide or constrain other tools. Fixed quotes are a jig we use for the projects we execute.
Most of the arguments I've seen for hourly talk about how it benefits the client by giving them the freedom to choose. At any point they can choose to add an additional function, feature, or change to the project. One of the consequences of this type thinking is an escalating cost to the client and sprawling unfinished projects.
A fixed quote requires a fixed scope; clients need to know in advance exactly what they want. I often encourage potential clients to think about their projects as a first iteration and to only request features they know they need for the near future. By requiring the client to think carefully about their needs, their project does not turn into an expensive mess. They get what they need and they know in advance what it will cost them. Not only does it make it easier for them to plan for their budgets, but the cost constrains them to a lean solution— no fat.
There are also a few benefits the developer. Though it's extremely challenging to price development accurately, by committing to a specific price it forces the developer to think carefully about what a project requires. With the price hanging over developers head, there is a pressure to find effective but elegant solutions. Without the price, the tendency is to just start building something because any time you spend at the keyboard you'll be compensated for. This is a very poor way to develop and leads developers to waste a lot of time and write more code than is needed. A bloated code base is a chore to work on and the breeding ground for bugs. The fixed quote holds the developer accountable for their choices and keeps the created code base lean, just like the solution design.
37 signals, a well-known web application company that I've mentioned in this blog before, wrote a book on application development called Getting Real. One of the recommendations they made in the book was to embrace constraints. A jig for woodworkers or a fixed quote for web developers is a constraint that helps form a project into an ideal shape. By sacrificing mobility something of greater value and function is created.