Good article Colin. And I agree with you that both are beneficial to teams. I think most like pairing for what you call the camaraderie benefit -- and learning from someone else. If a tool is used for code review, there are additional benefits to the team. For example, if you spread the reviews around, more developers learn more of the overall code base. Also, if the team is distributed, a developer in the US, for example, can submit his code for review by a developer in the east and have it reviewed by the time he returns to work the next day. Some systems also track things like # of defects found, etc.