Software Estimation Is A Crock

Some choice bits. Stuff in the parentheses is mine.

All my career I’ve heard person after person declare estimation is broken but that they have some way to make it work better. They don’t. I’ve never been able to do it and every time I see someone try it’s always wrong. In fact it’s difficult to even know how bad your estimations are.

Frankly any software estimation is indistinguishable from gambling at roulette.

I’ve read a lot of articles which seem to think that collecting data will make estimations better over time. It doesn’t. (Preach)

Of course people want the comfort of knowing ... when it will be complete ... so estimates are demanded. (Hey. You want to get into this business? Suck it up and learn to be uncomfortable.) Then the estimate becomes a deadline and a budget limit and people start being asked to work longer hours to “get back on schedule” or more people are added and the end result is that everyone looks incompetent when the estimate turns out wrong. Which it almost always is.

Long ago I came to the conclusion that building software takes as long as it takes, which seems flippant but is much more realistic.

At a job in the past decade there was a project that seemed fairly simple to me, not much more than a crud app, I guessed maybe two weeks for one person. Yet management insisted of detailing every last item. We met weekly for 6 months and a 150 page document was generated to substantiate how long it would take. In that time the project could have been done 10 times over. (Man they love their estimates.. sometimes it seems as if they like estimates more than the actual product)

Of course my two examples prove nothing but that you can build software without estimates providing you are willing to work iteratively and accept that it will get done when it gets done and maybe wind up with less. (I would like to say that software is nearly always built without estimates. We just like to pretend that we have estimates. What we actually have is just budget and deadlines.)

A need to get estimates is driven by fear and having even an incorrect one might ameliorate those fears.

To me it’s a pointless waste of time but of course not everyone will accept that. (Almost no one is willing to accept this.)

/r/programming Thread Parent Link - thecodist.com