top | item 6824437

Software projects have an inherent bias towards unpredictability

53 points| stephenjudkins | 12 years ago |gist.io

17 comments

order
[+] proksoup|12 years ago|reply
I dislike doing non-novel things. I dislike being paid for it. If I estimate accurately, it's probably not novel.

I dislike accurate estimates.

I'll do them, but I'm happy when I do it in 3x the time, not sad. And I certainly don't feel like I wwasted my time.

I just can't seem to find any employers or customers who feel the same way.

[+] swswsw|12 years ago|reply
What the author said is very true. We should accept that there is no good way to estimate the schedule because each software is inherently new. Simply that it will be done when it is done.
[+] ozim|12 years ago|reply
Like software developers would be some fairies living in mystical land? It is not working that way from other point of view, and that point of view is where money come from ;)
[+] codex|12 years ago|reply
I've seen a trend in HN where the comments from a previous story are cherry picked by a third party and turned into a blog post, which is then submitted to HN. It could be coincidence, but it looks like that's what happened here. The counter-argument is that great minds think alike.
[+] jasonwatkinspdx|12 years ago|reply
I'm the author of the gist. The submitter is a good friend of mine that felt like posting it, and I don't mind.

It was a reply I made to another friend and previous co-worker on twitter a while back that was talking about software estimation. It wasn't a comment on any other blog post or hackernews story.

I was thinking I should edit and elaborate on it into a full blog post at some point, but that would also require setting up a blog ;P I didn't take the time to write this up to the standards of an adversarial blog aggregation audience. And I don't care to defend it as such or in detail. It's meant to outline a broad point I think is true, but not to be ironclad in it's argument.

Anyhow, no cherry picking or anything unethical going on here.

[+] vezzy-fnord|12 years ago|reply
This particular entry looks more like someone just read The Mythical Man-Month and decided to write something about the philosophy of software project management afterwards.

Not that it's necessarily bad, but it is formulaic.

[+] gwu78|12 years ago|reply
"Pretty much every piece of technology and algorithm that I use has been known since the 70's and the only thing I do is hook up those technologies in various ways to accomplish a goal. To say that it is "novel" or "unpredictable" is definitely a mischaracterization."
[+] toolslive|12 years ago|reply
""" it's likely that adapting old code to a new context is less work than starting from square one again. """

It has been measured that changing more than 25% of software incurs more than 100% of the cost. So your mileage may vary.

[+] jasonwatkinspdx|12 years ago|reply
I think it depends where you draw the line. These comparisons can be hard to make due to different accounting of what counts as "reuse." In this reply to a friend I was taking a very broad economic like view. For example: no one is rewriting the linux kernel from the ground up to launch an ecommerce app. Likewise people generally aren't rewriting the functionality provided by their langauges' standard libraries for each app. So in the broadest sense of all labor involved, there's a lot more reuse going on than a more narrow experiment may consider.
[+] SkyMarshal|12 years ago|reply
Any chance you remember where that measurement came from? I could use that with a client right now, given we're discussing a major refactor of about 25%-30% of the code base.
[+] Zigurd|12 years ago|reply
Contrast:

"You mean you didn't have a complete design for that bridge before you started building it??"

"You mean you waterfall designed and implemented your YC app project??"

[+] droid_w|12 years ago|reply
Theoretically true, but in practice you see millions of programmers doing "more of the same" and "yet another"
[+] ams6110|12 years ago|reply
True for some projects, not true at all for many others. If you build e-commerce online stores, or other standard sorts of offerings, you may very well be able to "lay the bricks" in a very predictable amount of time after you've done a few.
[+] jkubicek|12 years ago|reply
Having never worked on an e-commerce store or anything like it, do those sorts of products usually exceed their schedules?