skip to main content
10.1145/3372787.3390442acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Understanding collaborative software development: an interview study

Authors Info & Claims
Published:25 September 2020Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. C. Bird. 2011. Sociotechnical Coordination and Collaboration in Open Source Software. In International Conference on Software Maintenance (ICSM). 568--573.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle Scholar
  6. A. Capiluppi, P. Lago, and M. Morisio. 2003. C. In European Conference on Software Maintenance and Reengineering (CSMR). IEEE, 317--327.Google ScholarGoogle Scholar
  7. J. Corbin and A. Strauss. [n. d.]. Basics of Qualitative Research: Techniques and Procedures for Developing Grounded Theory.Google ScholarGoogle Scholar
  8. J. W Creswel. 2009. Research Design: Qualitative, Quantitative, and Mixed Methods Approaches. Los angeles: University of Nebraska-Lincoln (2009).Google ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarCross RefCross Ref
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle Scholar
  15. J. D. Herbsleb and D. Moitra. 2001. Global Software Development. IEEE Software 18, 2 (2001), 16--20.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle Scholar
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle Scholar
  19. A. Laurent. 2004. Understanding Open Source and Free Software Licensing: Guide to Navigating Licensing Issues in Existing & New Software. "O'Reilly Media, Inc.".Google ScholarGoogle Scholar
  20. 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 ScholarGoogle Scholar
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarCross RefCross Ref
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle Scholar
  25. 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 ScholarGoogle Scholar
  26. K. W. Miller, J. Voas, and T. Costello. 2010. Free and Open Source Software. IT Professional 12, 6 (2010), 14--16.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. S. Minto and G. C. Murphy. 2007. Recommending Emergent Teams. In International Conference on Mining Software Repositories (MSR). 5--5.Google ScholarGoogle Scholar
  28. 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 ScholarGoogle Scholar
  29. 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 ScholarGoogle Scholar
  30. 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 ScholarGoogle Scholar
  31. 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 ScholarGoogle Scholar
  32. 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 ScholarGoogle Scholar
  33. 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 ScholarGoogle Scholar
  34. I. Qureshi and Y. Fang. 2011. Socialization in Open Source Software Projects: A Growth Mixture Modeling Approach. Organizational Research Methods (2011), 208--238.Google ScholarGoogle Scholar
  35. 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 ScholarGoogle Scholar
  36. 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 ScholarGoogle Scholar
  37. 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 ScholarGoogle Scholar
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. 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 ScholarGoogle Scholar
  40. 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 ScholarGoogle Scholar
  41. 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 ScholarGoogle Scholar
  42. 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 ScholarGoogle ScholarCross RefCross Ref
  43. 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 ScholarGoogle Scholar
  44. 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 ScholarGoogle Scholar
  45. 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 ScholarGoogle Scholar
  46. 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 ScholarGoogle Scholar
  47. 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 ScholarGoogle Scholar
  48. 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 ScholarGoogle Scholar
  49. 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 ScholarGoogle Scholar
  50. J. Whitehead. 2007. Collaboration in Software Engineering: A Roadmap. In Future of Software Engineering. IEEE, 214--225.Google ScholarGoogle Scholar
  51. 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 ScholarGoogle Scholar
  52. 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 ScholarGoogle Scholar

Index Terms

  1. Understanding collaborative software development: an interview study

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader