Extreme Programming (XP) is an agile software development method created in the 1990s to address changing requirements and improve quality through engineering best practices. XP focuses on communication, simplicity, feedback, courage, and respect. It uses lightweight user stories for planning releases and iterations, and emphasizes roles like coach, customer, programmers, and testers.