Extreme Programming (XP)

Steven J Zeil:

Last modified: Apr 23, 2014

An agile approach characterized by

Kent Beck, 1999

1. Values

2. Principles

3. Practices

(Beck, Extreme Programming Explained, Figure 3)


Primary Practices

3.1 Teamwork

Sit Together

Whole Team

Team size (Gladwell):

Informative Workspace

Energized Work

Pair Programming

3.2 Planning

Stories

“the word “requirement” is just plain wrong. Out of one thousand pages of ‘requirements’, if you deploy a system with the right 20% or 10% or even 5%, you will likely realize all of the business benefit envisioned for the whole system. So what were the other 80%? Not ‘requirements’; they weren’t really mandatory or obligatory.”

Weekly cycle

Why a week? Beck suggests that it is a natural unit for teams to work in. Everyone focuses on Friday. It is easy to tell if you have fallen behind and need to re-allocate tasks or stories so that you will have something deployable,

Quarterly Cycle

Quarterly planning meshes well with traditional business schedules.

“Themes” help refocus team o nthe “big picture”.

3.3 Integration

Ten-Minute Build

Continuous Integration

3.4 Programming

Test-First Programming

Incremental Design