Estimation Is Arbitrary – Risk is Out There

Chris Lema posted about his approach for Estimating Without Requirements and this is one of the most brilliant posts of his that I’ve ever read.

When I started my freelance career, the first thing I encountered was the estimation challenge. Working full-time at a company is often estimation-free – you can give some rough numbers in a matter of weeks or so, but in general the work takes as long as it takes and that’s it. Some of the PM resources online suggest that you need to multiply your estimate by 1.5 or even by 3 if you’re not too experienced. Then again, it’s arbitrary – I’ve seen how easy it is to get that wrong and get out of scope.

I’ve been struggling with estimates ever since, which is why I had to fine tune my pricing strategy. I always try to work with budgets and estimate accordingly, otherwise chances are that we will end up surcharging due to the lack of requirements, or miss essential details and underbid accordingly.

What Chris suggests is using three columns for our estimate: Expected Case, Best Case and Worst Case. Usually the first two numbers are close, since we can optimize our process or guess some delays, but the interesting number is the worst case scenario.

Why do we expect that a worst case scenario may take 10 times longer than the best case one? The reason is the lack of requirements.

You won’t believe how often I get inquiries for building a clone of Facebook or LinkedIn. Sometimes it’s literally rebuilding everything, including the infrastructure. Or it could just be a plain install of a membership plugin.

The most normal thing to do here is asking for more details. Discussing the requirements with the client, sharing your concerns and the possible outcomes based on the number of options, filters, integrations or whatever. Suddenly, most of our concerns become invalid, or actually add up to a new set of requirements. And the amplitude is reduced drastically.

Not to mention the time you have to spend extra with your client upfront. You do the initial meeting or a call, then you prep the estimate. The worst case scenario suddenly would cost 10 times more. You call back, spend quite some time clarifying each of the possible directions that the project may take. Get back to the drawing board, reestimate, find out more challenges, call back, clear, multiply by 1.5 and send the estimate. Or use the formula by Chris, but with lower gap between the realistic and the worst case estimate.

The funny thing is the time it takes you to do that. It gets complicated both for small projects, and for large customers at the same time. Why?

Smaller projects (say up to 15 hours) are tough to estimate. Usually it seems to be a simple job, but miscalculating or missing anything could take you an extra 5 hours – which means that you’re 30% and more behind your estimate. And spending too much time on communication may still result in a bid that is not accepted. If you spend 3 hours on that and you do it twice a week, it’s close to a day lost on calculations.

Large projects are a bit different. Misinterpreting a feature would cost you a few more hours, but the project would take like 200 hours or more to build. However, in order to prep everything, it would require a few meetings, building a specification, getting that approved, and probably spend close to a week on the process. Imagine wasting a week of your attention and time on a prospect that never becomes a client.

We usually tackle that either by asking for a ballpark from the client a few times, or charging for R&D at the beginning. Sometimes it doesn’t work, since clients research different opportunities and agencies, and are opposed to investing in R&D with each agency. We’ve skipped that phase and risked with some clients, and sometimes it works – the project is successful, and we wouldn’t have gotten it if we had billed the time upfront.

In the end, everything ends up with reputation. The willingness for a client to work with you is more important than everything else. If that’s the case, you can charge high rates, bill the R&D phase, charge for extra consulting and everything. Otherwise the competition sets different rules – and while it could be a decent deal, it’s a risk – a real risk out there.

I even read a study recently that 80%+ of the leads for small businesses come from word of mouth.

So, how do you deal with estimates?

Your thoughts?