Live data from Hacker News

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

michaelrwolfe.com

121–130 of 173 posts

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

#121

Earlier quoted context omitted.

For what it's worth, I haven't seen hardware engineers complaining about this issue as much as software engineers, which I find baffling. I think if you're going to justify why software development is such a "hard" problem, you should mention what makes it so different from other fields.

Its much easier to justify changes in software requirements vs changes in hardware requirements because the perceived cost of adding a few more features on your application is low. Compare that to say.. adding another register to your chip..which might add millions to the whole production process. The changes can be made while the app is live. You can not do that for hardware.

I've seen the opposite, where the effort and bureaucracy to change the software is so prohibitive that changes are made to electronics or even mechanics to avoid a software change.

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

#122
post #70
post #60

Earlier quoted context omitted.

You're probably losing more business than you think - customers have no idea who is accurate or who is just faster, etc. They will generally go with the lowest quote regardless of other factors unless they've been burned before multiple times. Most people haven't. I don't have a solution here though other than noticing that underbidding and then getting skilled at convincing clients to do paid extensions later actual…

I get contract work through referrals. I'm not interested in being perceived as a "low cost developer". I would just as soon not keep customers only interested in the lowest price. They're the ones that typically will be the biggest headache.

The other side of that coin is that often the clients I get via referrals have no reasonable alternatives. They often have done all business through referrals and so the alternative to me is the open market which is intimidating and has a significant barrier to entry. The end result is that we build a solid and stable client relationship that generally only gets upended if/when money runs out.

It's a great position to be in, provided you have the throughput to expand to other clients and aren't dependent upon a single client for income.

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

#124

Earlier quoted context omitted.

Its much easier to justify changes in software requirements vs changes in hardware requirements because the perceived cost of adding a few more features on your application is low. Compare that to say.. adding another register to your chip..which might add millions to the whole production process. The changes can be made while the app is live. You can not do that for hardware.

I've seen the opposite, where the effort and bureaucracy to change the software is so prohibitive that changes are made to electronics or even mechanics to avoid a software change.

he's talking about in the middle of a project. Not some giant legacy software system written in cobol running on a 30 year old mainframe where all original developers are dead and no original source code or documentation exists.

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

#125

Software-development estimates are regularly off by a large margin for two reasons. First, the problem is inherently hard. Second, social and business pressures bias the estimates downward. Why is the problem inherently hard? To see why, let's imagine that the All-Knowing Fairy Godmother of Software Estimation descends from the heavens and lends to us her magic estimating function F that, applied to any software proj…

"First, the problem is inherently hard." If that was all it was, the estimates would still, on average, be correct. Your second point is really the key: others pressure create an incorrect bias. In an ideal world, there would be more conservative estimates coupled with pleasant surprises when delivery is ahead of schedule.

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

#126
Summary: The fractal dimension of a software project is roughly 2 or 3. :) https://en.wikipedia.org/wiki/Fractal_dimension

Now, if you think about that metaphor for a while you may find value in seeing: (a) the metaphor doesn't really fit intuitively because software projects are often charting new ground, not zooming in on a predefined complex problem (b) the metaphor is not too bad of an intuitive explanation -- you learn more about what is really needed as you get closer to the details.

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

#127
post #9

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

Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.

According to DJ Wonk's Law (shamelessly self-named), when discussing software estimation, it is inevitable (only a matter of time) that someone will mention Hofstadter's Law.

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

#130
post #53

Earlier quoted context omitted.

> Management giving estimates? No thanks. This is actually achievable in a sane way. I have done it using the XP planning practices. Basically, you make the suit break everything down into relatively small lumps and place them in priority order. Every week, the team completes a few lumps. Before you do them, engineers grade their relative complexity in arbitrary units. (The smallest substantial thing you do is 1 poin…

I misspoke. What you are describing comes from developer feedback but indirectly in a sense. This, I think, is a nice standard of measurement. Its when people solicit absolutely no feedback either in the form of past projects where hours are measured somewhat or what they just "feel" something should take. I'm all for metrics based estimation because that's how most developers would likely estimate. Its when manageme…

I have been there, and feel your pain. It has taken me a long time to learn to say, "Oh, you told somebody that? Well, then you have a problem, don't you?" Of course, there are some companies that are so pathological that this stuff just won't get better: there's a broken feedback loop between the promises and the consequences. Ugh.
Post reply on HN