Why is Software Development So Hard?

Why is software development so hard? That was the topic of a Slashdot article that was featured today. In short, the article was asking why, after all of the collective experience in software development, is it still notoriously difficult to get quality software out on time, without bugs, and under budget.

On one hand, it’s obvious that software development is still a relatively young “science,” as it has not been around for even half a century. Despite this, the article had an interesting point. Why is it that no matter how many times companies produce new software, they inevitably fall victim to delays. Just look at Vista, the next version of Windows that has been delayed over three years and shed large portions of its original specifications. Less features, more money thrown at the problem, and yet still late by three years? How, you ask?

I am not linking you to the actual article because it isn’t nearly as interesting as this comment I read in response to the question. A clever reader wrote in response:

Why is conducting an orchestra so hard?

Some might read that and think it was a joke. But the next reply put it into context.

It isn’t. Haven’t you seen them, all they do it wave their hands around and look silly. That’s the point. Everyone thinks it’s a breeze when it isn’t, so everyone underestimates everything.

Of course, my sharper readers would notice that these answers don’t actually answer the question. In fact, all they do is dismiss the question by saying, “because it is harder than it looks.” This brings up a very important lesson that seems to elude many companies (thankfully not mine) when it comes to IT project managing. You can’t expect a masterpiece without the talent, knowledge, and experience. Another reader wrote:

A good orchestra conductor who is in front of a bunch of rank beginner inexperienced musicians will not be able to make very good sounding music. You get what you pay for.

Amen.