Communication and Coordination for release management in software ecosystems

Recently, I had an opportunity to work with German, Leif, and Daniel on a very interesting study of the Gnome FOSS Ecosystem. We were interested to understand how release managers coordinate a shared release of a set of interrelated projects within the Gnome Ecosystem. In particular, we investigated:

  • Communication channels used…
  • How developers communicate and coordinate…
  • The key actors, the key tasks, and the most pressing challenges…

With respect to release management in the Gnome FOSS Ecosystem.

What I personally found most interesting are implications for coordinating activities across an ecosystem. In our case, release managers did not exhibit concrete power over developers. They could not just make people do things. This reminds me of some systems and systems as well as ecosystems that I see emerging in industry, where again it is not always clear who has the main responsibility.

In such a situation, our lessons learnt relate to soft factors more than technology. Specifically, we derive the following recommendations from our case study:

  1. Ensure that the release team follows the main communication channels used by developers. The release team needs to be in touch with the developers. IRC channels and face-to-face meetings in developer conferences were highlighted in our case study.
  2. Provide a common place for coordination for an ecosystem. In a globally distributed and multi-cultural environment, we found an asynchronous, global mailing list ideal, when complemented with individual, direct communication (face-to-face or IRC) with developers.
  3. Consider including both good technical and social skills in a release team. In short, technical skills are necessary to earn the respect of developers and to communicate with them, social skills are crucial to convince them to perform necessary actions.
  4. Aim for a diverse release team. Successful release managers can be seen as representatives of the different parts of the ecosystem. A good release team should mirror the diversity of its ecosystem.
  5. Based on lack of power, lobbying and consensus based management must be followed. A release team is well advised to keep close to key influencers in the ecosystem.

 

The Journal of Internet Services and Applications has accepted this work and published it open access.

author Germán Poo-Caamaño and Eric Knauss and Leif Singer and Daniel M. German
title Herding cats in a FOSS ecosystem: a tale of communication and coordination for release management
journal Internet Services and Application, 2017, 8(12), 1-24
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.
doi 10.1186/s13174-017-0063-2
keywords release management, software ecosystems, empirical study
Advertisements

Continuous clarification and emergent requirements flows in software ecosystems

I am very happy that Springer’s Requirements Engineering Journal has accepted our paper on continuous clarification and emergent requirements flows in open-commercial software ecosystems (open access to paper). This paper was joint work with Aminah Yussuf, Kelly Blincoe, Daniela Damian, and Alessia Knauss.

For me, the highlight of this paper is the visualization of emergent requirements flows throughout the ecosystem (see Fig. 1) as well as an analysis of the impact these emergent flows have with respect to our previous works on continuous clarification and RE in software ecosystems.

ecosystem

Fig. 1: Emergent communication across product teams and ecosystem actors. Size of nodes depicts number of emergent contributions by this stakeholder, color of links depicts comment type (yellow = requirements negotiation, green = coordination, brown = information).

Title: Continuous clarification and emergent requirements flows in open-commercial software ecosystems (open access to paper)

Abstract: Software engineering practice has shifted from the development of products in closed environments toward more open and collaborative efforts. Software development has become significantly interdependent with other systems (e.g. services, apps) and typically takes place within large ecosystems of networked communities of stakeholder organizations. Such software ecosystems promise increased innovation power and support for consumer-oriented software services at scale and are characterized by a certain openness of their information flows. While such openness supports project and reputation management, it also brings requirements engineering-related challenges within the ecosystem, such as managing dynamic, emergent contributions from the ecosystem stakeholders, as well as collecting their input while protecting their IP. In this paper, we report from a study of requirements communication and management practices within IBM®’s Collaborative Lifecycle Management® product development ecosystem. Our research used multiple methods for data collection, including interviews within several ecosystem actors, on-site participatory observation, and analysis of online project repositories. We chart and describe the flow of product requirements information through the ecosystem, how the open communication paradigm in software ecosystems provides opportunities for “just-in-time” RE—and which relies on emergent contributions from the ecosystem stakeholders—, as well as some of the challenges faced when traditional requirements engineering approaches are applied within such an ecosystem. More importantly, we discuss two tradeoffs brought about by the openness in software ecosystems: (1) allowing open, transparent communication while keeping intellectual property confidential within the ecosystem and (2) having the ability to act globally on a long-term strategy while empowering product teams to act locally to answer end users’ context-specific needs in a timely manner. A sufficient level of openness facilitates contributions of emergent stakeholders. The ability to include important emergent contributors early in requirements elicitation appears to be a crucial asset in software ecosystems.

