|We don't bite newbies here... much
Like others, I've not been able to get any organization with which I'm involved to bite off on some of the more eXtreme aspects of XP, such as pairs programming. The aspects, however, that I've adopted for all my own projects are the testing+refactoring.
Amplifying on dws's comments above, once a project grows beyond a certain size, it's the fact that I have all of the unit tests as a regression test base that enables me to refactor effectively. Before becoming converted to writing the unit tests first, I'd always reach a point on a project where I knew that certain internal subsystems needed to be completely rewritten, but rewriting them was usually painful because it would take a lot of by-hand testing to try to make sure I hadn't broken anything. And even then, I'd often not discover that my laborious ad hoc testing still missed some end case until the code was in the field...
With a good set of tests created incrementally during development, I can refactor and know that I haven't broken an interface. And if the tests are still missing an end-case and a bug slips through the cracks, well, another test gets created when the code gets fixed, and that's another situation that's guaranteed never to cause a problem in the future.
This makes the whole development cycle more productive than I had ever imagined. Very powerful, and very addictive.