Live data from Hacker News

Software effort estimation is mostly fake research (2021)

shape-of-code.com

51–60 of 212 posts

Re: Software effort estimation is mostly fake research (2021)

#51

My instinct is that if you can put numbers and predictions based on real world estimations, then you are estimating simple things. For example, you can estimate how long it will drive from A to B. Google maps does a brilliant job of this, showing the busy sections. Often I get there +/- a minute from what is estimated over a 60 minute journey. But estimating how long someone will take to do a project, where the proje…

everyone works on stuff that's more complicated than it looks from the outside, and many other fields are able to estimate the amount of work it takes to do something. why cant software? example: in 2006 china formalized plans to build a totally new high speed train system that spans the entire country by 2020, a totally new level of scale that had never been done before. and the plan worked out even a bit ahead of s…

Funny fact. When I was a relatively new programmer, we used to be told we had to become better at estimating, like architects are on construction projects.

Then it became common knowledge that architects are as bad as we are at estimating costs. And people no longer use that comparison.

The fields that are actually able to estimate work well tend to have one big advantage. They are estimating how to do standardized tasks that are similar to ones that they have done many times before. Ones that don't have that advantage, are as bad as we are.

Re: Software effort estimation is mostly fake research (2021)

#52
Why do software people think they're special? Like it's somehow expected that we can predict everything because we're computer geniuses? We would have accurate estimates if only we "scienced" better?

If you want to get very good at estimation, do it for a very long time. Then you will see how your estimates would be very accurate if all the other things in the world didn't happen. Just let go of the idea that you will ever have control over this aspect of life.

Re: Software effort estimation is mostly fake research (2021)

#53

Why do software people think they're special? Like it's somehow expected that we can predict everything because we're computer geniuses? We would have accurate estimates if only we "scienced" better? If you want to get very good at estimation, do it for a very long time. Then you will see how your estimates would be very accurate if all the other things in the world didn't happen. Just let go of the idea that you wil…

Some industries are pretty good at estimating effort.

Eg when a film crew shoots, they have so many weeks, and they usually manage to shoot the footage for the movie within that time.

Re: Software effort estimation is mostly fake research (2021)

#54
post #45

I might be in a 1% of engineers that believe in estimation. Can you make a step plan for some deliverable? No? Then, sorry, it's not that planning is not possible, it is that you are simply not experienced enough. That's fine. There is something called skills, and you can go get them. Have you made a plan? Great, then is there is some task in your plan that you can't estimate? In rare cases that might be inherently t…

> Can you make a step plan for some deliverable? No? Then, sorry, it's not that planning is not possible, it is that you are simply not experienced enough. Perhaps you work in a simple domain? This would be infeasible at my current job, and that's including the best-in-the-industry people with 20 years experience.

What’s your domain? Are you working on a mission critical system? Are you trying to solve an algorithmic problem that is novel enough to warrant a publication after you solve it? If not, I doubt estimating is innately infeasible. If your best-in-industry people can’t do it it’s because they probably haven’t valued it enough in their career to develop the particular skill set.

Re: Software effort estimation is mostly fake research (2021)

#55
post #51

Earlier quoted context omitted.

everyone works on stuff that's more complicated than it looks from the outside, and many other fields are able to estimate the amount of work it takes to do something. why cant software? example: in 2006 china formalized plans to build a totally new high speed train system that spans the entire country by 2020, a totally new level of scale that had never been done before. and the plan worked out even a bit ahead of s…

Funny fact. When I was a relatively new programmer, we used to be told we had to become better at estimating, like architects are on construction projects. Then it became common knowledge that architects are as bad as we are at estimating costs. And people no longer use that comparison. The fields that are actually able to estimate work well tend to have one big advantage. They are estimating how to do standardized t…

There is a half decent book "How Big Things Get Done" which goes into some detail on this. TLDR - yes.

Re: Software effort estimation is mostly fake research (2021)

#56
post #49

