Let's turn now to Extreme Programming
(XP) itself. It is a collection of rules and practices each of which supports several others, and are supported
by several others in turn. When they are used together a methodology emerges.
We shall examine these rules
and practices now. We will begin with the practices associated with planning. User stories are the heart of planning
in XP. User stories can be printed or hand written on cards. The project scope and plan is simply and efficiently
created by manipulating the cards by hand.
Next we will see how XP projects
design the system architecture. Architectural spikes or prototypes are used to create a simple overall design also
known as the system metaphor. CRC Cards, a simple groupware design technique, encourages all team members to understand
and contribute to the system design. But unique to XP is a reliance on a programming technique called refactoring
to help uncover the most effective system architecture. |

Then we turn our attention
to methods for code creation. As we noted earlier, code quality is very important on an XP project. Practices which
enhance quality include pair programming, refactoring, and creating tests before the code.
Testing occupies the place
of honor. Good unit test and acceptance test coverage is the hall mark of an XP project. An XP project takes the
attitude that developers are responsible for proving to their customers that the code works correctly, not customers
proving the code is broken.
Continue to follow the little
logos for a guided
tour or jump to the catalog of rules and practices for easy reference. The buttons link to experiences shared with us by people who have already tried XP. |