Originally posted by Hariharasudhan Selvaraj:
In pair programming, is it really required that the two developers have to be in same physical location? or is it ok if they are in differnt place and communicate often through mail, chat and telephone?
Hi Hariharasudhan,
I know one team that pairs successfully by using Skype and GNU screen, but it's my experience that there's no substitute for sitting side by side and working on the same code on the same machine together. My preference is for the whole team to sit together, and I recommend that if at all possible. The more distance between people, the more barriers there are to communication, and agile development attempts to make communicating so cheap and easy that it's the first thing you do, not the last.
Anything that puts up a barrier to communication introduces a risk. Now you may be able to work around that risk with other practices, but I still recommend sitting together whenever possible. (A very experienced team will probably be able to make remote pairing workable, but it won't be as effective as physical pairing.)