5.3 Extreme Programming – Simplicity with a scent of quality assurance

A methodology to improve responsiveness and software quality in a changing environment (of the client's scope). Enforces frequent releases of short iterations. Introducing checkpoints where client interaction is provided.

Created by Kent Beck, working on a Chrysler payroll system

  • Sets software development „best practices” to an „extreme level”

  • Emphasis on verbal communication, on-site customer activity, strong technical practices


  • Improve software quality

  • Enhance responsiveness for changing requirements

  • Release frequently

  • Improve productivity on regular checkpoints with the costumers

  • Do pair programming



  1. Customer works closely with team to define and prioritize granular Stories
  2. Team estimates, plans and delivers the highest priority stories in form of a working software based on an iteration basis
    • Team uses quality assurance methods, pair programming, continuous integration, multiple forms of testing to achieve that



Figure 5.4: Summary of XP principles