I've bumped into Extreme Programming a couple of years ago. I found the concept to be extremely interesting. The aspect that caught my attention most was the pair programming concept found in XP. This aspect of Extreme Programming lets two software developers sit side by side at the same computer, one of them writes code while the other observes and comments whenever needed! The concept at first sight sounded counterproductive. At first glance it appears that a project would take double the time it should because half the programmers are not coding and are sitting idle. In practice however, the concept of pair programming actually reduces testing and debugging time. At the end, the software project my go faster or at the same pace of a project where pair programming was not used. Why bother then and go for pair programming if the project would take almost the same time? The answer is that with pair programming the code is much more robust and the system is tighter and more stable.
Extreme programming has many other interesting features and concepts. Get to know more about it by having a look at those XP rules.