In the New Year…
In the New Year, may your right hand always be stretched out in friendship but never in want!
I found this Irish toast, and I liked it a lot…
Today is Women’s Christmas (Nollaig na mBan in Irish)- I heard it on the radio and asked a few people what was this tradition. In the end, Wikipedia told me: Irish men are taking on all the household duties on this day and give their spouses a day off! Very nice of them;-)
I went to a SQRL lecture today: Spencer Smith, from McMaster University, Canada , talked about the relationship between Computer Science and Software Engineering: “Is Computer Science to Software Engineering as Physics is to Civil Engineering?”
The same old debate: is Software Engineering real engineering at all?!
Went back and checked Wikipedia again:
“The term software engineering was used occasionally in the late 1950s and early 1960s, though some argue that software engineering was coined by F.L. Bauer. It was popularized by the 1968 NATO Software Engineering Conference held in Garmisch, Germany, and has been in widespread use since.”
A label was applied, probably with the intent of introducing a more structured approach to an emmergent domain (or to sell it better?!)
In any case, rivers of ink have flown ever since – both pro and con…
Update: Browsing through the podcasts from IT Conversations I’ve been listening to last year, I located Alistair Cockburn’s interview on Agile Software Development who also mentioned this issue:
“Doug Kaye: How about the engineering metaphor? In what ways is software development like engineering or not like engineering?
Alistair Cockburn: Well, here’s the thing that was a surprise to me. Well, I did, again, two things. I looked at the history of the term “software engineering,” where it came from, and then I had to look at the term “engineering” itself and what does that mean. And it came around full circle in an odd way that engineering itself is to a very large extent also a cooperative game of invention and communication. So everything I said just now about developing software applies also to pretty much any engineering project, with the possible exception of bridge building, which is so candid in the books that you look stuff up, look up all the answers.
But in the history of these things as I chased it down, after the Second World War, engineering took an odd turn. And as the reading came to me that I got was after the Second Word War, there was a “discipline envy,” as we as we might call it, of applied physics. So, applied physics had done great things in the Second World War, we got atomic bombs, we got missiles, we got all that kind of stuff, all based on heavy application of math and a priori in-advanced thinking and design. And engineering got this little envy of this other discipline that we saw an increase in the amount of applied mathematics being shoved into the engineering curriculum at the major colleges after the Second World War.
In 1967, the Dean of Engineering at Harvard wrote up a thing where he said, “I think we’ve gone too far. We’ve lost the art aspect, the contact aspect.” Engineering is very sensitive to people having contact with the materials and having a deep, visceral, personal understanding of the behavior of the material they’re working with, whether it’s construction or electricity or whatever it could be, and was advocating a return. But the problem being that in the academic tradition that was building up at the time, the practitioners were getting devalued and the theoreticians were getting more valued.
Now then, I jump to the next thing. In 1968 there was this NATO conference on software engineering. And when you read the preface to that — you can find it online — in the preface, 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.”
So they had a big impact, but if you read through their description, they didn’t understand what engineering was. They were thinking of engineering as being lots of a priori modelling, lots of math, and all of that stuff. So they were buying in to the face that had been put on engineering, not that it was true, but the public face that had been put on engineering. If you’re inside the same conference where they interview each other and you look at what they do, when they say what works, you’ll find, “Put ten people in a room, give them lots of face to face, make sure there’s a filing cabinet, watch who uses the filing cabinets, gossip is good because it helps pass information around.” All the stuff that I write about in “Agile Software Development” put inside this cooperative game is right there under everyone’s noses when they are doing individual personal experiences and recommendations. And then you’ll find them throwing in a sentence out of the blue which is like, “Ah! We build software these days like the Wright brothers built airplanes; just build it, throw it of a cliff and see if it survives the crash,” which is wrong because the Wright brothers, they invented the wind tunnel basically, and they made tables of lifts and stuff, so they were doing real engineering.
So the people who are coining the phase “software engineering” didn’t understand engineering. It wasn’t a deduced term; it was a provocative term, in their own words. And so we’ve now come in a sense to fully believe the face value, the false face, that these guys falsely put on engineering.
So it comes around full circle when you look at it back again; there’s a lot of similarity between software development and engineering, but not the obvious one. It’s that they’re both examples of cooperative games of invention and communication.”
January 04 2006 03:00 pm | Uncategorized