Abstract

In distributed side-by-side software development, a pair of distributed team members are assigned a single task and allowed to (a) work concurrently on two different computers and (b) see each others’ displays. They can control when they communicate with each other, view each others’ actions, and input concurrently. To understand how this control is exerted in practice, we have performed experiments at two different organizations, Microsoft Research and Tata Consultancy Services, which involved about forty six person hours of distributed side-by-side development. The experimental tasks were typical of the kind carried out at these organizations. A mix of qualitative, quantitative, and visualization analysis shows shows that (a) distribution and conflicting changes are not an issue; (b) developers use the unique capabilities provided by distributed side-by-side software development; and (c) the exact usage depends on several factors such as the collaboration task, developers, and software-development abstraction and environment.