Metaphor

Home - XP Introduction

The word metaphor is of Greek origin and means "transfer". A metaphor is "a rethorical figure, which expresses what was meant by using an imagination (mostly a picture), which stems from a completely different domain and [...] which has no concrete relation to what was meant (e.g. "bed" for "river bed")." (Source: wissen.de, translation by the editor).

The metaphor belongs to the12 practices of XP. Let's start with two examples:

In the C3 project at Chrysler the containers normally used in production where used as the metaphor for the compensation calculation system. (Source: Personal talk with Kent Beck).

In a helpdesk system the mataphor to be used is that each service call is the element in a queue. There are several interconnected queues, and for each queue either a single person or a team is responsible.

In some cases it will be difficult to find an appropriate metaphor. In this situation it helps to go one step back, to lock at the system from a broader perspective. If you look at it from 10,000 feet, which elements can still be identified? Which terms from the real world can be used to describe what can still be seen? You can start with those terms. Later you can switch to better a better metaphor whenever you like.

What do we need a metaphor for? In XP the metaphor replaces - to a certain degree - the software architecture. By looking at the metaphor, one can discover the essential elements of the evolving system.

The same way as it does not make sense to create the complete system design right at the beginning of the project (or release cycle), it does not make sense to work out all the details of the software architecture. The metaphor is to software architecture what simple design is to software design. The architecture - as is true for the design - emerges while the system is being built.

Tips

  • Better start with a sub-optimal metaphor instead of having no metaphor.
  • If you can't find a metaphor, look at your system from 10,000 feet.
  • While looking for a metaphor, answer the following question: Which terms from the user domain could serve as good analogies?

Tips
Home
Search
Index
Links
About
Deutsche Version
© Copyright 2001-2002 Manfred Lange, Alle Rechte vorbehalten. Nutzungsbedingungen.
Letzte Änderung dieser Seite: Montag, 14. Januar 2002