There are two important things to consider when communicating with team members:
1. Minimize disruption
2. Include all relevant people and give them a chance to respond
We’ll look at those one at a time.
Before you reach out to someone – using any of the tools, you should consider if it’s likely to be disrupting them. Each tool has different potential to do that, for example an email can be sent and read at any time, while a Slack DM will likely require the person to shift attention right away.
Here are some guidelines:
• Realistic Expectations: Don’t expect an immediate response unless it’s an emergency. If it is, state that in the message so the person knows that their attention is required.
• Be Direct: If you are trying to contact a specific person, do so directly based on their preference (more on that later). Don’t post in a public channel and mention them if the message is only meant for them.
• Use the right tool: If you need input from several people, use Twist. If a conversation starts in Slack suggest that it moves to Twist or a Hangout if needed. It not only makes it easier to have the conversation, but creates less noise for other people who may not be involved. Also, if there is a non urgent issue that needs to be looked at, create a Jira ticket. Don’t DM someone instead in the hopes of having them look at it right away.
• Use the right channel: There are topic specific channels in Slack. If your question is for a specific team, use the channel for that team. Consider who is in the channel and if that is the best place to post it.
• Avoid @here, @channel, @everyone: Anything that will notify multiple people at once should generally be avoided. Unless there is an emergency there’s no need to notify everyone in the channel.
• Use @ sparingly: If you are referencing a person, don’t tag them unless you need them to see the message and give input. For example if you are telling one person that another one took care of something, there’s no reason to tag the person. Tag people if you are trying to bring them into a conversation or need them to see something.
• Check Slack Status: If someone has a Slack status set, try to avoid DM or tagging them. Also note if there is a phone next to their name, that means they are on a Slack call.
• Use Do Not Disturb: If you want to temporarily stop notifications, use Do Not Disturb to pause notifications for a set amount of time. This can be overridden by the sender if the message is urgent.
• Set Communication Preferences: As part of your Slack profile, list how you prefer to be contacted for non urgent issues. Also list a phone number so you can be contacted in an emergency. For now, we’ll use the “Skype” field in the Slack profile for that purpose since we don’t use Skype anyway. When contacting someone directly, try to make note of their preference.
• Keep the conversation where it is: Other than moving to a more appropriate tool, for example Slack to Twist for more in depth discussions, try to keep the conversation where it is. If you want to comment on a Jira ticket, add a note to the ticket. If it does get moved (for example to a Twist thread), try to update the ticket with any conclusions.
• Use reactions: Instead of posting “OK” or “Thank You” in a public channel, use reactions instead.
• Close Conversations: Twist has a Close Thread feature that can be used to signal when a conclusion has been reached. When closing a thread, summarize what was decided so it can be easily referenced in the future.
• Don’t post away updates: There’s no need to post when you are going to lunch or running an errand. If a specific team lead feels it’s necessary it should be done in that team channel, not in General. This can also be accomplished by updating status instead of posting a message.
• Group questions together: If you have a bunch of questions for another person, instead of asking them in Slack as they come up, schedule a time with them where you can go over all the questions at once.
Include all relevant people and give them a chance to respond
The downside to minimizing disruptions is that it can often mean not getting input from all the relevant people. For example, if you DM someone it doesn’t give other team members a chance to be involved in a conversation. Even when there is a conversation in a public channel, it can create pressure on some team members to respond now or lose the chance to give their input.
Here are some guidelines to avoid that:
• Involve all the relevant people: If you are having a conversation with one person directly, consider if the conversation would be better had in public so others can get involved. That can be in the form of a Hangout, a Twist thread or even Slack. Someone not being available at the current time, should never be a reason to exclude them from a decision. If someone is out that should be considered before making a decision. If you do have a one on one discussion and come to a conclusion – consider opening the conversation up to others.
• Use the right tool: As has been discussed, if you need input from multiple people about a specific topic, try to avoid using Slack. Twist allows the conversation to happen asynchronously and gives everyone a chance to participate.
• Allow time for conversation: Give enough time for all people to give their input without them feeling pressure to respond right now. If it’s time sensitive, call that out. For example, “we need to decide on this by tomorrow morning”. This way people know what is expected and can feel comfortable that their voice will be heard.
• Come to a conclusion: If you start a thread, you should also end it. When a decision is made, document the decision. That doesn’t mean that people can’t comment, but it makes it clear where things stand.