Technology and Engineering Atlas

How Things Are Built
Sign In
Text size
100%
Theme
Method

Extreme Programming

Software Engineering

Extreme programming, known as XP, is a software development methodology intended to improve software quality and the ability of a team to respond to changing customer requirements. As a form of agile software development it calls for frequent releases in short development cycles, meant to raise productivity and create regular checkpoints at which new customer requirements can be absorbed. Its other practices include programming in pairs, extensive code review, unit testing of all code, declining to build a feature until it is actually needed, a flat management structure, and frequent communication with the customer and among programmers, all built on the premise that the beneficial elements of conventional software engineering practice, taken to an extreme, become more effective still; continuous code review, for example, becomes the practice of pair programming when taken to that extreme.

Facts
Core Principle
Software is built through frequent releases in short development cycles with checkpoints where new customer requirements can be adopted, aiming to improve software quality and responsiveness to change. 1
Origin Year
1996 1
Connections

Associated With

Source Extreme programming (Wikipedia)Wikipedia contributors
Source Extreme programming (Wikipedia)Wikipedia contributors

In Field

Source Extreme programming (Wikipedia)Wikipedia contributors
Sources
1. Extreme Programming (Wikipedia)
Wikipedia contributors, Wikimedia Foundation
  • lead paragraph, opening sentence
    Extreme programming (XP) is a software development methodology intended to improve software quality and responsiveness to changing customer requirements.
  • History section, sentence on Kent Beck and the C3 project
    Beck became the C3 project leader in March 1996.
View the Source
Extreme programming (Wikipedia)
Wikipedia contributors, Wikimedia Foundation
  • Associated With: Agile Software Development, Introduction
    As a type of agile software development, it advocates frequent releases in short development cycles, intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted.
  • Associated With: Pair Programming, Introduction
    As an example, code reviews are considered a beneficial practice; taken to the extreme, code can be reviewed continuously (i.e. the practice of pair programming).
  • In Field: Software Engineering, Categories
    Agile software development
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.

View At A Past Year

Choose a year to see this entry's facts and connections as the atlas records them at that moment: what it held then, what it held instead, and what it had not yet adopted. Choose Present for the current record.