As a ScrumMaster, I often meet people asking me for advices of how they can improve their development practices.
I consider pair-programming and TDD one of the core practices that fantastically improve the quality of a code and the productivity of a team. I recently changed my ScrumMaster cap to my XP coach cap to show what I mean with this to a team member that never experienced neither pair-programming, nor TDD. I proposed him to practice "pair-TDD" for an hour or two.
Of course, we focused on something with immediate payoff for him: his top-priority bug pending list. We chose the #1 bug and began with writing a TestCase class that put in evidence an un-wanted behaviour. We wrote several test methods each time more unitary to identify as precisely as possible the guilty code.
And it happened again :-) ! I saw his face changing from something like "ok let's try it" to something like "incredible, it's here". He had discovered that even if you don't use it from the beginning of your project, TDD is the most fun and efficient way to correct bugs.
For me the pleasure was to have paired someone to this new world where we share the pleasure of working together, having fun with building robust software.