Fixed Price Vs Time and Materials

As a freelance software coder I often get asked to provide fixed priced quotes on projects. Unless the project is particularly small and well defined I will encourage the client to consider working on a time and materials basis. Why? I’m glad you asked ๐Ÿ™‚

Client motivation – A matter of trust

Clients ask for fixed price quotes to seek protection from cost blow-outs. The basis of these requests are a lack of trust in the software developer. It might be a lack of trust in the software developers estimation ability or their ability to communicate looming cost blow-outs or even their honesty.

This is understandable, sometimes it is hard to trust people that we don’t know. It’s a completely natural response, especially when money is involved. There are many unscrupulous operators out there and everyone has heard stories of software projects being delivered way over budget.

The problem, for clients of software developers, is that asking for a fixed price does not provide much protection against cost blow-outs.

The devil is in the detail

You see, fixed priced quotes are based on technical specifications (requirements and design documents) and good specs are hard to write. 20-40% of project budget hard to write! It is very difficult to remove every ambiguity and cover ever edge case in these documents. A design document that specifies every detail without ambiguity would have effectively implemented the software on paper which, in my opinion, is not the best use of resources.

Clients also come into projects with their own assumptions which are often different to that of the developer. This can result in requirements being left unwritten in the specifications.

So, the technical specs are almost always lacking.ย This is not to say that anyone is at fault, just that the reality of things means specs are rarely perfect.

Risky Business

So what do these ambiguities, assumptions and missing requirements mean to a software developer when asked to provide a fixed price quote? Risk, a whole boatload of risk. Risk that the amount of work required to satisfy the requirements is elastic depending on how you interpret the requirements. It also introduces risk for the client, the risk that they are not going to get what they think they are asking for within their budget.

The introduction of this risk changes the dynamic of the relationship. Instead of working as a team aiming for the same goal, the developer and client become adversaries. The developer wants to interpret things in the way that results in the least amount of work for the fixed amount of money of their quote. Meanwhile the client is fighting to make sure the software developer is delivering what they want.

This is not the basis of a good relationship.

Software Projects are Fluid

What would life be without change? Change happens in everything we do. Software projects are no different. At the start of a project things might be crystal clear, but as we move forward new ideas can crop up, old ideas can have their once solid foundations crumble. So where does that leave the fixed price quote? How do you work out which portion of the fixed price has already been expended? How do you incorporate additional work into the equation? More fixed price quotes? In my experience software projects can become mired in such scenarios with neither party walking away happy.

Building trust

So that’s why when starting with new clients I try to suggest that we work on a time and materials basis. I want to be part of a team working toward a goal together, trusted by my client to to do a good job.

If a new client is resistant to working on a hourly basis I recommend starting the relationship with a small, well defined, self contained project. The small size lessens the risk to both parties. It helps both me and my client to understand how we communicate and work together. It also helps to establish a level of trust to give confidence to the client that I am an honest operator that provides realistic initial estimates and my communication efforts will allow my clients to take action before potential cost blow-outs become serious issues to the project.

After the success of that initial project clients are usually more open working on a time and materials basis, which is a much better way to do things in my opinion.

2 thoughts on “Fixed Price Vs Time and Materials

  1. CT

    Hi James,

    So if the client is dead against time and materials how are you dealing with this? Do you have a strategy for doing an initial fixed price piece of work followed by a weaning process onto t&m?

    1. james Post author

      Good question CT. If a client is super resistant to working on a time and materials basis, even after a successful initial project, then I suggest finding another small self contained task that you can use as a test run for working t&m. In this way you can continue to build the relationship and trust.

      If that doesn’t work, one has to weigh up how much you want to work with someone. When I take on new clients my preference is to find clients that want to build long term relationships with. If a client doesn’t trust me to do the right thing by them then we’re not off to the best start.

      At this point I would be weighing up the following:
      1. Do we have a mutual respect for each other?
      2. Is the project itself interesting to work on?
      3. Will more interesting result from working with the client?
      4. Does the client communicate requirements well

      Basically I want clients / projects that I enjoy working with. If I am in a situation where the client for some reason could not work on a t&m basis, and I still want to work with them long term then I come up with an very conservative estimates for each piece of work and then add a significant “risk loading” (e.g. 30-50%) to the quote. The key is to spell out to the client this risk loading is required for fixed price quotes and wouldn’t be required on a t&m basis. During these projects you can still report to them the number of hours you have logged against the project, this allows them to do the math to see that t&m might not be so bad after all ๐Ÿ™‚

      If you continue to do this and you have a good working relationship with the client then sanity will usually prevail.

      I hope this answers you question CT. Thanks for reading!

Comments are closed.