Extreme Programming is a horrible name masking a great idea. People don’t want to have anything to do with it just because of the name. I think that is why the term Agile has become so popular now.
Extreme Programming is not so extreme. The extreme ends of the software methodology spectrum are no methodology and very heavy-weight methodology. Extreme Programming doesn’t get its name for being an extreme in the spectrum of methodologies. It gets its name from taking the practices that work well in software development and putting extreme focus on them. Taking the practices to an extreme so to speak.
For example, the practice of periodically reviewing code is a good thing. If we take that to an extreme, we constantly review code. The constant review of code derives the practice of pair programming. Testing is good, testing up front is great, and always testing up front leads way to test-first development.