Extreme Programming Practice


Extreme Programming (XP) was designed to produce vast amounts code and deliver software quickly and timely with less cost. To facilitate that process various practices have to be implemented, one of which is the practice of System Metaphor. Unfortunately, it is one of the least understood and is rarely put into practice as a result.

Metaphor is communicating

Essentially, System Metaphor is all about communication. It is about using the right words, the correct labels to communicate effectively the content and the goals of the software being produced. Some call these labels and words, stories. For them, it is about creating a story for the product. The critical thing to remember is that in this process of communication no technical or in-house jargon may be used. The reason for this is simple. The customer and end user are included as part of Extreme Programming. System Metaphor keeps customers and end-users in the loop without confusing them with technical words.

Metaphor is words and stories

So Metaphor then is applying words, labels, tags or stories to various elements or chunks within the programming process. To use a common metaphor from the world of the industry, it is like an assembly line. In many factories where an assembly line is used, each worker will be trained to use certain parts of the line. All workers will understand their role and words will be used to define that role that all understand. Not only that but each part of the machine line will be given a label that describes its role in the process.

Putting Metaphor into practice

To achieve all this Metaphor has to consist of the following elements:

A Unified Story

Whatever story is told, whatever labels are attached, they need to be used by all. It is not acceptable when one group is having one story and another using entirely different names. It must be common to all and understood by all.

A Shared Vision

Similarly, each part of the group must see themselves as a whole with one vision or, as said earlier, one story. It is like the various characters within a tale that make the whole tale.


In a way, Metaphor has been used in business and manufacturing for many years and so is not a new concept. It is just in the area of Extreme Programming that some fail to see its use and put it into practice. To get the team to be as productive as possible, it is an important practice and once understood can help the team achieve.