Virtual teaming: experiments and experiences with distributed pair programming
Extreme Programming Explained: Embrace Change