> A fixed-price deal sets up the wrong incentive structure. It’s in the client’s interest to agree the lowest price possible, and then to squeeze the consultant for every drop of juice they can get. So that sucks.
>
> On the other hand, it’s in the consultant’s interest to do the quickest and cheapest work necessary to get the client to sign off on the job. After that, they have zero incentive to fix any problems that arise. It’s just bad news all round.
I don't agree with this at all. If you give a fixed price contract that includes bug fixes for a period, then your incentives are well aligned.
- You want to release robust code (to avoid warranty bug fixes), and your client wants that too.
- You want to finish quickly to get final payment sooner, and your client wants it finished quickly too.
- You set the price to what it needs to be and you'd be happy with, and if it's too rich for the client, you just don't take the job (does require you to be in a situation where you can reject underpriced projects, and requires you to be good at quoting).
- Client shouldn't care if you took half the hours you estimated, and they don't need to know. You both agreed to a price that works for you both, so ideally both sides have had a winning experience.
I have had experience with a client that tried to squeeze every drop of juice, and that sucked. They had no choice though because their budget was completely unmovable (came from grants). My thinking is that it's probably best to prune such clients when you can, and stick with those whose expectations align well with your way of working. Not every client tries to squeeze every last feature out of you.
Hourly is easy for the seller, but it's a sucky experience for the client. It builds distrust, and unlike fixed price, I think it's actually hourly pricing that misaligns incentives. I also don't like the social aspect. E.g., where people question how you're spending your hours, or you have a chat about the weekend don't know whether to make it clear that you're not billing for that time, etc.