Who is to blame when estimates are wrong?

Lets say we have two web design firms, we’ll call them Firm Red and Firm Blue. Both firms estimate the number of hours a given project will take in their proposal, and from that calculate the total cost.

When Firm Red’s proposal has been signed and the project completed, they charge the estimated amount whether the actual amount of hours worked was twice the amount estimated or half the amount estimated. Their mantra is to “be kind” to their clients and to “go the extra mile”, even if that means spending two, three, or four times the number of hours estimated on a project. They have a hard time meeting deadlines.

When Firm Blue’s proposal has been signed, work progresses on the project until the hours allocated have been used up. They then go back to the client, explain that the process is taking longer than expected, and ask for more money before the project can be finished. Their mantra is to do the project right, even if that means charging twice the number of hours originally estimated. They have a hard time getting clients to pay more.

I often hear people say that if we underestimate the time a project will take, we have to “suck it up” and finish the project, regardless of how much time or effort it takes. I can empathize with this approach to a certain extent, but where is the line? Is a design contract an estimate or a blood-sworn promise? What is fair to us as professionals? What is fair to our clients?

Wire frames work. They take a little extra time, but I think they are an essential part of the process.

When a client says “I’ll know it when I see it” have him find several examples of websites that he likes to give you an idea of what he’s looking for.

Use a questionnaire. There are scads of samples available on the web. Find out what his business and website objectives are and bid accordingly.

Be sure to put performance standards in your contracts. These should detail what you’ll need from your client to complete the project as well as your contributions to the project.

I often research a client’s competition to show him what works for his business niche. It saves from having to reinvent the wheel for each person that believes he/she has a grand new idea.

I don’t think so. If you are bidding a fixed price, as others have said, the client isn’t looking at hours. When a client tells you his budget, that may or may not be his top dollar available.

When a client wants service not originally quoted, your best resource is a contract that explains precisely what you have agreed to do so that you can explain diplomatically that there will be extra charges for extra services.

I’d ask you how you can actually start on a project until you have a clear idea of what you’re doing?

When you’re discussing a project with a client you really need to go into as much detail as you can, dissect everything, no matter how trivial it might seem at the time.

Typical case scenario:

Client asks for the ability to post news items themselves. You might think “ok that’s simple enough, just use some sort of CMS” and assume that’s what your client really wants. You set up a news posting facility so they can add news stories, probably with categorisation and a WYSIWYG. Then, half way through the project when you show them what you’ve been doing, they might then ask for news CMS features you might not have accounted for, such as multiple authors, posting timed based events, extra input fields for custom data and so on. That then causes scope creep by adding extra work you hadn’t agreed or planned. The point is, if you’d found out their precise requirements during your initial planning stage this sort of problem woldn’t arise.

That’s where experience comes in by being able to spot potential problem areas before they happen. This gives you a chance to work through things before work starts. One good idea is to brainstorm, create flow charts, create problem scenarios and work out a solutions for things that might happen.

For sure there are always problems that arise with any project once you start on them, but like in everyday life we all have contingency plans don’t we?

If you do spot something that might raise problems after development starts then you should be informing your client before hand of the nature of what you’re working with, and agree how you’re both going to deal with them if they occur.

Does that makes sense?

Is it always possible to have everything in full detail though? It seems like we never really know all of the requirements until we’ve actually done the work, or at least started down that path. It also seems like the way the requirements play out, it’s rarely an isolated feature that could be considered out of scope. It’s often problems that seem simple on the surface but become complicated once you start implementing them.

Maybe that’s just a lack of experience on my part… but is getting burned time and time again on estimates the right way to go about getting that experience?

As usual, the answer is “depends”. However, there’s always a reason why it gets delayed and it’s very clear in who’s at “fault”. I can list few

  1. Changes in requirements
    This shouldn’t be new to any of you guys here. They ask for more then charge more and it’ll take longer time… This is obviously the client who’s at fault.

  2. Picking the cheapest firm
    You get what you pay for. I believe this is the case for software work as well. Chances are cheapest are the one w/ least experience and reputations. If it gets delayed for no reason, then the client has chosen the wrong firm. It’s more at his fault for not doing any background check on the firm he has chosen.

  3. Sh*t happened at the firm
    Things happen~ lead developer gets sick~ some workers leaving the company~ taking 2~3 month vacation. These things are hard to control and cause major delays in the project. In this case, it’s at firm’s fault.

So~ it depends!

P.S. Another thing you might consider doing is just selling block increments of time for your services. That way, you can document your hours of work and when those hours are almost up, you can tell the client they need to buy more from you to continue progress on their project.

I think it might help. I have a friend who also owns a local web design company and that’s what he does. He sells 100-hour blocks @ $50 per hour.

You’re right in saying that a lot of clients don’t really know what they want “until they see it”! The problem is that doesn’t help you understand their needs, so you sometimes have to literally interrogate them (nicely of course) to prise out the fine details.

The first step is usually to ask your client for their ideas.

You could start with something simple like asking them to find 2 or 3 sites that they like and ask what they like about them - that could be the style/design, a particular feature like a search box or just how the site works. Quite often this can give you an idea of what they’re actually thinking, and you can use this information to determine how long it might take you to replicate something similar.

The one trick I find most useful is to imagine if the new site is going to be mine, then think “what would I want?”. As a web designer you could probably think of lots of things that might be useful.

