A simple question really.
When people approach you for a price, do you provide a quote or estimate?
The reason I ask is over the years we've had a few projects that have gone way over budget and have been far more involved that I initially thought. A recent project has gone over 20 hours over budget and we're at a point where we're going to be running the project at a loss.
Why did we go over budget?
- I didn't anticipate that the client was a perfectionist, and performed endless numbers of tests ensuring every single aspect of the project was working as expected.
- I didn't plan enough testing time. Testing every part of the system was very time consuming.
- Changes to the original scope, which were billed additionally, but in implementing these it caused problems with other parts of the project which were working before the addition of the new functionality.
Our problem is the end client is a client of our client. Our client has provided a quote to their client, but we originally provided an estimate to our client. Now I feel obliged to fix all bugs as they're found by the client, and in the process going more and more over budget and losing more money because I can't spend the time on other paid work.
Your basic problem is that you quoted a fixed price for a project where you did not know in advance how much work was involved.
You say you didn't know the client was a perfectionist. You've got to assume that all clients are perfectionists - and rightly so. Look at it from the client's point of view. They want the best possible result from the project. You've quoted a price, and they've accepted that on the basis that you will deliver the best possible result. It's not the client's fault that you didn't take all their needs into account.
What you should do next time in a case like this is to quote an hourly rate. Give an estimate of how many hours you will need, based on a well-defined written specification of the work. Make it clear that the estimate is based on that specification. The final cost could increase if the requirements change. Obviously, the client will want safeguards to ensure you don't run away with the budget. It's up to you to provide them.
If the client absolutely won't accept anything other than a fixed price, you should either walk away, or take the risk of doing the work at a loss - possibly a huge one.
Most businesses do an estimate first, then do discovery to figure out all potential issues, then issue a quote with caveats: three rounds of revisions, one security revision, etc. As far as quoting additional items and then not realizing they'd conflict with past code well... that's a risk of doing business, not an issue of the quoting/estimation process.
I think every potential client requires a service quotation before going through. It is relevant you provide them detailed estimation so that it is clear to them what are included in the service.
You can always give a fixed quote which contains specified parameters. Of the three things that you listed that caused the overage, underestimating the time needed for testing is one which the client might rightfully feel is on you. The main reason that a client wants a fixed quote is because the person performing the circumstances should know what the normal range of time for the service is and bill accordingly. If you set the number right, sometimes things will go a little faster than expected and sometimes they will go a little slower, but on average you should be within an acceptable range.
The third item sounds like the client should have been responsible for the consequences of the changes, as well as for the changes themselves. That situation is not uncommon. A minor change can often cause a ripple effect - if a builder moves a door at a client's request after already laying the flooring, the cost should include not only cutting the new doorway and filling in the old, but also the cost of reworking any flooring.
The first issue should also be the client's unless being a perfectionist means not letting errors slide by that you consider minor. If you made changes and he just wanted something different, then you can solve that by saying that you will include x set of changes. Anything over that allowed number is extra. I recently had a logo done by a designer and that was his arrangement. I got two sets of changes. It was up to me to make sure I communicated what I wanted. As long as he followed my directions, if I wanted to tweak the final set again, that was on me. Obviously, if he didn't follow my instructions, I would not have considered the unacceptable final set to be my problem but his. You have to deliver what you promise.
An estimate is based on both an estimate of the scope and an estimate of how long it would take. It would then vary up and down - perhaps significantly as the actual scope is determined. An estimate can be produced after a few minutes discussion to find out roughly what the project is about. Often estimates will be given per hour - particularly where little information is initially available about the project.
To do a quote you need to know the scope of the work first. The quote specifies both the scope and the charge for producing that specified work. When offering a fixed price you use your experience of past jobs to ensure that the occasional job that ends up taking longer than expected is more than made up for by those that take less than your initially estimated time.
If you are going to provide a quote then you will need to allow enough time on the project before producing the quote to capture and document the scope of the project. Should the client reject the quote then this becomes another project that has gone over time by however many hours it took you to determine the scope and produce the quote. You can reduce the chance of a quote being rejected by first providing an estimate.
Part of the lesson here is to deal directly with the client and not through a middleman. I've been in the same situation, where the middleman promised a very low price for the project without telling me he'd done so! (That's despite me having provided him a detailed estimate that was way above what he quoted the client.) That's a mistake I won't make again.
This topic is now closed. New replies are no longer allowed.