Is Software Engineering an Oxymoron?

Just finished listening through the podcast of this interview with Alistair Cockburn over at ITConversations (approx 15 mins), a few months old now, but still well worth it if you’re wondering, like I was, how the whole agile development buzz really came from.

It turns out that my favourite quote from this interview wasn’t even related to agile development, but to ‘software engineering’:

In 1968 there was this NATO conference on software engineering. And when you read the preface to that (…) it says, “We wanted to come up with a provocative term, and so we chose this term software engineering” as a provocative term. That was a big shock to me when I read it because I think, like most people, they assumed that somebody had said… there was reason to believe that software development is a branch of engineering, but, in fact, what these people were saying is, “We don’t like the state that software development is, so we will throw out this word “engineering” and suggest that it should be like engineering and see what goes from there.”

Well, having a bit too much time on my hands, I actually looked it up - the 1968 NATO Software Engineering Conference report is a very interesting read, indeed. A particularly nice quote is from Edsger Dijkstra himself:

The dissemination of knowledge is of obvious value - the massive dissemination of error-loaded software is frightening.

Followed by this gem:

There was a general agreement that ‘software engineering’ is in a very rudimentary stage of development as compared with the established branches of engineering.

Except for the occasional OS/390 namedrop, the whole thing reads like last year, and I surely wouldn’t be surprised to find many people and projects working under the conditions being described as unacceptable… by a conference held in 1968. Depressing, but hopefully being aware of the problem is half the way of fixing it.