[ptsefton.com] | [CV & Bio]

Test Driven Development; A Sort-of Rant.

2004-06-14

Tim Bray is now exhorting users of Test Driven Development to do some ranting. Aye aye.

This piece rambles on about holiday camps, abseiling and so on for a while but there is stuff about computers at the end. It may or may not be an actual rant.

I used to work for Derek Lucas, at Chakola, a kind of holiday-camp-turned-experiential-education-centre. (This story is partly true). Huge feet, he had (has) for a short bloke, measuring only about 6 feet tall or so. I think I still have a pair of boots he gave me that he used to climb some minor Himalayas. They each weigh more than my smaller kid, even at age 4.

From Derek I learned a lot about ropes and cliffs and safety, not to mention how to drink whisky, although I figured out how to drink whiskey all by myself. Regrettably I have never learnt to drink wysgi.

Thanks to Derek, you can throw me a rope and I can tie a bowline around my waist with one hand, in a big hurry, which will no doubt save my life one day. Now that I think about it I can't remember if I practiced with my left hand. What if the right hand has been bitten off by a drop bear, or I have hacked it off to free myself from a, a, I don't know.

I can also set up a 'Z' pulley system and pull you out of a crevasse. Well, a ropes course anyway.

And the very finest alarm clock you can have is Derek waking you at 5am and telling you in quiet but compelling voice that there is a 'meeting in the kitchen'. If you feel like inventing something, invent an alarm clock like D. Lucas AOM. Something that gives you a very liberal shot of adrenaline, never mind the melatonin. Throw in an east London accent and you'll never work again.

Derek is very fond of rescuing people. You don't get to do it much in a well run 'olidee camp, so the next best thing is practicing. We used to spend a fair bit of time being stuck half way down an abseil (I always found that a bit rapellent) or dangling from a waist belt (ten minutes to live) off Lucas' over-engineered 'death slide'.

Before a client got anywhere near any of the activities they had been tested for all the failures one could reasonably and unreasonably expect. What if someone lets go of the belay? What if the client gets her foot stuck here? What if member of staff Catherine Sefton, my dear sister, falls off this rope bridge on her way out to practice a rescue? (Nobody thought of that one. Put it down to natural selection that I rescued her and she has now bred.)

Derek built the tests first, and ran them before every group came through, testing staff, process and equipment routinely and mercilessly.

Later, when I accidentally enrolled in an Associate Diploma of Outdoor Education, AKA Adventure Leadership, at the Bendigo College of Advanced Education. I bounced in full of Lucasoid enthusiasm for disaster. In rock-climbing 101, on the very first abseil off a great big granite boulder, I slipped a couple of loops of 6mm cord into my pocket (for rescuing myself), went halfway down, tied off, and called out that I was stuck and would they mind pulling me up. "We don't do rescues until week 3" they said. Short negotiations followed and I untied my impromptu tangle and slid down. They had to look up the 'Z' pulley up in a book, the poor things. Luckily they beat all that practicing and rescuing out of me quick smart to prevent any further disruption to the timetable. I hope all the CIOs, CTOs and other C-TLAs are taking note.

All this does have something to do with computers. The kinds of drills that Derek Lucas does on his ropes courses and games were like test driven development. He does it to keep the clients alive and happy, which funnily enough makes for more clients in the future. It works the same in IT, except that most of us don't risk killing the dear things, just our professionalism.

Derek Lucas taught me a lot, for a short bloke. I just relaxed and forgot most of it for twenty years. Since I came to my senses I have been using TDD with my team at work and as noted before it takes a bit of work. To improve myself even further I now realise that I need to pretend that I am back in Kangaroo Valley and re-live, with the kind clarity you get when 'my liege' Derek Lucas, AOM is your CEO, COO and CRO (Chief Ropes Officer), that testing is not something we do in week three. It's something we do every day, with every line of code, every knot we tie.

Finally, the most valuable thing Derek taught me? Well he called it a lorry driver's hitch, but we call it a truckie's hitch. You can learn it on the internet for free, amongst millions of other places.