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.