Extreme Programming (XP) is an agile software development methodology formulated in 1999. It embraces change and values simplicity, communication, feedback, and courage. XP practices include whole team involvement, short planning iterations, customer acceptance tests, small regular releases, test-driven pair programming, continuous integration and refactoring. The goal is sustainable development of high quality, evolving code through frequent feedback and collective code ownership. Critics argue XP is too programmer-focused and unrealistic for large projects.