Thursday, September 14, 2006

here there be dragons

Sometimes, I am far dorkier than I would usually care to admit (in this instance, "sometimes" actually means every hour of the day).

As an example, consider one of the (admittedly many) allegorical devices I use every day at work: dragons. I grew up with a rather fantasy-based imagination--King Arthur, Tolkien, plastic swords, Dragon Warrior on the NES, the Dragonlance series, etc.--so I suppose it's really no wonder that I've drawn that cognitive set with me to the present day, but the thing that gets me about it is that I've made it work so well (at least, as far as I'm concerned).

So, here's how the dragons work for me now. In the current setting, "dragons" refer to considerations or parts of the software that we have acknowledged but not yet dealt with. It can apply to both business risks (say, the terms of an NDA we haven't written yet) or parts of the design that have yet to be implemented (such as a stub function within a larger sequence). I even made a definition in my little task-list plugin in my IDE for "//HTBD" so I can denote places in the code that I have to come back to and finish.

In general, the reference comes from the practice of ancient cartographers drawing serpents or other mythological creatures at the edges of the known world (the title phrase of this post loosely comes from the Lenox Globe, ca. 1503). Those parts of the system that have yet to be defined are hence "off the edge of the map" and are thus "dragons".

In any case, it keeps me entertained at work. I always used to daydream about slaying dragons, and now I get to.

No comments: