But it sort of assumes competent developers which is the opposite assumption of most methodologies. Most Methodologies (note capital M) assume average to shitty developers.Quality of programmers is a first order effect on the success rate of your project. Choice of methodology is only a second order effect. You are more likely to succeed with good programmers and a poor methodology than with a good methodology and poor programmers. Neither RUP nor XP saves you from a Bubble Sorter (gotta love that term :-).
That being said, I'm working on my second XP project. Both projects have been small (2 developers), but we've followed the 13 principles pretty closely (including pair programming).
The unit testing philosophy is totally great.Agreed. I added a counter to our unit test script a couple of weeks ago. Today we hit the 700 mark, so we are averaging around 60 to 80 unit test runs a day. It gives one great confidence in the code.
Another piece of XP that I really like is the Planning Game. I fully believe using the planning game saved my first XP project by making realistic projections of progress possible. After a few iterations it became clear we weren't going to make the deadline, and it gave management the ability to rearrange some schedules to make completion possible. Without the early feedback, we wouldn't have made the adjustments early enough to make a difference.