Extreme Programming (XP) is an agile software development methodology that advocates short development cycles, frequent code integration and testing, pair programming, and close customer collaboration. It aims to improve productivity and responsiveness to changing requirements. Key practices include test-driven development, where automated unit tests are written before code; pair programming; frequent communication between programmers and customers; and continuous integration of code changes. XP originated from Kent Beck's work on the Chrysler payroll project in the 1990s and emphasizes adapting practices like testing and code reviews "to the extreme."