The users of an InnerSource project have trouble getting help and getting in touch with the host team. By consistently using asynchronous communication tooling, the project makes discussions visible, archived and searchable, leading to an improved level of support for users.
A team is open to receiving contributions from downstream users of their component. Coordination and communication happens in an ad hoc fashion though leading to incoherent information being shared, delays in answers received, contributors pinging multiple host team members before receiving a definitive answer.
- A team depends on another team's component.
- It would like to make contributions to that component.
- Even when it happens in writing, communication happens in a 1-on-1 fashion.
- The host team is interested in receiving contributions and willing to mentor contributors.
- Teams have a strong verbal communication culture and are inexperienced with setting up project specific asynchronous communication channels.
- Communication channels may be aligned with specific groups that should be reached but not by communication purpose.
The host team should provide company-public, archived, searchable, linkable communication channels that anyone in the company can subscribe to, as there are measurable benefits to supporting open, written communications channels.
The goal when streamlining communication channels for InnerSource projects should be to align communication around topics, not around certain sets of people.
A project should set up the following communication tooling:
- 1.a dedicated issue tracker where structured communication, decision-making and progress tracking can happen transparently for all host team members but also for downstream users and contributors to follow. For further applications of the issue tracker see Issue Tracker Use Cases.
- 2.public discussion channel(s) that come with less rigid a structure. Typically, this will be mailing lists, online forums, Q&A systems or even archived chat channels. Usually it is enough to start with just one channel for the project. If traffic increases too much it is helpful to split discussions about project usage from discussions about project development.
- 3.a private channel where communication about sensitive topics can happen between Trusted Committers - e.g. adding further Trusted Committers to the host team. This channel should be used with great care such that communication defaults to open and is kept private only under very rare circumstances.
While communication can happen outside of those written channels, as much information as possible should be brought back to the asynchronous channels.
The host team members need to make an effort to direct questions that they receive personally (e.g. via email or private chat messages) back to official communication channels.
Recommended Communication Tooling for an InnerSource Project
With communication happening in the open others can easily follow project progress and get active contributing. Others lurking and reading lowers the barrier to get involved raising the likelihood of receiving contributions.
With questions being answered in public more people can add their perspective leading to a complete picture - this includes not only host team members, but also users of the project.
Keeping communication in asynchronous channels allows for participants on different schedules - either due to different time zones or due to different routines, meeting schedules, team routines - to meaningfully contribute to the project.
Answering questions in those channels means that not only other team members can listen in and provide additional information, it also means that other users with the same question see (or later find) the previous answer leading to a lower need to repeat explanations.
- Europace AG
- Paypal Inc.
- Mercado Libre
Sebastian Spier (for the visual)
- Drafted in December 2019.