When I propose a project to a client, I like to quote fixed-price. Whether it is for implementation services, or for software development.
There are exceptions of course. last week, I did some work that I billed by the hour. It was completely unsure how long I would need to complete the project. I promised the client to work with her for a day, and then we would see how far we got. Billing by the hour was the only way to go.
There are benefits to billing by the hour. There is no risk for me, since all hours are paid. And there is more flexibility for the client. From a sales point of view, It is also easier to ‘milk’ the client. Which is a tactic consultants use liberally. Luckily, I am not a consultant.
When a client asks me to do some work, it’s up to me to make an estimation. Rarely does a client have any idea how long a project will take. After doing the work I do for years, I at least had some practice estimating projects. Being the more experienced party, I feel responsible for making estimations, and setting predictions.
Apart from the soft touchy-feely moral reasons, I have a few practical reasons for quoting fixed-price. First of all, the client doesn’t care about hours, he wants his problem solved. And as long as the problem gets solved, the client is happy. This gives me the freedom to execute the task as I see fit. This is especially important when clients ask me to create enhancements to my software. This freedom, allows me to make additional product changes in the project’s slipstream, or implement the requirements in such a way that I can build on it later. This costs me more time, but the client doesn’t care.
When quoting fixed-price, I also set a fixed delivery date. This gives me complete freedom to work when I want, where I want. The client couldn’t care less if I work during the day or at night. From my office, my house, or a mountain cabin in Switzerland (yes, this happened).
Obviously, when the quote is fixed-price, the specifications should also be fixed. There are three pitfalls with fixed specifications. First it is hard to be strict, but you must. Whenever the client wants to change the specifications, tell him it is not possible, or will costs more. This is hard to do, but an absolute necessity. Doing this serves your benefit, the relationship, and thus the client herself.
The second pitfall is the client’s (professional) maturity. When quoting fixed-price the risk is with me. Which is fine if I have a reasonable control over all the variables. The client is a big variable that I have very little control over. So it is best to eliminate the client by not having to rely on him. If the client has to give input, then facilitate for this in the quote. By raising the amount, that is.
The final pitfall can be easily circumvented. I have rarely seen a fixed-price quote work out well for large projects. Quoting fixed-price only works for a maximum of four days work. If the project is larger, quoting fixed-price is akin to Russian roulette. The solution is simple: break up the project in smaller chunks.
I am very happy with fixed-price quotes (as are my clients). Luckily for me the conditions are right. I have been doing this work for a while. Compared to the client I am the expert. I am fairly good at estimating. And the projects are always small.