Thoughts On ...

July 20, 2004

Its all about Metaphor

Metaphor has long been the dark horse of the Extreme Programming practice list; largely reported to be rarely used. This has been doubly troubling for me as a) I use metaphors to explain myself all the time and b) I don't use this XP practice much as its described.

Not that I don't think it can add value -- I just haven't ever found a compelling system metaphor (I still hold out the possibility that I will some day).

Regardless, I use metaphor all the time (just not a single system metaphor), and have often argued that what makes professional software development so tough is computing is all abstract metaphor: from the electrons, to the Internet, everything pretty much just sits there: measuring progress, the act of creation, an appreciatation of quality and the determination of delivered value all take place in people's heads (i.e. not in their hands). Abstractions on top of abstractions, with nothing that can ever be picked up and said to 'exist.'

Imagine my delight, when, Dr. Kevin Davis (a programmer, architect and friend that I am currently working with) introduced Euler's equation into the discussion today. Curious, I googled for more, and found this article, that not only explains the equation, but in the bargain extends metaphor all the way out into the ether.

So, there you go. Long the dark horse of XP, metaphor is really what its all about. Kinda like... well I'll leave the appropriate metaphor up to you.

Posted by wcaputo at July 20, 2004 07:39 PM
Comments

Thanks for the reference.

Depending on your math background, you may find it interesting to consider the notion of "isomorphism". Also the notions of "transformation" and "inverse transformation".

Math is permeated with things of the form

z = T'( f( T(x) )

where T and T' are inverse transformations.

Multiplacation with logarithms is a good example.

Posted by: Bill Rutiser at July 21, 2004 12:47 PM

You're welcome -- and thanks for the follow-up ideas.

Posted by: bill at July 21, 2004 11:21 PM

Take a look at "Metaphors We Live By" - it helped me make sense of many, many, things and continues to blow me away when I return to it. Essentially, they describe the the formation of metaphors and how fundamental they are to organizing our perceptions and experiences. Based on that work, I think it's an easy jump to understand the critical role of Metaphor in XP.

Similarly, I think there's some strong connections between the concepts in "Metaphors We Live By", Christopher Alexander's "A Pattern Language" and all that's happend with patterns and other attempts to structure and categorize our knowledge.

Posted by: Steve Sanderson at November 13, 2004 12:23 AM