Metaphorscape Patterns for XP System Metaphors Rilla Khaled, Pippin Barr, James Noble Victoria University of Wellington, New Zealand {rkhaled,chikken,kjx}@mcs.vuw.ac.nz Robert Biddle Carleton University, Canada robert biddle@carleton.ca Abstract System Metaphor is one of the key practices of Extreme Programming (XP). Unfor- tunately, the System Metaphor practice is poorly understood, and is the practice XP teams most commonly choose to ignore. In this paper, we provide a small collection of patterns that teams can use to develop metaphors for their systems, and for evaluat- ing system metaphors. We hope these patterns will encourage Extreme Programming teams not to abandon system metaphors, but rather, to continue to use metaphors to strengthen their development practices. Introduction Historically, design has been an important concept in object-oriented software development methodology. It lays down the architectural foundations for how the resulting system will be structured, and therefore impacts virtually every subsequent architectural decision. Extreme Programming is a relatively new methodology that has done away with the design phase of development, and instead features a practice called the System Metaphor. Kent Beck defines it as: A story that everyone – customers, programmers and managers – can tell about how the system works [4]. The system metaphor is a means of communicating about the project in terms that both developers and customers will understand, and which does not require pre-existing familiarity with the problem domain [5]. The system metaphor guides the mental models that project members have of the system, and shapes a logical architecture for the system.