Live data from Hacker News

Why are software development estimates regularly off by a factor of 2-3?

michaelrwolfe.com

21–30 of 173 posts

Re: Why are software development estimates regularly off by a factor of 2-3?

#22
post #18

So 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…

Spot on. NTE billing puts the onus on you and gets you actually thinking about it. Helped me a ton.

Re: Why are software development estimates regularly off by a factor of 2-3?

#23
post #18

So 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…

"Developer estimates are regularly off because they seldom impact the developer directly."

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?

#24
Good points in the article.

You 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?

#25
I loved the article, but I was hoping we'd get a reference to the Coastline Paradox[1]. Basically, since a coast is a fractal, its distance is infinite. The "zoom" that caused the very first delay could keep going, and going, and going.

Anyway, nice article!

[1] http://en.wikipedia.org/wiki/Coastline_paradox

Re: Why are software development estimates regularly off by a factor of 2-3?

#28
Most people would agree that practice makes perfect, right? I think a big issue with software estimation is that it is hard to get practice. I'd done full project estimates for 4-6 projects in 3 years of working professionally. Compared to the amount of practice I have writing code, this is nothing. How can I ever hope to get good at something if I only do it once every 3-6 months and it might take 2 years to get feedback on if my final number was close to the actual cost? And unlike other skills, I can't practice on my own or take a course (I've never seen an open source project that did round-trip estimates, maybe that's something to try out...)

Another 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?

#29
post #9

I just don't know why people won't arbitrarily add 2-3 more time on the estimate...

You need to calibrate your "optimism factor" as most of the time you'll estimate by the wrong amount. I chalk this up to people being optimists, that is, ignoring a lot of the junk involved in completing a task that they'd rather not do: Meetings, documentation, integration issues, testing and so on.

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
This post was originally an answer on Quora to the question posed in the title [1]. The question has so far received 222 answers - some of them arguably better, though not as popular as this one.

[1] http://www.quora.com/Engineering-Management/Why-are-software...

Post reply on HN