Thanks to a recommendation by Clark Valberg, I recently read The Tipping Point: How Little Things Can Make a Big Difference by Malcolm Gladwell. It was a good read and I like Gladwell's somewhat meandering story telling style. One thing that he mentioned really caught my attention - Transactive Memory. In the book he explains that when two people are in a relationship, they develop a subconscious system as to which person is better at learning and storing different types of information. It is then up to that person to remember such data and to recall it when asked. Because this system is so effective, an intimate couple has much better recall abilities than two strangers. This seems logical when it is pointed out, but I think it not something that we generally think about.
After hearing about this Transactive Memory, it got me thinking about Pair Programming. Now, two people programming together hardly represent an intimate couple, but it has been demonstrated that couples that have been together a long time do not out perform couples that have been together for only a short while; the length of the relationship does not seem to weight in heavily on the ability to utilize this "shared memory" system. As such, I wonder if this is something that would apply to pair programmers? I know that when I tried pair programming with Peter Bell, I felt that we brought slightly different and complimentary skills to the table. But, that is an initial contribution. I wonder if, over time, if you were to pair program throughout the development life cycle, would development become even more efficient as you built up the Transactive Memory system between you? I can only believe that this does, in fact, happen and that pair programming with one person over time is more effective than pair programming in general.
Anyway, just some food for though.