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.