Extreme Programming (XP) is an agile software development methodology that focuses on customer satisfaction, rapid and frequent delivery of working software, simplicity, communication, and feedback. It consists of 12 core practices including planning game, small releases, simple design, refactoring, testing, pair programming, collective ownership, and continuous integration. XP values principles like communication, simplicity, feedback, courage, and quality work and aims to adapt to changing requirements, encourage teamwork, and facilitate collaboration between customers and developers.