Keywords: Requirements engineering; Software ecosystem; Mixed method

Reference: Knauss, E., Yussuf, A., Blincoe, K., Damian, D. and Knauss, A.: Continuous clarification and emergent requirements flows in open-commercial software ecosystems. In: Requirements Eng (2016). doi:10.1007/s00766-016-0259-1

Herding Cats: Release Management in an Open Collaboration Ecosystem

Next week we will present our work on Release Engineering in the GNOME ecosystem at OSS conference in Gothenburg. This is joint work driven by Germán Poo-Caamaño, in collaboration with Leif Singer and Daniel M. German about release engineering, a growing field of interest within software engineering. We found the GNOME ecosystem particularly interesting to investigate, since such an open source ecosystem has different power structures than a software product within a company. Yet, we hope that our findings are relevant for software ecosystems in general, where the end-product is a combination of software products and services from different ecosystem actors. Especially ecosystems that are not dominated by one particular coordinator or platform owner could benefit from our findings on how GNOME release engineers interact with developers.

Title: Herding Cats – A Case Study of Release Management in an Open Collaboration Ecosystem

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 need to be 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. We cataloged communication channels, categorized high level communication and coordination activities in one of them, and triangulated our results by interviewing developers. We found that a release schedule, influence instead of direct control, and diversity are factors that impact positively the release process in the GNOME ecosystem. 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.

Reference: Poo-Caamaño, G.; Singer, L.; Knauss, E. & German, D. M.: Herding Cats: A Case Study of Release Management in an Open Collaboration Ecosystem. In: Proceedings of 12th International Conference on Open Source Systems (OSS 2016), 2016

Pre-print: PSKG2016.pdf

Continue reading

How does the AUTOSAR Ecosystem Impact Requirement Engineering?

AUTOSAR aims at facilitating reuse of standardized software components in automotive software development. For this, it defines three layers: the application components (with standardized interfaces between components), the (standardized) runtime environment, and the basic software (which abstracts the hardware and contains the driver modules). Despite this standardization, the combination of application components, runtime and basic software should still offer differentiating functionality for cars. In an exploratory study, we found this situation challenging for Requirements Engineering practice, where standard requirements implied by the AUTOSAR standard should be treated differently from OEM specific requirements targeted towards differentiation or innovation features.

We will discuss our preliminary findings at the 23rd IEEE International Requirements Conference 2015 in Ottawa, Canada during the poster and tool demo session as well as our method in the 5th IEEE International Workshop on Empirical Requirements Engineering.

Continue reading

Towards Enabling Cross-Organizational Modeling in Automotive Ecosystems

This summer, I visited Canada as an international collaborator of NECSIS (Network for the Engineering of Complex Software-Intensive Systems for Automotive Systems) with the goal to identify synergies between my involvement in software center projects with Swedish industry (especially the Ecosystemability Assessment Method). We found that to a large extent partner industries of the NECSIS project recognize the same opportunities and challenges as Swedish industry, when it comes to engineering tomorrow’s complex software-centric systems.These stem in particular from the fact that development will increasingly be distributed over several organizations and that reliability and efficiency of development needs to be addressed across organizational borders. We will present preliminary results and future plans this week in the context of this work at MD2P2 Workshop at MoDELS 2014. Continue reading

Requirements Engineering and Software Ecosystems: Preprints for RE’14

Today, RE conference in Karlskrona is starting with a great set of excellent workshops and tutorials. For me and my research, the RE is the most important conference. Therefore, I am extremely happy to present two pieces of recent work: A research paper on Openness and Requirements: Opportunities and Tradeoffs in Software Ecosystems, where we investigated how professionals in product teams of the IBM CLM Ecosystem are affected by the complexity of software ecosystems in their daily work. And a poster on EAM: Ecosystemability Assessment Method, where report on developing a framework that allows organizations to setup their development environment and architecture in a way that optimally supports the vision of a software ecosystem. In this post, I share pre-prints of both papers.
Continue reading