What is your approach to estimation? In our case, we used to use a template based on lines of code, but that's never on the mark when it comes to completion. We are always off the estimate.
What estimation techniques do you rely on?
Printable View
What is your approach to estimation? In our case, we used to use a template based on lines of code, but that's never on the mark when it comes to completion. We are always off the estimate.
What estimation techniques do you rely on?
One of the reasons why our estimates are off is that we build estimates at a very initial stage when the scope of work has not been clearly defined.
What a silly question...of course I do. :D I've never met a developer in my life that didn't.
In fact, I would venture to say that any developer that claims they do not inflate development time is either fibbing out of their backside or is working on their very first job ever in the development world and they will start over estimating with their next job.
Typically, I double everything.
Yep...double...and every once in a while, that actually gets accepted.
Generally, their reaction when I submit my timeframe mirrors your reaction :eek2:
So we will get together and I'll have very good reasons why this six month project is going to take me a year. They will tell me why a year just isn't acceptable and we will start talking. Eventually we will jointly agree on 7 or 8 months, which is just fine. That still gives me an extra month or two beyond the 6 months I think it will really take, and the beauty is that the customer agreed to the time frame. :thumb:
Excellent question. I do it too. I usually overestimate by 30%-50% which mostly gets accepted. As the result I've never missed a deadline, except in cases were specifications and work scope get changed, but then the deadline changes too.
I generally make an initial very conservative estimation and double that.
Back at the time when I was not in direct control of drawing up the complete project plan, I was lucky enough to work with one hell of a guy that took my estimates very seriously. We usually had a honest discussion about my work items and I had the freedom to discuss best/average/worst estimates knowing that he wouldn't automatically translate that to the least number of man days. He had the final say on estimates that would go on the project plan and usually he put mine as I delivered them. In the few occasions that he changed them (up or down) he was proven to be correct after the fact. With that guy we never had a project plan go to pieces. At worst, we were 20% off and he always managed to prove that delays were the customer's fault.
Nowadays I get to create the complete project plan. By now I've managed to solve the problem of customers whining about the time frames (I'm sure this got more than a few eyebrows raised). Well, at least I've solved it for my customers and that's because I'm in the happy position of having direct contact with them.
We deliver fixed-price bids 99% of the time. I work with the customer to make them give me as much information as possible before I bid. Some of the time, this involves an informal pre-gap analysis, usually a couple of a few hours get-together sessions to understand what they want to do and why the want to do it. After that, I draw up a bid along with the project plan and let them have a look-see. If we're all on the same page the bid is delivered, otherwise adjustments are made.
With this approach I've had few occasions of customers trying to cut the project plan. When this happens, I try to make them understand that a fixed-price bid means risk to us (if we make a bad call or simply underestimate and need to add resources or work late, that's our problem and they won't pay anything). But that risk means that we get to make our own calls and the customer should respect them. Additionally, I always work towards separating a bid's price (which is out of my hands) from the project plan. If the customer keeps being a pain in the ass and insists on shrinking the project plan, I indicate that I would be happy to deliver a time-and-material bid along with any project plan they come up with. It works beautifully.
After several years on the job, I find myself never being afraid of the large projects, which we typically undertake. In fact, the larger the better. Any one team member will obviously make estimate mistakes over some work item - most of the time my team members tend to slightly overestimate but when they underestimate, they do it big. In a large project you can make adjustments and still stick to the project plan. What I fear are the small projects, anything that involves team members for less than 6 weeks. Any estimate mistake or uncontrollable event usually translates to a slipped schedule in a small project.
I'm another one who doubles it. It accounts for those damndable unforeseen circumstances that seem to pop up every project. You know the ones; like when some totally stupid bug or behavior turns what you thought was going to be simple into a friggin nightmare.
At the very least, it gives you extra testing time. No project ever has enough of that. :)
After finding out as much about the project as possible, I'll sit down and figure out what the minimum amount of time and what the maximum amount of time might be (which is usually 2/3's added to the minimum), then I double those and talk to the client.
I freelance and work per contract not per hours, so it doesn't go to my advantage to drag the project out more than needed, so I usually overestimate 30% (never over 50%) to allow some extra time if hit a snag, which usually turns out that the project is on time or even done ahead of schedule.
I've recently realised that everything always takes way longer than I think it will... so yeah, I'm definitely going to start increasing my estimated dates of completion for projects by a fair bit
I overestimate by about an hour. Always.
You have to so you have some room for negotiation. That's how it works.
You don't want to put yourself on the spot and work long hours for no apparent reason, do you?
Some times your terms get accepted and some times they don't and that's when you start negotiating down to say ... 1.5. I never go below 1.5 of what I really need.
Ever bought a new car for MSRP? I'm sure you'd like to go below invoice... ;)