Virtual teaming: experiments and experiences with distributed pair programming
The costs and benefits of pair programming