How do you quote your projects?
This article is based on a recent communication with one of our prospects.
The customer provided us very high-level requirements, and we elaborated a very high-level quote based on the requirements: 4 - 5 man / months.
The customer then asked why there's such a big "difference" (meaning 1 man/month fork).
And I thought that this is actually a very deep and interesting question that I'm asking myself in many projects in the initial analysis phase.
Here's the problem.
Your customer doesn't know what he/she wants exactly, he can only provide a rough outline, BUT they want it within a fixed budget. Can you see the mismatch between the unknown expectations and the fixed price here?
And of course, the provider who implements the project doesn't want to do the unknown work (which usually grows down the road, as the customer begins to realize what he/she really wants) within the fixed budget and time.
And here's another problem.
Even if your customer provides a very detailed specification, you need quite a time to analyze it.
So, without the budget for such analysis the adequate quote can't be elaborated.
If the provider agrees to take this cost and perform this analysis for free, it may appear that the final quote is too much for the customer, and the provider simply loses a lot of time.
Let's step back and see what options we have overall. Basically there are 3 options.
Option 1:
- the customer elaborates full detailed specs
- the customer pays for the analysis of the specs
In this case everything is great - the provider does the analysis, elaborates the detailed quote and plan, then works for the fixed price.
Everyone is happy. And the client gets exactly what he/she specified, assuming that he/she works with a good reliable provider like Code Your Dream :-).
Option 2:
- the customer doesn't have full details
- the customer is OK to work on hourly basis
In this case it's great too - the provider simply spends some time on building the plan for the first iteration, implements it, receives the feedback and further requirements from the customer, plans the next iteration, and so on.
Option 2:
- the customer doesn't have full details
- the customer doesn't want to pay for the initial analysis
- the customer wants a fixed price quote
In this case the provider can only elaborate a "guesstimate", and work based on that. The provider implements the website according to our understanding of the specs, and to the extent of what fits the budget. It means that some features will be implemented in simple way, no bells and whistles. And if customer decides that they want feature X to function completely different - this will not be implemented within the agreed budget, but will be executed as a separate project.
And as the result, this option may yield customer dissatisfaction, especially in large projects with relatively large budgets. The customer pays big money and gets something they didn't really want. But how else can the provider work at fixed price, if the scope of the project is unknown?
So this option is the less preferred by all providers.
As any reliable website developers, we don't want to spend customers money on implementing things they not need. That's why options 1 and 2 are highly preferred.
But if we in option 3 conditions, here's how we approach it:
1. We elaborate our "guesstimate" - a very rough estimate with 20% - 50% accuracy.
2. If it sounds fine to the customer in terms of the budget and the timeframe we do one of the following:
a. Agree on the budget for the elaboration of the complete spec, detailed quote and the plan for the project. During this analysis we try to keep the final quote as close to the "guesstimate" as possible, but we don't guarantee that they are going to match.
b. Outline the first small milestone with 100% clear scope and fixed budget. For example, initial site setup with user registration. We implement it, the customer reviews and tests it, and we plan the next small fixed price feature. In the end, again, we'll try to keep the implementation efficient in terms of the effort spent and the results, but there's no guarantee that the final budget matches the guesstimate.
In any case good communication is the key to the success of the project.
What is your approach to project estimation? How would you deal with "option 3"?