Software Developers are NOT Special

As I was going through Twitterland, I heard this strange sound:

“Coders are special. We are expected to know how to do things we've never done before and estimate how long they will take."

Well, yes and no. The part about estimating how long it will take is definitely true. See, there’s someone paying for your efforts, let’s call him the customer. The customer wants to know when he gets something for his money.

Haven’t done this before?  Maybe the customer hired the wrong gal or guy. Maybe he should have gone with someone who HAS done this before.

Or maybe you’re one of the very special group of people working on actual new technology, most developers aren’t. Statistically, I’m sorry, but you’re not.

For every one, in every profession, there are new tasks to do, or tasks that contain new elements in them. We never do everything exactly the same, because even if we try to control everything, there’s going to be a traffic jam, a communication meltdown, or a small war. There’s always risk involved and that affects our estimations. We still need to give them, though

Developers have hard time estimating as the next guy. There are ways to minimize risks, but eventually, we need to give a due date, because this date means money going somewhere, and the wallet needs to know when and how much.

Sorry to break the illusion. Coders are not special.

:

Neon Tapir

Gil, I didn't find this piece persuasive. You are right, that most developers are not doing groundbreaking things in technology.

However, I do believe that development is unlike many other jobs. In all of the software projects I've been on (constructing enterprise web applications), the vast majority of the work has been with mental constructs. In other jobs I've worked, there have been physical artifacts (people or papers) to manipulate.

I feel this abstraction away from the physical makes estimating tasks for software harder than estimating in other contexts. I did not see anything in your post to address this point.

Regards,
Chuck Durfee

Gil Zilberfeld

Chuck,

First, thanks for the comment!

Yes writing software is mental work, that is then followed by team work. It doesn't have the "hardware" obstacles or short cuts. But that makes it a lot like any "knowledge work" out there.

However, my point in my post was not whether software is like or unlike any other work (which I feel it is) but the rather the feeling of superiority or inferiority (depending on context) that developers feel compared to other profession.

I'm curious: Why do you feel the abstraction from the physical impact the estimation towards worse? Having worked on software projects that included hardware - the whole physical stuff made it much more complex and risky.

Thanks!

Lior Friedman:

Here we go again confusing estimates with commitments.
Nothing good will become out of it.
Estimates I give freely to the best of my ability.
Commitment is a different thing. That i take extra precaution with. since it does means money switching hands (in my line of business)

Gil Zilberfeld

Lior,

How true!
You're correct that often we ask for estimations, but what we think we get are commitments. And there aren't many people who differentiate and later are pretty disappointed, or pissed. As you said, nothing good comes out of that.

Getting to the topic of this post, I expect nothing less than giving the estimates as you best can. This varies from I don't know, so I'll put a big risk factor, to I've done it multiple times, so It's going to be exactly 3.54 days.

Thanks for the comment!

MEC Garcia

Hi there Gil, hmmm I guess I just have to say that I disagree on most of the statement you have made here. For me, software developers perform a very special task. :) http://www.elearners.com/online-education-resources/careers/software-developer/

Related Posts Plugin for WordPress, Blogger...
Twitter Delicious Facebook Digg Stumbleupon More