There are no winners in Fixed Price

Where does this fixation for fixed price come from, why is it so prevalent in the tech industry and why is the concept of fixed price completely counter-intuitive and flat out wrong?

Why do clients ask for fixed price?

I believe the root causes of fixed price requests come from trust issues. Sadly, many potential clients have had bad experiences in the past on their own or an acquaintance's project. The bad experience is usually caused by an unscrupulous developer or by bad planning and mismanaged expectations. Either way, the client tries to protect themselves by forcing a fixed price on their next project.

It also comes from a lack of understanding of the complexities of custom project development. This comes back to the 90/10 rule I have mentioned before. Most non-technical clients see only 10 percent of the project. The underlying 90 percent of planning, back-end code, infrastructure, management and testing is alien to the client and generally not seen nor understood.

I have written about this previously in the context of debugging, but the same rule also creates a false expectation of price as they will typically perceive the cost of a project to be far lower than the estimate. This in itself would not usually be an issue as the development agency will simply provide them an estimate and explain the costing. The problem arises when development agencies do not factor in risk margins to their estimate.

Invoice, or total project cost vs Initial Estimate

On average, a vendor’s final total project cost for a custom project is 30-100% higher than the initial estimate. For less experienced vendors this will be in the higher end and for more experienced vendors typically in the lower end. The reason for difference is not that the vendor is trying to rip off a client, this is just how they understand the project at the beginning. But custom development projects ALWAYS change over time. Requirements may not be communicated effectively, technology or third party vendors might not work the way they are assumed, conformity or legal issue might require a different approach halfway through the project and there are many more reasons why a project changes scope.

We try to predict as much of these risks as possible beforehand by doing Solution Architecture. It helps bring our estimate-invoice difference down to 10-30% for most projects. There are always changes that simply can’t be predicted, not even by the most in-depth solution architecture and research. But not all development agencies have this approach, in-fact very few do except among the larger agencies, and this is where expectations of clients are not managed appropriately.

The vendor provides their initial estimate and does not provide clear education on matters of risk margining. Client assumes this will be the price, proceeds with the project and finds out towards the end they are actually paying 60% more than expected. They feel cheated and next project they demand fixed price so they are not taken by surprise as this is the only solution that they see to the problem.

Fixed Price is Wrong

Fixed price is the wrong solution for custom development projects because nobody benefits from it, expectations are not managed and corners are cut. A project will always change, so if a vendor is providing a project at fixed price they can do 3 things to reduce the cost to them when it does.

  1. They can add risk margins to their project estimate. Without doing a thorough solution architecture this will only be a guess however. So they either under-margin and it ends up costing them anyway, or they over-margin and client pays more than they needed to.
  2. If they still go over budget after adding margins or if they did not add any margins, then the vendor’s other option is to cut corners. And cutting corners is fairly easy to do, after all, the client doesn’t even see 90% of the project. Typically security and testing are the first to be reduced in this case.
  3. There are, of course, some cases where the vendor may choose to swallow the cost themselves and lose their profit margins. But how often can a vendor do this without falling apart? it’s bad for moral and it’s bad for business and as a client this is not in your interest if you are happy with their services.

It is important to note that we generally do not compete on price. And clients looking for the lowest possible cost will go elsewhere. But the clients that do stick with us appreciate the up-front transparency and find that their final project cost is within the amount we recommended them to budget for unless any major changes or pivots happened during development.