Abstract

Release management in large-scale software development projects requires significant communication and coordination. It is particularly challenging in Free and Open Source Software (FOSS) ecosystems, in which hundreds of loosely connected developers and their projects are coordinated to release software to a schedule. To better understand this process and its challenges, we analyzed over two and half years of communication in the GNOME ecosystem and studied developers’ interactions. Through a case study, we cataloged communication channels, determined the main channel from which we categorized high level communication and coordination activities spanning five releases, and triangulated our results by interviewing ten key developers. We found that a release schedule, influence (instead of direct control), and diversity are the main factors that positively impact the release process in the GNOME ecosystem. We report a set of lessons learned that encapsulates our understanding of how the Release Management process function in a FOSS ecosystem, we learned that: (1) ensure that the release team follows the main communication channels used by developers, (2) provide a common place for coordination for an ecosystem, (3) consider including both good technical and social skills in a release team, (4) aim for a diverse release team, (5) based on lack of power, lobbying and consensus based management must be followed, (6) help the release team in the coordination process with a well defined schedule, and (7) release team work is different from regular software work. Our results can help organizations build better large-scale teams and show that research focused on individual projects might miss important parts of the picture.

Highlights

  • Releasing a single software product is already challenging, but consider the challenges of releasing a complex product that consists of a multitude of independent software products

  • Communication and coordination is challenging in distributed teams, and since such distributed teams is the nature of many Free and Open Source Software (FOSS) projects [53] they offer a unique opportunity to further our understanding of release management in ecosystems

  • We empirically investigate in the complex phenomenon of the GNOME FOSS ecosystem by employing three theories that provide a lens for our inquiry: the media richness theory [14], the channel expansion theory [10], and the shared understanding theory [1]

Read more

Summary

Introduction

Releasing a single software product is already challenging, but consider the challenges of releasing a complex product that consists of a multitude of independent software products Each of these individual software products is Release management in such an ecosystem relates to both technical and social aspects of software engineering [15, 59] in a highly distributed setting [27, 30] and better understanding of this phenomenon is important both for closed and open source development. The interactions with external actors, or the inner ones, respectively Our research complements these works and is focused in the inner parts of a FOSS ecosystem, that is, an ecosystem “in-the-small”. A further study focused on the social aspects in FOSS ecosystems; in particular, the intersection of roles among developers and their activities. Developers might play multiple roles in a FOSS ecosystem, each role involves a set of activities and interactions with other developers that are needed to articulate the tasks in software development [49]

Objectives
Methods
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call