I might be in a 1% of engineers that believe in estimation. Can you make a step plan for some deliverable? No? Then, sorry, it's not that planning is not possible, it is that you are simply not experienced enough. That's fine. There is something called skills, and you can go get them. Have you made a plan? Great, then is there is some task in your plan that you can't estimate? In rare cases that might be inherently t…

the map becomes the territory here. if you have enough information to accurately estimate a project then you've already done the bulk of the work, and all you have left to do is type. The reason estimates are hard is because the work surprises you. You find out there are problems you didn't expect that must be solved to meet the stated goals. This happens all the time, it always happens on anything non trivial, which…

> if you have enough information to accurately estimate a project then you've already done the bulk of the work

This is false. I’ve learnt 10s of new UX frameworks in my career and it takes about 20 hours from scratch to become proficient enough in one to design a new complex widget in it (say) — but knowing that doesn’t suddenly absolve me from spending those 20 hours.

Re: Software effort estimation is mostly fake research (2021)

#57

My instinct is that if you can put numbers and predictions based on real world estimations, then you are estimating simple things. For example, you can estimate how long it will drive from A to B. Google maps does a brilliant job of this, showing the busy sections. Often I get there +/- a minute from what is estimated over a 60 minute journey. But estimating how long someone will take to do a project, where the proje…

everyone works on stuff that's more complicated than it looks from the outside, and many other fields are able to estimate the amount of work it takes to do something. why cant software? example: in 2006 china formalized plans to build a totally new high speed train system that spans the entire country by 2020, a totally new level of scale that had never been done before. and the plan worked out even a bit ahead of s…

A train system is embarrassingly parallelized. It’s the equivalent of saying, we want to build 50 data centers in 3 years. It’s a lot, but it’s a lot of independent things that connect together at the end.

Re: Software effort estimation is mostly fake research (2021)

#58
Estimates are always portrayed as 'business reality' vs. 'software engineering preferences' - in my experience using estimates many times actually impedes businesses from measuring other metrics that are just as valuable or (imo) significantly more valuable than estimates. Those are a) 'full' lead-times for features, the coding bit is only a small bit in the whole process and estimating just this bit doesn't really tell the business much about how much effort, time and money it really takes to release a feature and b) value-created for the user by a new feature. Those are harder to do, but usually worth it

Re: Software effort estimation is mostly fake research (2021)

#59
post #44

Earlier quoted context omitted.

When the problem can never be resolved, you redefine the problem until you find a version of the problem with a good solution. So if the problem is that software is hard to estimate, which is hard, we redefine the problem to something like “I want to be able to ship something people want to buy, before we run out of money” or “I want to ship a game in time for Christmas” or “I want to reduce operating costs so we don…

> “I want to be able to ship something people want to buy, before we run out of money” Buddy, if I knew the answer to the question "something people want to buy" I would be rich already

Spoiler: no one thinks they should have to pay for software these days.

Re: Software effort estimation is mostly fake research (2021)

#60
post #37

It's not fake research. It's actually quite an established science in the 24 years I've been doing it. Take your first guess, double it, double it again if the stakeholder is a poser, add 20% per developer less experience than you, subtract 10% for the features you're going to essentially copy paste, add 15% for sick leave (browsing HN) and then double it for every question you have that are unresolved and divide it…

The real problem is not with estimation but with the management denial.

I was asked to estimate a project I owned as a “green” lad. I offered 6 months with a real detailed plan and up to a year with some extras. Based on past rates we had etc. I even did some statistical modeling. They disagreed. They decided to alter the approach, that the principal engineer had suggested and “it would take 2-3 months.”

Two years later I learned they were still working to finish it.

Another example: they wanted a Byzantine Fault Tolerance rewrite along with the networking layer. I said we need 6 months. They said we know how it should be done in 1-2 months. I finished my stuff and moved on — they picked couple of people to work on the rest that had said 1-2 months. It took them a year to reach a point they could test it.

Now why did I say 6 above? Because that is a project I have done multiple times, I can do everything in my sleep and the delay beyond all other fundamentals is random interruptions. Did that matter? No.

When top head works with wishful thinking estimates are ways to find scapegoats; nothing more.

Post reply on HN