Notes:
Since I've just admitted to being an eclectic it is obvious why I'm never happy with being told that I can't just use the ideas I like – but must take them all. So, I am immediately biased against XP (that isn't the same as prejudiced).
Looking closer at XP one sees a number of techniques that are inherently dangerous stacked one against the other in the hope of the strengths of one overcoming the weaknesses of another. The idea has a certain fascination: like trying to balance a pencil on end.
Delving deeper it soon becomes apparent that it requires:
Highly skilled developers: able to communicate with customers, find simple and effective designs, plan unit tests and implement the code.
Lots of discipline to monitor that all of the techniques are followed and that they don't degenerate into going through the motions.
Organisational support for the form of the project, working conditions, etc.
Lots of customer collaboration and agreement about what is being delivered.
Sorry, but sucess under those conditions isn't what I generally need from a method.
Of course, if the project still fails: it was because the process wasn't followed. (And, given the level of dicipline needed from all project members to maintain the process, there will be some failure to follow the process.)