I’ve been doing a fair bit of air travel recently, for both internal meetings and for client engagements, and, over time, the experience gets rather repetitive. Invariably, flights get delayed, queues start forming and people get stressed out.
The queues are one thing I have gotten used to, particularly in these days of heightened security, and I usually find my eyes wandering to the area around me. My mind usually follows.
On one such occasion recently, I was in (yet another) queue in Heathrow airport. It was at security this time and, being Heathrow at the busiest time of the day, there was the minimal number of staff requried to man the X-Ray machines.
As I contemplated life, my eye was drawn to pillar holding up the ceiling. Now, the pillar wasn’t particularly interesting (though it was a handy distraction from the tedium of queuing), but what was noticable was the pile of rubbish on the floor around it – coke cans, candy bar wrappers, empty sandwich packets. All kinds of rubbish, just left there, doing nothing (except somehow causing me to write this, I suppose).
Anyway, there was seemingly no logic as to why people had decided to place rubbish there – there were plenty of places prior to that point where people could dispose of items they couldn’t take through security.
So, why was the pile of trash there? I beleive the answer lies in a book called The Pragmatic Programmer, in the section entitled Don’t Live with Broken Windows.
Consider a building with a broken window. If the window is not repaired quickly, the tendency is for vandals to break a few more windows, over time. Eventually, they may even break into the building, and if it’s unoccupied, perhaps become squatters or even do much more damage.
The area I saw in Heathrow airport was the litter equivalent of a Broken Window. On uncaring soul had left one piece of litter by the pillar. Someone else came along and did the same. After a while, the pile of trash started sending out the message: “It’s okay to leave your unwanted rubbish here”.
The experience made me think about how we develop software; do we do enough to ensure that our software doesn’t have any Broken Windows? It’s been 5 or 6 years now since I read the book, but I’ve added it to my list to read again; it is a very good read and contains many good tips that software engineers should always keep at the back of their minds.
So, next time you write some software, either from scratch or make some changes existing code, always be on the lookout for broken windows. Sometime’s they’re so obvious that you see right through them.