Saros: an eclipse plug-in for distributed party programming

This paper describes the social practice of distributed party programming as a natural extension of pair programming in a distributed context with two or more software developers working together. To this end we provide an overview of the Eclipse plug-in Saros, a software implementation supporting this practice, and explain its technical architecture. The central contribution of this paper is a detailed description of four concrete scenarios of distributed collaboration where one of them is distributed party programming. Furthermore it will be shown how each scenario is supported by Saros. The paper closes with a discussion of preliminary findings about establishing Saros in Open Source projects.

[1]  Lutz Prechelt,et al.  Types of Cooperation Episodes in Side-by-Side Programming , 2009, PPIG.

[2]  Jan Chong,et al.  The Social Dynamics of Pair Programming , 2007, 29th International Conference on Software Engineering (ICSE'07).

[3]  Chengzheng Sun,et al.  Operational transformation in real-time group editors: issues, algorithms, and achievements , 1998, CSCW '98.

[4]  Pablo Romero,et al.  Pair programming and the mysterious role of the navigator , 2008, Int. J. Hum. Comput. Stud..

[5]  Jerzy R. Nawrocki,et al.  Pair Programming vs. Side-by-Side Programming , 2005, EuroSPI.

[6]  Paul Dourish,et al.  Awareness and coordination in shared workspaces , 1992, CSCW '92.

[7]  Alan R. Hevner,et al.  Controlled experimentation on adaptations of pair programming , 2007, Inf. Technol. Manag..

[8]  Dan Wing,et al.  Session Traversal Utilities for NAT (STUN) , 2020, RFC.

[9]  Judith Good,et al.  Collaborative and social aspects of software development , 2008, Int. J. Hum. Comput. Stud..

[10]  Peter Saint-Andre,et al.  Extensible Messaging and Presence Protocol (XMPP): Core , 2004, RFC.

[11]  Alberto L. Morán,et al.  Distributed pair programming on the Web , 2003, Proceedings of the Fourth Mexican International Conference on Computer Science, 2003. ENC 2003..

[12]  Brian Hanks,et al.  Empirical evaluation of distributed pair programming , 2008, Int. J. Hum. Comput. Stud..

[13]  Carl Gutwin,et al.  The effects of workspace awareness support on the usability of real-time distributed groupware , 1999, TCHI.

[14]  Peter Saint-Andre Jingle: Jabber Does Multimedia , 2007, IEEE MultiMedia.

[15]  Jacqueline Stark Peer Reviews as a Quality Management Technique in Open-Source Software Development Projects , 2002, ECSQ.

[16]  Donald A. Cox,et al.  Supporting collaborative interpretation in distributed Groupware , 2000, CSCW '00.

[17]  Lutz Prechelt,et al.  A Coding Scheme Development Methodology Using Grounded Theory for Qualitative Analysis of Pair Programming , 2007, PPIG.

[18]  Patrick Baudisch,et al.  High-Density Cursor: a Visualization Technique that Helps Users Keep Track of Fast-moving Mouse Cursors , 2003, INTERACT.

[19]  Charles M. Schweik,et al.  Identifying Success and Abandonment of Free/Libre and Open Source (FLOSS) Commons: A Preliminary Classification of Sourceforge.net projects , 2007 .

[20]  Sebastian Jekutsch ElectroCodeoGram: An Environment for Studying Programming , 2006 .

[21]  Michael Dixon,et al.  High-latency, low-bandwidth windowing in the Jupiter collaboration system , 1995, UIST '95.

[22]  Till Schümmer,et al.  Supporting the Social Practices of Distributed Pair Programming , 2009, CRIWG.

[23]  John T. Nosek,et al.  The case for collaborative programming , 1998, CACM.

[24]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[25]  Pablo Romero,et al.  "Talking the talk": Is intermediate-level conversation the key to the pair programming success story? , 2007, Agile 2007 (AGILE 2007).

[26]  Tore Dybå,et al.  The effectiveness of pair programming: A meta-analysis , 2009, Inf. Softw. Technol..

[27]  Christopher Oezbek,et al.  Saros: Eine Eclipse-Erweiterung zur verteilten Paarprogrammierung , 2007, Software Engineering.

[28]  P. David Stotts,et al.  Exploring the Efficacy of Distributed Pair Programming , 2002, XP/Agile Universe.

[29]  Michael Reeves,et al.  Moomba - A collaborative environment for supporting distributed extreme programming in global software development , 2004 .

[30]  Steven M. Drucker,et al.  The effect of communication modality on cooperation in online environments , 2000, CHI.

[31]  P. David Stotts,et al.  Virtual Teaming: Experiments and Experiences with Distributed Pair Programming , 2003, XP/Agile Universe.

[32]  Laurie A. Williams,et al.  Strengthening the Case for Pair Programming , 2000, IEEE Softw..

[33]  Till Schümmer,et al.  Support for distributed teams in extreme programming , 2001 .

[34]  Mik Kersten,et al.  Mylar: a degree-of-interest model for IDEs , 2005, AOSD '05.

[35]  Laurie A. Williams,et al.  Sangam: a distributed pair programming plug-in for Eclipse , 2004, eclipse '04.

[36]  P. David Stotts,et al.  Next-generation DPP with Sangam and Facetop , 2006, eclipse '06.

[37]  Gautam Shroff,et al.  Distributed side-by-side programming , 2009, 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering.

[38]  Alistair Cockburn,et al.  Crystal Clear: A Human-Powered Methodology for Small Teams , 2004 .

[39]  Charles M Schweik Identifying Success and Abandonment of FLOSS Commons: A Classification of Sourceforge.net Projects , 2007 .

[40]  Aniello Cimitile,et al.  Lessons learned about distributed pair programming: what are the knowledge needs to address? , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[41]  Doris Schmedding,et al.  Pair programming in software development teams - An empirical study of its benefits , 2008, Inf. Softw. Technol..

[42]  Qin Zhang,et al.  Practical automated process and product metric collection and analysis in a classroom setting: lessons learned from Hackystat-UH , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..