metaphorical tendencies

System Metaphor

What ExtremeProgramming (XP) uses instead of a formal architecture. A simple shared story of how the system works. This story typically involves a handful of classes and patterns that shape the core flow of the system being built.

Ask yourself, what more familiar things is this problem like? Is it really like ordering coffee from a fancy coffee machine? Is it really mostly like steering (tacking) a sailboat across a lake? driving from Toronto to Paris?

I always find metaphors useful for casting a problem in a more understandable light: non-technical people don’t always want or need the details or how objects are created and destroyed or what methods do what. Abstractions and metaphors are more helpful.

Yet, at my last technical job, in technical management, I was told by the VP to whom I reported that metaphors were Bad. I think he saw them as a sign of weakness, but it turns out they were more an indicator of his inflexible mind. if metaphors are good enough for the XP crowd (irony of ironies: the same VP was a big booster of extreme programming, though to my knowledge he had never written any code), it’s good enough for me.