Why are software projects so hard, and still hand-crafted?

Credit: flickr/jules:stonesoup

Software runs the modern world, yet every program is essentially hand-crafted. Is this why software projects are so hard to get right?

That's the question from Scott Porad, CTO of the Cheezburger Network, after talking to a friend who quit the software development biz after 18 years. "First, name one other thing in the world, he said, that is used by so many people and which is created entirely by hand?" Automation builds bricks and computers and automobiles, but code jockeys type and type to build the software to control these processes.

Projects, such as websites, have the same development problems year after year and project after project. "Why is it that no matter how long a project takes, the customer always thinks it should be faster or cheaper?" Of course, we also think hand-crafted projects like construction, Porad's comparison, should be faster and cheaper, too, so maybe it's not just software that's a problem.

Software problems abound

The reason software is difficult comes down to one thing: change.

Justin Ko on scottporad.com

Do yourself a favor and never start coding before final documentation arrives.

fridek on news.ycombinator.com

I don't understand the 'by hand' bit. Libraries, packages, modules, SDK's what have you exist so we're not doing things by hand unless we absolutely have to.

Wickk on reddit.com

I think in my ~20year career, I've had only 3 projects that were specified well enough up front that we just "built it according to the plans" and had a satisfied customer at the end. Overwhelmingy, some (or most) of the design gets "made up as we go along".

bigiain on news.ycombinator.com

Other areas are just as bad

You need to spend some time on a job site, I’ve seen plumbers come to blows arguing over the best way to do something.

Fuzzy on scottporad.com

Really, I think software people just need to get over themselves.

Rhomboid on reddit.com

Natural evolution at work

200 years ago, every machine in existence was hand-crafted. Software is still a very young industry, and it’s moving at break-neck speed.

Max Tardiveau on scottporad.com

What distinguishes software from contemporary engineering? A couple hundred years of development at the very least. I'd say we've come a long way and have some ways to go.

agentultra on news.ycombinator.com

We have already seen huge leaps in automation and efficiency in the last 30 years which took hundreds in the comparable building or manufacturing industries.

Zen Savona on scottporad.com

Hmm, maybe the problem is not the hand-crafted nature of software and construction, but the brains behind the hands.

For the latest IT news, analysis and how-tos, follow ITworld on Twitter, Facebook, and Google+.

Now read this:

Developer declares 'I am done with the Freemium Business Model'

Khan Academy offers JavaScript as their first computer language

Study says Facebook profile can predict job performance

ITWorld DealPost: The best in tech deals and discounts.
Shop Tech Products at Amazon