There are 3 factors at play here:

  1. Comprehensive specifications
    Without a fully detailed and agreed specification it’s no wonder that estimates are often way out. If you have everything in full detail it’s much easier to produce a more accurate estimate.

Once you have a proper spec signed and agreed by the client, if the client wants to change something afterwards then you reassess and inform the client of any extra cost. That way the client can keep a track of their budget and decide whether to spend more or not.

  1. Experience of the designer/agency
    The more knowledge and experience you have, the better estimates you can give. Most seasoned developers can spot potential areas where scope/feature creep might occur before the specs are agreed and can then offer solutiosn and likely costs.

Unfortunately, in my experience, there are a lot of designers/agencies who don’t really have much of a clue or simply haven’t got the experience.

  1. An ill-informed or uninformed client
    Some clients do change their minds about things half way through, that’s a fact of life. It’s really up to the designer/agency to discuss every last detail with the client before the project starts, with the aim of getting them to understand what’s possible and what’s not, and the consequences of changing something (ie altering the agreed specification).

Once a client knows the boundaries they tend to respond a lot better, and often it makes them think more about what they actually want.

When Firm Red’s proposal has been signed and the project completed, they charge the estimated amount whether the actual amount of hours worked was twice the amount estimated or half the amount estimated.

Isn’t that clearly just a ‘fixed price’ project? I cannot quite fathom why such a company would even bring ‘hours’ into their quote in the first place, not when they are going to charge the same overall price for the project regardless of time taken. There’s nothing ‘estimated’ as far as the client is concerned, not if they will pay that ‘estimated’ price no matter what.

The red firm have simply overcomplicated their sales process. They need to accept that they offer fixed price quotes and be done with it; stop talking about hours and just quote a fixed fee for a fixed spec.

The blue firm with their hourly estimates and variable project price need to ensure their clients are aware that ‘estimates’ are just that, so final project costs can be more or less. These issues should be dealt with very early on in the sales process, be well documented in contracts, and explained well verbally before the client signs the contract.

If the blue firm find their projects consistently come in ‘over-estimate’, they simply need to get better at estimating - as a professional, you’ll be expected to be pretty accurate in these things. But it’s unreasonable for a client to refuse to pay should a project go a bit over the original estimate. An estimate is just an estimate, after all.

How do you go about determining those precise requirements? Is there a standard procedure to follow? I’ve toyed with the idea of incorporating wireframes into the proposal process, as clients often have a hard time talking about what they want but they “know it when they see it”.

I’m wondering if it might be possible to mix those two approaches-- for example, on a project I am just wrapping up, we described a payment method in the proposal that we hadn’t implemented before (paypal adaptive payments) and that ended up being much more difficult to implement and test than we had anticipated. So maybe we could have written a proposal for paypal standard, and then gave them the option to add on adaptive payments at an hourly rate for implementation and testing.

There are basically two alternatives that work. All others have issues.

  1. You write a full specification at the start and provide a firm quote (not an estimate) for producing what the specification says. The quote will be based on what time you estimate that it will take plus a buffer for things not going to plan. If the job takes longer or shorter than the time you thought it would it doesn’t affect the price because the price was for carrying out specific work regardless of the time taken and the estimated time was only used to come up with the price. Done properly most projects should get done in the estimated time and the occassional one that goes over shouldn’t use up more than you allow for in the buffer added to all projects.

With this approach any subsequent changes to the specification would require a new quote for the changes. If it comes up early enough in the process it may not require extra time in which case you’d quote zero cost for that change (provided that it is agreed to prior to further work on the original job being carried out.

  1. The estimate on the quote is just that - an estimate - with the job actually being charged at an hourly rate.The final amount charged for the job will then be determined by the actual hours spent on the job.

When using this charging method it would be reasonable to provide the client with progress reports that indicate the amount charged so far as well as whether or not the project is still expected to be finished within the estimated time. The changes to the estimated time when the client requests changes should be discussed with the client at the time so that they can decide whether the expected additional cost is worth it for the extra they are asking to have done.

It is important to make it clear to the client before work starts as to which of these two methods is being used as which party is carrying the risk of your getting your estimate wrong is different between these two approaches. Basically you need to advise at the start whether you are provioding a firm quote for the work and that’s exactly what it will cost or an estimated cost with the actual cost being determined at $x per hour.

Personally, I always keep to the original budget, even if I end up losing time (and money) on a deal.

I know it’s very frustrating when it happens (I usually go on a 3-day drunk immediately afterward…lol) but the way I see it, since I’m selling my services, I need to be certain that I can get the job done on time and within budget.

The only way I ask for more money to complete a project is when the client “feature creeps” on me and asks for way more work to be done and more stuff to be included than was originally agreed upon.

I once had a client get mad at me because we agreed on a very basic 5 page static site, nothing fancy. About half way through it, they wanted a full-blown CMS with some custom development work (without paying anything extra for the additional time it would take me).

I also had a client tell me that she was holding my final payment until her site ranked #1 in Google for a really competitive keyword. We never even discussed SEO services or put them in the contract! It was strictly a design project. I about blew a gasket on that one. I damn near had to fight her steroid-junkie husband over the deal.

In cases like that, I have no problem asking for more cash to get the job done. If the client doesn’t want to pay at that point, they won’t get any extras.