How can I tell clients that quotes will never be accurate?

4 points by bendauphinee ↗ HN
I work as a web dev, and I am asked all the time by clients to give them a quote, and expected to stick to it. However, there are a lot of problems with this method, the biggest being that any estimate I can make is always inaccurate.<p>How can I approach my client and explain to them that while I can give a quote, it will never be accurate, because of unanticipated gains (finding a piece of code that knocks 10 hours out) or losses (figuring out that that feature they wanted will take 1.5 times longer than estimated after getting half way through it) during the work?

9 comments

[ 4.7 ms ] story [ 40.1 ms ] thread
I always over-estimate. That way, when I tell them my estimate was high, they're shocked and impressed, and glad to save some money. Higher satisfaction, and they're likely to return.

Alternatively, you could give them a range. Let them know up front that, pending unforeseen problems, it could cost between $x and $y.

I make a clear distinction between estimates and formal quotes. I almost never exceed a quote. I also much prefer to charge by the hour instead of fixed bids.
This is just part and parcel with the territory and is the risk you take as an independent contractor or freelancer. It's generally not acceptable (and certainly will not make happy clients) to quote one price and then charge another, you just have to get better at estimating both time and cost.

The two biggest parts of creating an accurate estimate are understanding and defining the scope of the job and, if working with an existing system, understanding that system the best that you can.

If you and your client determine that you will build a simple, 5 page, HTML/CSS website for X dollars in X weeks, then your client decides that he actually needs 15 pages and it should be a wordpress site, it's time to renegotiate your price and timeline.

However, if you just get stuck on something you had already agreed to deliver, there's not a whole lot you can do. You can always try to get more money, etc., but there's no gurantees.

And you should know this happens all the time - to freelancers and big corporations bidding on contracts. Live and learn.

Definitely overestimate and quote for worst case scenarios. This type of work isn't fun when you know you're going to get stuck doing a lot of extra work for the minimum amount of compensation. And like michaelhart said, sending an invoice for less than what you quoted will no doubt make the client happy.

I quote a range for friends because I want to charge them as little as possible while getting -something- for providing that value.

Yeah, definitely over-estimate. And do so based on your confidence (and ill-confidence) of the overall effort. Generally speaking, the larger the project may be, the more likely a small error in estimation results in a huge problem later on.

If you find yourself quoting projects that you've "been there and done that" before then those should be easy to make a solid profit on and still quote an "accurate" amount for. After all, you know (far better than your client) how long it will take you and how much effort it will require, as well as what the pitfalls are likely to be along the way.

With totally uncharted territory, simply charge more and put a longer timeline on it. I've even been in situations where the cost was deliberately over-priced and had a huge timeline on it far beyond what was needed (mainly because we didn't really care to do the project much but we quoted a massive amount anyways) and we got it. That's another trick; if you don't want the work in the first place, don't just say No, let your quote be a reflection (with a massive premium on it) that says you'd do the project if some insane price was paid for it.

On the flip side, you want to add in huge premiums when the work is not well understood or well-known by you. Even though someone else out there in the world might have a better grasp of the problem domain and could estimate better, you're the one doing the work, after all, and should price it according to the risk of the unknown.

Don't give them a bad quote. Ever.

Sometimes that means over-quoting. Sometimes that means eating the loss.

And sometimes that means quoting by the hour, instead of by the project. Clients generally don't like the idea when they first hear it, but it allows them the most flexibility, since they can make changes to the specifications without signing another contract for every change.

It sounds like you're not producing a quote. You're making an estimate. That's the amount of money you expect to charge them when you're done. It could change because of additional or less time needed due to unforeseen circumstances. In this case of working from an estimate, they're taking the risk.

A quote (also known as a "price") is the price at which you're doing the work. If you do the work, they'll pay you that amount. In this case, you're taking the risk of unforeseen circumstances.

If it's an estimate, call it an estimate and tell them what kinds of things might make the final price different from your estimate and give examples of how much it might change.

If you're giving them a quote, then do the work for that amount. If they change the project in the meantime, renegotiate the price.

Sounds like a lot of work/overkill, but I've always given out a detailed statement of work (based on a boilerplate from my own experience) that:

* outlines my current understanding of the project with enough detail to not trivialize potential areas of difficulty

* bullet points of what's in scope and out of scope

* list of expectations from the customer to ensure timeliness and adherence to the budget

* change control procedure

* clearly state that it's a time and materials budget

* clearly state that there's a margin of error and that you will diligently manage the project to budget

* outline any potential risks and showstoppers that will add $/scope

You also have to make sure they sign off on this SOW as proof they read it. This habit is just a carryover from my experience working in consulting agencies.

Read Steve McConnell's Software Estimation book, and learn how to estimate well. Then estimate the project with an uncertainty range, and either provide the uncertainty range in your quote (if they can handle that) or just give the 90% or 95% confidence estimate, depending on how much risk you're willing to absorb if you run long.