5th International ICST Conference on Collaborative Computing: Networking, Applications, Worksharing

Research Article

Experiments in distributed side-by-side software development

Download555 downloads
  • @INPROCEEDINGS{10.4108/ICST.COLLABORATECOM2009.8295 ,
        author={Prasun Dewan and Puneet Agrawal and Gautam Shroff and Rajesh Hegde},
        title={Experiments in distributed side-by-side software development},
        proceedings={5th International ICST Conference on Collaborative Computing: Networking, Applications, Worksharing},
        proceedings_a={COLLABORATECOM},
        year={2009},
        month={12},
        keywords={pair programming conflicts visual programming},
        doi={10.4108/ICST.COLLABORATECOM2009.8295 }
    }
    
  • Prasun Dewan
    Puneet Agrawal
    Gautam Shroff
    Rajesh Hegde
    Year: 2009
    Experiments in distributed side-by-side software development
    COLLABORATECOM
    ICST
    DOI: 10.4108/ICST.COLLABORATECOM2009.8295
Prasun Dewan1,*, Puneet Agrawal2,*, Gautam Shroff2,*, Rajesh Hegde3,*
  • 1: Department of Computer Science, University of North Carolina, Chapel Hill, USA
  • 2: Tata Consultancy Services, India
  • 3: Microsoft Research, Microsoft, Redmond, USA
*Contact email: dewan@unc.edu, puneet.a@tcs.com, gautam.shroff@tcs.com, rajesh.hegde@microsoft.com

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.