People have been talking a lot about Agile Software Development for the last years. We usually concentrate on development processes like Scrum and optimize them to let us plan work in a changing requirements environment. However, we often forget that Agile means to actually build software in such an environment. Scrum does not answer that. Extreme Programming does. It answers the question, how to build high quality software, which is resistant to change. Among other awesome techniques of XP, Pair Programming is not very popular and rather often is a subject of jokes, than a way to solve ambitious problems.
On the other hand, people who use it love it. I'm one of them.
I work as an internal technical advisor for multiple projects. One of my best tools to cooperate, mentor and solve problems is Pair Programming.
For months of using it, I gained number of insights on how people react on this form of cooperation and how they do it wrongly.
I'd like to share my experiences, to let you apply this tool to appropriate problems, and do it properly.