Software and People

I guess it's the time of year, but I was intrigued to read "Pedablogue" (Michael Arnzen)'s post about teaching what he refers to as "101" courses. Such a course is a very basic introduction to a topic, required by the institution as a study skill, but not obviously connected to the course the students signed up for.

This rang bells with me because two days ago I was suddenly informed that my lovely software development course aimed at working prefessionals (which I had spend months preparing for) had been cancelled. Instead, I am now teaching level 1 "IT key skills" (wordprocessing, web searching, email etc.) to five groups of shiny, new, "hair and beauty" students one hour each week for a year. I've spoken to colleagues who have taught such groups before, and it seems that these students generally neither have much by way of existing skills in this area, nor appreciate the benefit of learning them.

I'm sure I know the material, and (all things being equal) could fairly easily teach the class. What I'm worried about is classroom management, motivation, and simply "connecting" with the students. I'm not naturally interested at all in hair or beauty - I never use any "grooming products", and have had my hair cut in the same boring style for more years than I can remember. Oh, and I'm not female or 17.

I've got just one weekend to prepare, but I'm hoping that I'll be able to find some point of contact to engage their imaginations and help make at least some aspects of information technology interesting. We'll have to see...

I've recently been noticing what I consider to be a disturbing trend, More and more articles are appearing which advocate invading shared space in the real world with warnings, notification, and general system chatter. Using lava lamps to indicate build status seems innocuous at first. Flashing red lights seems somehow more intrusive. And the whole range of gruntings and tweetings of ambient workspaces seems not just wrong, but dangerous.

This is not to say that I can't recognize the thinking that drives these ideas. But I have a personal distrust (and dislike) of polution of any sort. And these suggestions are, at their heart, pollution. Just like the rock fan who likes to work with his ears pounding from clashing guitar riffs, the chain smoker who puffs to help his concentration, the loud voiced colleague who stands by your desk blithering about sports or last night's TV, or the mid-flow hacker who fugs an office with a pungent microwaved curry carried to his desk. All these techniques aim to improve one person's situation, but with little or no consideration for another's.

Now, it's not that I don't understand the context of the status-indication suggestions that prompted this post. But I feel that they may be proceeding from a flawed assumption. Sure, knowing that a build or a router has failed may be important to someone. But is it vital enough to everyone that it should interupt everything anyone is doing? In the ivory-tower world of throretical single-focus small-team working (XP, Scrum sprints, and so on), I can see that there might be a very small amount of things that deserve this kind of intrusion. But I can also think of counter examples for all of them. Is a router failing really more important than a fire alarm or bomb alert in the building?. And in real businesses, where teams work on different projects and priorities in close proximity, and what's vital changes on the whim of management or customers, such interruptions can become significantly counterproductive.

Fundamentally, I view the shared sensory space in a typical working environment as a "commons". Everone has access to it, but no one has the right to monopolise, exploit, or pollute it.

And if people really want status indications that impinge on the real world and cannot be ignored, can those infamous exploding consoles from Star Trek be far away?