I am new by comparision to others to the programming world but I would like to share my recent experience with pair programming and XP.
Our company took on the task of writing an application for problem, change and inventory management about 1 1/2 years ago. I got involved in the project about 6 months after it started and was introduced to XP. Since I was a relatively inexperienced Java programmer at the time, I looked forward to being able to learn from some of my more experienced Java developers. After reading XP Explained and getting management to buy off on the paradigm, we got down to the task of coding. Things rocked along very well at first. Everyone felt very comfortable in their roles that they had given themselves and our coding efforts as pairs were producing very logical easy to read code, that anyone could have come behind us and understood. I learned alot of new skills and language with the pair programming we were doing and was feeling more and more comfortable with Java. Then our dynamics changed. Our coach got very disgruntled with the project and it started to trickle down through the rest of the group. Pair programming came to a halt and in my opinion, the project started to suffer greatly. We went from alot of discussion/sharing our code to the attitude that I wrote that you can't touch it!
I think that pair programming has merit. It takes your more inexperienced coders and gives them a chance to be better with out the cost of formal training. It also gives your experienced coders an opportunity to share their knowledge and experience. There just seems to be one caveat to me. The coach's role in this process is very very important to the cohesion of the team. The person filling this role needs to be able to put aside any ego issues and really fill the role as coach. In my experience with XP, this is the most singlely important role on the team.
I am happy to report that because of the pair programming that was utilized in the beginning, I am well on my way to finishing not only the application but getting my certification.