Software Development

Extreme Programming

Definition

Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.

Why It Matters

XP introduced and popularized many of the engineering practices that are now standard in Agile development, such as test-driven development (TDD), pair programming, continuous integration, and simple design.

Contextual Example

An XP team works in very short iterations (e.g., one week), practices pair programming for all production code, and maintains a strict discipline of writing tests before code (TDD).

Common Misunderstandings

  • The "extreme" in the name refers to taking beneficial practices and applying them to an extreme degree (e.g., if code review is good, let's do it continuously via pair programming).
  • XP is a more prescriptive framework than Scrum.

Related Terms

Last Updated: December 17, 2025