Kathy Sierra has come out with an interesting opinion on Pair Programming: Pair Programming is NOT always a choice.
Everyone has a personality. Pair Programmers are people too :)
It would be very interesting to see some studies on the trends in pairing.
For example, I am 100% comfortable with a co-developer. It is fun to work with him, time flies, we are very productive, and as time goes on we just know eachother so well. When I pair with someone else who I may not like as much… the dynamic changes. With every pair there is a new dynamic.
So, does it make sense to pair with the ones you love, or should your team have measures to make sure that EVERYONE pairs with EVERYONE (e.g. putting up a matrix showing who has paired with who). What is more important: Spreading the knowledge perfectly …. or “cheating” a little :)