22

The scenario is the usual one: You are asked to make a price estimation. You analyse all features at your best knowledge, experience and logic. You event count the buffer of 20%.

You then start the project and you realize that you estimated too few work hours. Since it's your bad estimation, do you ask the client for more money or you accept your mistake and work for free all extra hours?

So far, I worked for free since it's my mistake. I would really like to know what is the practice of the community.

15

I either contract for a fixed price and stick to it - and only those jobs that can be well defined - or contract for an hourly rate and expect the client to stick to it. They can't have it both ways. If you're going to protect them from the cost of an over-run, make sure you've covered yourself for it.

The client can choose anytime to reduce the scope, stop the project entirely, or limit me to billing no more than X amount per week.

The point of a fixed price is to protect the client's budget and I take the risk, charging for it in my price. The point of billing time and expenses is to allow the client flexibility in the scope and direction of the project, protecting me against changes and unknowns, for which the client takes the risk but with the available "outs" I noted above.

Once, when I had to discard some work through my error, I credited the client some hours at his request to retain his good will, but I normally expect to be paid for hours worked if that was the upfront agreement.

As an analogy, I once owned an old house. When I'd put jobs out for estimates, the contractors understood "estimate" to mean what I would call a "bid" - an upfront agreed-upon price. And I'd ask them "Is this a bid or an estimate?" It was always a final price. Old houses being what they are - with each task bound to expose another task needing doing first - and the contractors being neighbors and/or people I might like to hire again, I'd offer to let them take the job on a time & materials basis. I'd ask for an estimate but with the understanding that it was just that, an estimate, but that they'd bill - and I'd pay - their labor and materials cost. They were almost always relieved to not have to allow for unknows, and I usually got jobs done for less, but in any case, for the real costs without just-in-case padding.

You and your client choose the working arrangement that best seems to fit the job, and then stick with it. If it really starts looking likely to go south for either of you, sit down and re-negotiate.

15

I only provide services on a fixed fee basis, so if I get the estimate wrong, I eat the cost, because I've assumed that risk.

I do a few things to mitigate that risk, though.

  • I work very hard to be accurate in my estimates, constantly improving how I put them together.
  • If I'm asked for a bid on something that I don't feel I can accurately estimate, I instead submit a bid for a discovery phase where I can gather enough information to more accurately bid the rest of the project. The deliverable is a document that the client can use to shop to other freelancers, if they desire (they rarely do, but that's how I pitch it.)
  • I cultivate clients who see the relationship as a partnership, not vendor/client. They want to be successful, and they want me to be successful too. On the rare occasion that my estimate is radically wrong, this has really worked to my benefit. A few years ago my bid on a project was off by 3 weeks, because I underestimated how difficult it would be to work with a required third party tool. After the project was complete, the client offered me an additional fee because they felt like it wasn't entirely my fault!
5

It depends what terms you have, you can bill them for all of your hours and try to give them a rough maximum amount, but if you have said it will just cost X amount then I would really stick to that.

I'm usually pretty nervous about taking on projects where I'm going in a bit blind. In that situation I normally say I think it will be between X and Y hours, but I will have a clearer understanding after Z hours, so let's review it then.

On really small customisation jobs (maybe a few hours) I will just shoot them the price for my very top estimate - most of the time it takes me less time but sometimes it doesn't so it all balances out.

1

I was working with a smallish company that did legacy migrations, and we had a large IT services firm on the phone discussing a prospective project. The account representative went on at some length about how their company did their projects 'on time and on budget'.

There's only one small problem with this.

I spent a few days thinking about that, and made up two ads. In the first one, you are lying face up on the operating table, and the doctor is about to put you under for major surgery, and he's telling you 'we'll have you out of here on time and on budget'.

The second one shows a well appointed lady in her lawyer's office, discussing her divorce. He's telling her he'll get the matter settled 'on time and on budget'.

The first example illustrates the fundamental question: you're relationship with your client is not merely 'finishing a garage' or wiring a building. You are involved in the core of their business processes, and what you do affects the effectiveness and efficiency of the organization. Therefore, your arrangement with them needs to be sustainable in the long term. You can't do this if you keep eating costs.

Are you writing something like customer relationship management that you will need to keep operational and modify repeatedly over time? If so, you're expected to understand how they do business. This, on it's own, is as valuable as actual code.

The second example is somewhat different, in that the well appointed lady is not particularly interested in cost effectiveness - her intention is to maximize pain. Her soon to be ex-hubby would appreciate cost management, unless it's his objective to make her struggle for every last dime. In such situations cost criteria take a back seat to other objectives.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.