ABSTRACT
In globally distributed software development, many software developers have to collaborate and deal with issues of collaboration. Although collaboration is challenging, collaborative development produces better software than any developer could produce alone. Unlike previous work which focuses on the proposal and evaluation of models and tools to support collaborative work, this paper presents an interview study aiming to understand (i) the motivations, (ii) how collaboration happens, and (iii) the challenges and barriers of collaborative software development. After interviewing twelve experienced software developers from GitHub, we found different types of collaborative contributions, such as in the management of requests for changes. Our analysis also indicates that the main barriers for collaboration are related to non-technical, rather than technical issues.
- M. Arciniegas-Mendez, A. Zagalsky, M. Storey, and A. F. Hadwin. 2017. Using the model of regulation to understand software development collaboration practices and tool support. In Conference on Computer Supported Cooperative Work and Social Computing (CSCW). 1049--1065.Google Scholar
- C. Bird. 2011. Sociotechnical Coordination and Collaboration in Open Source Software. In International Conference on Software Maintenance (ICSM). 568--573.Google Scholar
- T. Bissyandé, D. Lo, L. Jiang, L. Réveillere, J. Klein, and Y. Le Traon. 2013. Got Issues? Who Cares About it? a Large Scale Investigation of Issue Trackers From Github. In International Symposium on Software Reliability Engineering (ISSRE). IEEE, 188--197.Google Scholar
- P. Bjorn, J. Bardram, G. Avram, L. Bannon, A. Boden, D. Redmiles, C. De Souza, and V. Wulf. 2014. Global Software Development in a CSCW Perspective. In Conference on Computer Supported Cooperative Work and Social Computing (CSCW). 301--304.Google Scholar
- B. Butler, L. Sproull, S. Kiesler, and R. Kraut. 2002. Community Eeffort in Online Groups: Who Does the Work and Why. Leadership at a Distance: Research in Technologically Supported Work 1 (2002), 171--194.Google Scholar
- A. Capiluppi, P. Lago, and M. Morisio. 2003. C. In European Conference on Software Maintenance and Reengineering (CSMR). IEEE, 317--327.Google Scholar
- J. Corbin and A. Strauss. [n. d.]. Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory.Google Scholar
- J. W Creswel. 2009. Research Design: Qualitative, Quantitative, and Mixed Methods Approaches. Los angeles: University of Nebraska-Lincoln (2009).Google Scholar
- K. Crowston, K. Wei, J. Howison, and A. Wiggins. 2008. Free/Libre Open-source Software Development: What We Know and What We Do Not Know. ACM Computing Surveys (CSUR) 44, 2 (2008), 1--35.Google ScholarDigital Library
- L. Dabbish, C. Stuart, J. Tsay, and J. Herbsleb. 2012. Social Coding in GitHub: Transparency and Collaboration in an Open Software Repository. In Conference on Computer Supported Cooperative Work (CSCW). 1277--1286.Google Scholar
- J. Gamalielsson and B. Lundell. 2014. Sustainability of Open Source Software Communities Beyond a Fork: How and Why Has the LibreOffice Project Evolved? Journal of Systems and Software 89 (2014), 128 -- 145.Google ScholarCross Ref
- G. Gousios, M. Pinzger, and A. Deursen. 2014. An Exploratory Study of the Pull-Based Software Development Model. In International Conference on Software Engineering (ICSE). 345--355.Google Scholar
- G. Gousios, M. Storey, and A. Bacchelli. 2016. Work Practices and Challenges in Pull-based Development: The Contributor's Perspective. In International Conference on Software Engineering (ICSE). 285--296.Google Scholar
- G. Gousios, A. Zaidman, M. Storey, and A. Van Deursen. 2015. Work Practices and Challenges in Pull-based Development: The Integrator's Perspective. In International Conference on Software Engineering (ICSE). 358--368.Google Scholar
- J. D. Herbsleb and D. Moitra. 2001. Global Software Development. IEEE Software 18, 2 (2001), 16--20.Google ScholarDigital Library
- E. Kalliamvakou, D. Damian, K. Blincoe, L. Singer, and D. German. 2015. Open Source-Style Collaborative Development Practices in Commercial Projects Using GitHub. In International Conference on Software Engineering (ICSE). IEEE, 574--585.Google Scholar
- K. R. Lakhani and E. Von Hippel. 2004. How Open Source Software Works:"Free" User-to-User Assistance. In Produktentwicklung mit virtuellen Communities. Springer, 303--339.Google Scholar
- F. Lanubile, C. Ebert, R. Prikladnicki, and A. Vizcaíno. 2010. Collaboration Tools for Global Software Engineering. IEEE software 27, 2 (2010), 52--55.Google Scholar
- A. Laurent. 2004. Understanding Open Source and Free Software Licensing: Guide to Navigating Licensing Issues in Existing & New Software. "O'Reilly Media, Inc.".Google Scholar
- A. Lee and J. C. Carver. 2017. Are One-Time Contributors Different? A Comparison to Core and Periphery Developers in Floss Repositories. In International Symposium on Empirical Software Engineering and Measurement (ESEM). 1--10.Google Scholar
- A. Lee, J. C. Carver, and A. Bosu. 2017. Understanding the Impressions, Motivations, and Barriers of One Time Code Contributors to FLOSS Projects: A Survey. In International Conference on Software Engineering (ICSE). 187--197.Google Scholar
- J. Linåker, H. Munir, K. Wnuk, and C. Mols. 2018. Motivating the Contributions: An Open Innovation Perspective on What to Share as Open Source Software. Journal of Systems and Software 135 (2018), 17--36.Google ScholarCross Ref
- J. Marlow, L. Dabbish, and J. Herbsleb. 2013. Impression Formation in Online Peer Production: Activity Traces and Personal Profiles in GitHub. In Conference on Computer Supported Cooperative Work (CSCW). 117--128.Google Scholar
- N. McDonald and S. Goggins. 2013. Performance and Participation in Open Source Software on GitHub. In Conference on Human Factors in Computing Systems (CHI). 139--144.Google Scholar
- C. Miller, D. Gray Widder, C. Kästner, and B. Vasilescu. 2019. Why do People Give Up Flossing? A Study of Contributor Disengagement in Open Source. In International Conference on Open Source Systems. Springer, 116--129.Google Scholar
- K. W. Miller, J. Voas, and T. Costello. 2010. Free and Open Source Software. IT Professional 12, 6 (2010), 14--16.Google ScholarDigital Library
- S. Minto and G. C. Murphy. 2007. Recommending Emergent Teams. In International Conference on Mining Software Repositories (MSR). 5--5.Google Scholar
- R. Mokarzel Filho, M. de Souza Pereira, C. Faria, and G. Lemos. 2019. Collaboration Tool for Distributed Open Source Verification. In International Conference on Global Software Engineering (ICGSE). IEEE, 139--142.Google Scholar
- J. Oliveira, E. Fernandes, G. Vale, and E. Figueiredo. 2017. Identification and prioritization of reuse opportunities with JReuse. In International Conference on Software Reuse (ICSR). Springer, 184--191.Google Scholar
- J. Oliveira, M. Viggiato, and E. Figueiredo. 2019. How Well Do You Know This Library? Mining Experts from Source Code Analysis. In Brazilian Symposium on Software Quality (SBQS). 49--58.Google Scholar
- R. Pham, L. Singer, O. Liskin, F. Figueira Filho, and K. Schneider. 2013. Creating a Shared Understanding of Testing Culture on a Social Coding Site. In International Conference on Software Engineering (ICSE). IEEE, 112--121.Google Scholar
- G. Pinto, I. Steinmacher, and M. Gerosa. 2016. More Common Than You Think: An In-Depth Study of Casual Contributors. In International Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE, 112--123.Google Scholar
- H. Qiu, A. Nolte, A. Brown, A. Serebrenik, and B. Vasilescu. 2019. Going Farther Together: The Impact of Social Capital on Sustained Participation in Open Source. In International Conference on Software Engineering (ICSE). IEEE, 688--699.Google Scholar
- I. Qureshi and Y. Fang. 2011. Socialization in Open Source Software Projects: A Growth Mixture Modeling Approach. Organizational Research Methods (2011), 208--238.Google Scholar
- A. Rastogi and N. Nagappan. 2016. Forking and the Sustainability of the Developer Community Participation-An Empirical Investigation on Outcomes and Reasons. In International Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE, 102--111.Google Scholar
- D. Riehle, J. Ellenberger, T. Menahem, B. Mikhailovski, Y. Natchetoi, B. Naveh, and T. Odenwald. 2009. Open Collaboration within Corporations using Software Forges. IEEE software 26, 2 (2009), 52--58.Google Scholar
- S. Schulze S. Stănciulescu and A. Wąsowski. 2015. Forked and Integrated Variants in an Open-Source Firmware Project. In International Conference on Software Maintenance and Evolution (ICSME). IEEE, 151--160.Google Scholar
- A. Schilling. 2014. What Do We Know About Floss Developers' Attraction, Retention, and Commitment? A Literature Review. In Hawaii International Conference on System Sciences (HICSS). 4003--4012.Google ScholarDigital Library
- A. Schilling, S. Laumer, and T. Weitzel. 2012. Who will Remain? an Evaluation of Actual Person-Job and Person-Team Fit to Predict Developer Retention in FLOSS Projects. In Hawaii International Conference on System Sciences (HICSS). IEEE, 3446--3455.Google Scholar
- I. Steinmacher, A. P. Chaves, and M. A. Gerosa. 2010. Awareness Support in Global Software Development: a Systematic Review based on the 3C Collaboration Model. In International Conference on Collaboration and Technology (CRIWG). Springer, 185--201.Google Scholar
- I. Steinmacher, G. Pinto, I. Wiese, and M. Gerosa. 2018. Almost There: A Study on Quasi-Contributors in Open-Source Software Projects. In International Conference on Software Engineering (ICSE). IEEE, 256--266.Google Scholar
- I. Steinmacher, C. Treude, and M. A. Gerosa. 2018. Let Me In: Guidelines for the Successful Onboarding of Newcomers to Open Source Projects. IEEE Software 36, 4 (2018), 41--49.Google ScholarCross Ref
- M. Storey, L. Singer, B. Cleary, F. Figueira Filho, and A. Zagalsky. 2014. The (r) Evolution of Social Media in Software Engineering. In Proceedings of the on Future of Software Engineering. 100--116.Google Scholar
- J. Tsay, L. Dabbish, and J. Herbsleb. 2014. Influence of Social and Technical Factors for Evaluating Contribution in GitHub. In International Conference on Software Engineering (ICSE). 356--366.Google Scholar
- Y. Tymchuk, A. Mocci, and M. Lanza. 2014. Collaboration in Open-Source Projects: Myth or Reality?. In International Conference on Mining Software Repositories (MSR). 304--307.Google Scholar
- B. Ulziit, Z. A. Warraich, C. Gencel, and K. Petersen. 2015. A Conceptual Framework of Challenges and Solutions for Managing Global Software Maintenance. Journal of Software: Evolution and Process (2015), 763--792.Google Scholar
- M. Viggiato, J. Oliveira, E. Figueiredo, Pooyan Jamshidi, and C. Kästner. 2019. How Do Code Changes Evolve in Different Platforms? A Mining-based Investigation. In International Conference on Software Maintenance and Evolution (ICSME). IEEE, 218--222.Google Scholar
- M. Viggiato, J. Oliveira, E. Figueiredo, P. Jamshidi, and C. Kästner. 2019. Understanding Similarities and Differences in Software Development Practices Across Domains. In International Conference on Global Software Engineering (ICGSE). IEEE, 84--94.Google Scholar
- G. Von Krogh, S. Haefliger, S. Spaeth, and M. Wallin. 2012. Carrots and Rainbows: Motivation and Social Practice in Open Source Software Development. MIS quarterly (2012), 649--676.Google Scholar
- J. Whitehead. 2007. Collaboration in Software Engineering: A Roadmap. In Future of Software Engineering. IEEE, 214--225.Google Scholar
- Y. Yue, I. Ahmed, Y. Wang, and D. Redmiles. 2019. Collaboration in Global Software Development: An Investigation On Research Trends and Evolution. In International Conference on Global Software Engineering (ICGSE). IEEE Press, 68--69.Google Scholar
- S. Zhou, B. Vasilescu, and C. Kästner. 2019. What the Fork: A Study of Inefficient and Efficient Forking Practices in Social Coding. In Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE/ESEC). 350--361.Google Scholar
Index Terms
- Understanding collaborative software development: an interview study
Recommendations
Perceptions of open‐source software developers on collaborations: An interview and survey study
AbstractWith the emergence of social coding platforms, collaboration has become a key and dynamic aspect to the success of software projects. In such platforms, developers have to collaborate and deal with issues of collaboration in open‐source software ...
The paper investigates the perceptions of open‐source software developers on collaborations. Following an ad hoc literature review and an exploratory interview study with 12 developers, our novel approach also relies on an extensive survey with 121 ...
Improving collaboration efficiency in fork-based development
ASE '19: Proceedings of the 34th IEEE/ACM International Conference on Automated Software EngineeringFork-based development is a lightweight mechanism that allows developers to collaborate with or without explicit coordination. Although it is easy to use and popular, when developers each create their own fork and develop independently, their ...
Value Creation and Delivery in Agile Software Development: Overcoming Stakeholder Conflicts
Global Thoughts, Local DesignsAbstractAgile software development aims at early and continuous value delivery. Yet the concept of value in agile development is underdefined and the meaning can be different for different stakeholders. Successful value delivery requires continuous ...
Comments