The rules of Extreme Programming (XP) were documented by Don Wells and can be read at: www.extremeprogramming.org/rules.html. They are categorised by the following five headings:
- Planning
- Managing
- Designing
- Coding
- Testing
XP Planning Rules
| XP Rule | Further Information |
| User stories are written. | Practice: Stories |
| Release planning creates the release schedule. | Practice: Quarterly Cycle |
| Make frequent small releases. | Practice: Regular Releases |
| The project is divided into iterations. | Practice: Weekly Cycle |
| Iteration planning starts each iteration. | Practice: Planning Game |
XP Managing Rules
| XP Rule | Further Information |
| Give the team a dedicated open work space. | Practice: Co-location/Sit Together |
| Set a sustainable pace. | Practice: Sustainable Pace/Energised Work |
| A stand up meeting starts each day. | Event: Daily Stand-up |
| The Project Velocity is measured. | |
| Move people around. | |
| Fix XP when it breaks. |
XP Designing Rules
| XP Rule | Further Information |
| Simplicity. | Value: Simplicity Practice: Simple Code and Design |
| Choose a system metaphor. | Practice: Common Vocabulary??? |
| Use CRC cards for design sessions. | |
| Create spike solutions to reduce risk. | |
| No functionality is added early. | Value: Simplicity |
| Refactor whenever and wherever possible. | Practice: Refactoring Value: Courage |
XP Coding Rules
| XP Rule | Further Information |
| The customer is always available. | Value: Communication Value: Feedback Practice: Whole Team Practice: Real-Customer Involvement |
| Code must be written to agreed standards. | |
| Code the unit test first. | |
| All production code is pair programmed. | |
| Only one pair integrates code at a time. | |
| Integrate often. | |
| Set up a dedicated integration computer. | |
| Use collective ownership. |
XP Testing Rules
| XP Rule | Further Information |
| All code must have unit tests. | |
| All code must pass all unit tests before it can be released. | |
| When a bug is found tests are created. | |
| Acceptance tests are run often and the score is published. |