Why are software development estimates regularly off by a factor of 2-3?
21–30 of 173 posts
Re: Why are software development estimates regularly off by a factor of 2-3?
#22So the article tries to describe the hidden complexity of software with a hiking analogy but then it leaves a huge part missing. Let's extend the analogy somewhat... this isn't your first hiking trip. In fact, you've been on dozens and dozens of hiking trips. You're an experienced hiker. Yet, why do you continue to give meaningless as-the-crow-flies estimates of how long it will take you to get to your destination? T…
Re: Why are software development estimates regularly off by a factor of 2-3?
#23So the article tries to describe the hidden complexity of software with a hiking analogy but then it leaves a huge part missing. Let's extend the analogy somewhat... this isn't your first hiking trip. In fact, you've been on dozens and dozens of hiking trips. You're an experienced hiker. Yet, why do you continue to give meaningless as-the-crow-flies estimates of how long it will take you to get to your destination? T…
I think I most disagree with this. Developers, in my experience, are quite often asked to leave the company after such estimates.
It's good to have a template - it helps not to forget things - but it is inherent in the work to have unknowns. Large unknowns. A good consultant would probably refuse to work on a project which would require him to use several major technologies which aren't familiar to him, but developer in a company may not have such a luxury as selecting a kind of a project.
Re: Why are software development estimates regularly off by a factor of 2-3?
#24You can think of it this way. A coast line is a fractal line. As you zoom in its length gets bigger and bigger seemingly. From the top level on the map it looks fairly straight.
Related to estimates. Programmers have and operate with idealized mental models. A FIFO queue works kind of like this ("/closes eyes and sees a line of people lining up at the store"), a tree traversal looks like this ("/closes eyes sees a red cursor move down a tree drawn with blue nodes on an white board"). Same with estimates. How long will this take? ("/closes eyes and imagines an idealized sequence of events that will lead from now till project completion -- use this library, develop that API, test a little bit here, done... 2 weeks").
The problem is, zooming in is hard. "Oh this library we are about to use actually doesn't implement these corner cases". So now we are spending 3 days patching it. Oh, while working on this project, a critical support ticket comes from a customer. And then testing reveals a fundamental flaw in our API design. Re-write a huge chunk and repeat.
Some developers and managers just use heuristics. They do the mental estimate then x2 or x3.
^ All the above is true if the developer is everyone is honest and trusts each other. As other posts wrote, that is not always the case.
Then it is a more complicated game. The main question to ask then is "What is the punishment for overestimating vs the punishment for underestimating?".
Have people been fired for underestimating? No, ok underestimate. Have people been fired for missing deadlines? Ok then overestimate.
You can even play this game with yourself. What kind of deadlines do you set for yourself and how to you handle setting a too short or too long of a deadline? Do you get better with time at setting deadlines? If no, why not?
Re: Why are software development estimates regularly off by a factor of 2-3?
#25Anyway, nice article!
Re: Why are software development estimates regularly off by a factor of 2-3?
#26Re: Why are software development estimates regularly off by a factor of 2-3?
#27Re: Why are software development estimates regularly off by a factor of 2-3?
#28Another issue is when you have an "indirect estimate" - basically I will estimate the work, but someone else is the one that ends up doing the project. If you aren't careful to consider who will be doing the work, you might estimate too low (if you are an expert and the work is done by a bunch of new hires).
And none of this even touches on misinterpreting client demands, scope creep, dev team turn-over, or often neglected timesinks like documentation and meetings.
Re: Why are software development estimates regularly off by a factor of 2-3?
#29I just don't know why people won't arbitrarily add 2-3 more time on the estimate...
For most people it's around 2-5 but for some as high as 10 to 20.
You might feel like an idiot when you tell people "Hm, change the color of the logo to a different shade of green? Six hours." This is probably how long it will take, though, for that so-called "five minute fix".
Re: Why are software development estimates regularly off by a factor of 2-3?
#30[1] http://www.quora.com/Engineering-Management/Why-are-software...