Extreme Programming (XP)

Steven J Zeil:

Last modified: Dec 4, 2016

Extreme Programming (Kent Beck, 1999) is an agile approach characterized by

1 Values

2 Principles

3 Practices

 

(Beck, Extreme Programming Explained, Figure 3)

We’ll focus on the primary ones in the upper half of this diagram.

3.1 Teamwork

 

Whole Team

3.1.1 Sit Together

3.1.2 Informative Workspace

3.2 Energized Work

 

3.2.1 Pair Programming

3.3 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.”

3.3.1 Weekly cycle

3.3.2 Quarterly Cycle

3.4 Integration

 

Ten-Minute Build

3.4.1 Continuous Integration

3.5 Programming

 

Test-First Programming

3.5.1 Incremental Design