The XP Practices
  • Agile development driven by concise methodology

  • Team creates a metaphor

  • On-site Customer creates simple stories and small releases

  • Programmers implement simply, egolessly, and incrementally

  • Refactoring validated by testing

Notes:

XP is an agile development methodology. Most programmers have used one or more the XP practices. There are many agile methodologies. The Agile Alliance lists many of them.

XP distinguishes itself by the size of its following. It is a complete and concise methodology. It is easily understandable by most programmers. It doesn't tools.

The team focus is called a Metaphor. It's the way the team goes about building the system. While implementing, developers refer to the metaphor to help maintain consistency and cohesion.

The customer defines what to do through stories and small releases. Small releases are then broken down (later) into iterations. My experience on web-delivered applications is that releases and iterations are one in the same.

Programers strive for simplicity. They interact egolessly when pair programming, testing, continuously integrating, etc. The goal is to make a product, not to prove who is the better programmer. Incremental change is explicit. You checkin often and everybody uses the latest version.

We refactor whenever we find duplication. We test the refactorings with unit tests and acceptance tests.

XP Practices are not new. Egoless programming was identified by Gerry Weinberg in 1970. Sharpen your tools (40-hour week) was laid out in the ten commandments (another simple rule set). What is new is their combination and emphasis that this is all you need to do to create great software.

Next slides cover the individual practices.