Version Control in Distributed Software Development: A Systematic Mapping Study

Along the last decade, many companies started using Distributed Software Development (DSD). The distribution of the software development teams over the globe has become almost a rule in large companies. However, in this context, new problems arise, which mainly involve the physical and temporal distance among the participants. Some studies show that deploying a version control system to alleviate this problem is a big challenge for distributed teams. This paper presents a systematic mapping study about works about version control that focus on DSD. We found 29 studies related to DSD version control, published between 2002 and 2012. Using the systematically extracted data from these works, we present challenges, tools, and other solutions proposed to version control in DSD. These results can support practitioners and researchers to better understand and overcome the challenges related do DSD version control, and devise more effective solutions to improve version control in a distributed setting.

[1]  André van der Hoek,et al.  Empirical evidence of the benefits of workspace awareness in software configuration management , 2008, SIGSOFT '08/FSE-16.

[2]  Filippo Lanubile,et al.  Embedding social networking information into jazz to foster group awareness within distributed teams , 2009, SoSEA '09.

[3]  Koichiro Ochimizu,et al.  A Change Support Model for Distributed Collaborative Work , 2012, ArXiv.

[4]  Brian Berenbach,et al.  A unified requirements model; integrating features, use cases, requirements, requirements analysis and hazard analysis , 2007, International Conference on Global Software Engineering (ICGSE 2007).

[5]  Bernd Brügge,et al.  Sysiphus: Enabling informal collaboration in global software development , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[6]  Claes Wohlin,et al.  Systematic literature studies: Database searches vs. backward snowballing , 2012, Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement.

[7]  S. Rank,et al.  Active artefact management for distributed software engineering , 2002, Proceedings 26th Annual International Computer Software and Applications.

[8]  Bryan O'Sullivan,et al.  Making Sense of Revision-control Systems , 2009, ACM Queue.

[9]  Lars Bendix,et al.  Configuration Management Stories from the Distributed Software Development Trenches , 2012, 2012 IEEE Seventh International Conference on Global Software Engineering.

[10]  Daniel Rocco,et al.  Distributed version control in the classroom , 2011, SIGCSE.

[11]  Andy Schürr,et al.  Peer-to-Peer Based Version Control , 2008, 2008 14th IEEE International Conference on Parallel and Distributed Systems.

[12]  Michele Lanza,et al.  Syde: a tool for collaborative software development , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[13]  Pearl Brereton,et al.  Using Mapping Studies in Software Engineering , 2008, PPIG.

[14]  Aurora Vizcaíno,et al.  Tools used in Global Software Engineering: A systematic mapping review , 2012, Inf. Softw. Technol..

[15]  Mushtaq Raza,et al.  Issues in Global Software Development: A Critical Review , 2011, J. Softw. Eng. Appl..

[16]  Derek H.T. Walker,et al.  Global Project Management: Communication, Collaboration and Management Across Borders , 2009 .

[17]  Nenad Medvidovic,et al.  CoDesign: a highly extensible collaborative software modeling framework , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[18]  Lars Bendix,et al.  Configuration Management Support for Distributed Software Development , 2012 .

[19]  Andrea De Lucia,et al.  Fine-grained management of software artefacts: the ADAMS system , 2010 .

[20]  Mark Staples,et al.  Software Configuration Management in Global Software Development: A Systematic Map , 2010, 2010 Asia Pacific Software Engineering Conference.

[21]  Kai Petersen,et al.  Systematic Mapping Studies in Software Engineering , 2008, EASE.

[22]  Andreas Schreiber,et al.  RepoGuard: A Framework for Integration of Development Tools with Source Code Repositories , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[23]  Päivi Parviainen,et al.  Philips experiences in global distributed software development , 2007, Empirical Software Engineering.

[24]  Aditya K. Ghose,et al.  An agent-based framework for distributed collaborative model evolution , 2011, IWPSE-EVOL '11.

[25]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[26]  Genny Tortora,et al.  Recovering traceability links in software artifact management systems using information retrieval methods , 2007, TSEM.

[27]  Richard T. Watson,et al.  Analyzing the Past to Prepare for the Future: Writing a Literature Review , 2002, MIS Q..

[28]  Bernd Brügge,et al.  Supporting Distributed Software Development with fine-grained Artefact Management , 2006, 2006 IEEE International Conference on Global Software Engineering (ICGSE'06).

[29]  André van der Hoek,et al.  Palantir: raising awareness among configuration management workspaces , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[30]  Fabio Q. B. da Silva,et al.  Challenges and solutions in distributed software development project management: A systematic literature review , 2010, 2010 5th IEEE International Conference on Global Software Engineering.

[31]  Genny Tortora,et al.  Fine‐grained management of software artefacts: the ADAMS system , 2010, Softw. Pract. Exp..

[32]  Laurie A. Williams,et al.  On preparing students for distributed software development with a synchronous, collaborative development platform , 2009, SIGCSE '09.

[33]  André van der Hoek,et al.  Palantir: enhancing configuration management systems with workspace awareness to detect and resolve emerging conflicts , 2008 .

[34]  Giuseppe Scanniello,et al.  Enhancing collaborative synchronous UML modelling with fine-grained versioning of software artefacts , 2007, J. Vis. Lang. Comput..

[35]  André van der Hoek,et al.  Palantir: Early Detection of Development Conflicts Arising from Parallel Code Changes , 2012, IEEE Transactions on Software Engineering.

[36]  Mario Piattini,et al.  Challenges and Improvements in Distributed Software Development: A Systematic Review , 2009, Adv. Softw. Eng..

[37]  Andrea De Lucia,et al.  Traceability Management in ADAMS , 2005 .

[38]  André van der Hoek,et al.  Palantir: coordinating distributed workspaces , 2002, Proceedings 26th Annual International Computer Software and Applications.

[39]  Erran Carmel,et al.  Global software teams: collaborating across borders and time zones , 1999 .

[40]  Rafael Prikladnicki,et al.  Software configuration management over a global software development environment: lessons learned from a case study , 2006, GSD '06.