XP Home

Choose a System Metaphor

Lessons Learned

 A System Metaphor was easy to choose at the first two Extreme Programming (XP) projects (C3 and VCAPS). C3 was built as a production line. VCAPS was structured like a bill of materials. Those two projects were rare because they had already been running for a year or more when they transitioned to XP. It takes deep knowledge about the system to choose a good metaphor and those teams had it.
 Now System Metaphor is itself a metaphor for a simple design with certain qualities. The most important quality is being able to explain the system design to new people without resorting to dumping huge documents on them. A design should have a structure that helps new people begin contributing quickly. The second quality is a design that makes naming classes and methods consistent.

 What you name your objects is very important for understanding the overall design of the system and code reuse as well. Being able to guess at what something might be named if it already existed and being right much of the time is a real time saver. Choose a system of names for your objects that everyone can relate to without specific, hard to earn knowledge about the system. XP Rules

Portland Pattern Repository

ExtremeProgramming.org home | XP Rules | CRC Cards | About the Author

Copyright 1999 Don Wells all rights reserved.