Extreme Programming (XP) is a widely used agile method that takes an extreme approach to iterative development. It was first started in 1996 and has proven successful for companies of all sizes. Key practices of XP include incremental planning, small releases, test-first development, pair programming, collective ownership, continuous integration, and customer involvement. The customer is part of the development team and helps define requirements, prioritize features, and develop acceptance tests.