Remote work forced organizations to rethink how they support collaboration among teams and the tools required to facilitate remote team communication. But simply providing teams with collaboration tools isn't enough. Organizations must also tailor these tools to make collaboration between remote teams more efficient.
The book Remote Team Interactions Workbook by authors Matthew Skelton and Manuel Pais, published by IT Revolution, is a companion to their book, Team Topologies: Organizing Business and Technology Teams for Fast Flow. The book provides guidance on how to apply team topology patterns to define team interactions and create workflows to support remote team communication.
In this excerpt from Chapter 3 of Remote Team Interactions Workbook, Skelton and Pais explained how to define standards for chat tools, like Slack, to streamline workflows with channel names that identify teams, facilitate collaboration and provide boundaries for communicating about projects and processes.
Team-Focused Conventions for Chat Tools
There are many different chat tools available for remote-first working, and most organizations are using a chat tool (or several) these days. However, simply providing all staff access to a chat tool is only the first step in making remote-first working a success.
Too many organizations allow a kind of free rein within the chat tool, with little or no consistency about channel names, display names, the meanings of emoji, or even etiquette. This can rapidly lead to the chat tool becoming both essential to watch (in case you miss a vital message) and incredibly confusing and difficult to use.
For effective remote work, some chat tool conventions are needed. The virtual space inside the chat tool needs to be predictable and discoverable. Arbitrary channel names like #homepage_discussion, #increase-conversions, and #ninjas make it difficult to know where to go to discuss a topic. If this is combined with multiple private channels, finding the right people to speak to is a game of cat and mouse.
Instead, define a set of conventions that improve predictability and discoverability. For example, include the team name and type of team in the channel name for the team's main outward-facing chat channel.
- #streamteam-green: the public channel for the stream-aligned team "Green"
- #streamteam-blue: the public channel for the stream-aligned team "Blue"
- #platformteam-data: the public channel for the platform team "Data"
- #platformteam-infra: the public channel for the platform team "Infra"
- #enablingteam-k8s: the public channel for the enabling team "k8s"
The three team interaction modes from Team Topologies can help to further increase the clarity of purpose for teams working together.
- Collaboration: two teams working together for a defined discovery period to achieve a specific goal
- X-as-a-Service: one team provides something as a service, another team consumes
- Facilitating: one team helps another to detect capability gaps or increase skills and awareness
The Introduction and Chapter 4 of this workbook have more details on the three team interaction modes.
Furthermore, it can be hugely helpful to have channel names that make it clear where to get support or help for common or shared infrastructure or tools:
- #support-environments: the support channel for environments
- #support-logging: the support channel for logging
This makes it easy for people to "self-serve" and discover the best place to ask a question or ask for help. Once the channel is found, to facilitate X-as-a-Service interaction, consider adding bookmarks to the channel header that provide instructions on how to consume the services offered by the team. Most chat tools also provide a simple way to standardize the structure of requests coming into the team. For example, teams can use Slack Workflow builder templates.
Similarly, set some conventions around the display name that shows in the chat for each person. A display name of "Jim" or "sara_b" provides much less context than something like "Jim Ngo (Infra Platform Team)" or "Sara Brown (Green Stream Team)." With the more descriptive display names, we have immediate context for who a person is and how they are related to us in the organization.
For example, a stream-aligned team might be interacting with two other teams: a test automation enabling team (using facilitating interaction) and a face recognition complicated-subsystem team (using collaboration interaction). In this case, there would be two temporary chat tool channels that are named to clarify these interactions:
- #testautomation-facilitating-green: for communication between the test automation enabling team and the green stream-aligned team in the context of the facilitating interaction taking place
- #facerecognition-collaboration-green: for communication between the face recognition enabling team and the green stream-aligned team in the context of the collaboration interaction taking place
The channel names make it easy to discover where to hold discussions between the teams involved. The discussions in these channels relate only to the interaction between the teams involved, so the chat is focused and not "polluted" with other unrelated discussions.
Now Your Turn
Look at the channel names in the chat tool within your current organization and choose ten to twenty channel names as examples. How well do the channel names convey the purpose of the channel? What combination of information (such as team name, team type, and interaction mode) in the channel name would help to clarify the purpose of the channel? What channel names would make it easy to discover where interactions between two teams are taking place?
Use the Online Space Assessment template shown in the previous section or download at GitHub.com/TeamTopologies/Online-Space-Assessment.