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.