Communication Guidelines | ShipHero
ShipHero Communication Guidelines
This document is meant to describe guidelines for how we communicate with each other. It will describe the tools we use as well as how we use those tools. It will also give suggestions on best practices when communicating with others on the team. This is and will always be a work in progress, we will update it periodically as we use new tools and based on what we learn.
Summary (aka TL;DR)
Asynchronous Communication
Use asynchronous communication over real-time by default.
Responsiveness ≠ Performance
People’s speed of responsiveness is not a measure of their individual performance.
Prioritize Deep, Uninterrupted Work
It is a core goal as a company that in general people have frequent long stretches of uninterrupted time at work.
Twist as the Central Hub
Our most important conversations happen in Twist, it’s the only place where we assume everyone will have read over the course of a few days.
Communication
Why is this needed?
As a remote company, the way we communicate is different than it would be if we were all in an office. We don’t run into each other in the hallway or meet by the water cooler. When we do need something it’s hard to know if a person is busy or on a call. This is becoming more common and we’re part of a growing number of companies grappling with this issue. Getting interrupted while focusing on something has a heavy cost. That gets multiplied for example when a whole Slack channel gets interrupted. We’re trying to find a way to balance that with the cost of lack of communication, we don’t want people losing focus, but we also need to keep the lines of communication open.
The tools we use
In order to talk about communication we first must look at the tools we use to communicate. Each tool has its advantages and disadvantages and how we use them has a big impact.
Slack
Slack is currently the most popular way in which we communicate. It also has the most potential to be disruptive. It’s great for short conversations with a limited group of people, but makes asynchronous conversations very hard to manage.
Twist
Twist works well in conversations that require multiple people and will go more in depth. Separating conversations into their own topic allows it to take place without interfering with other conversations and makes it easy to add other people if needed. However for quick questions or short discussion it can feel like there’s too much overhead to use it.
Terrible for real-time communication and not ideal for conversations with multiple people, but good for things that are only for one person and don’t need an immediate response.
Meet
Meet is used for video calling multiple people. Most of our daily/weekly team calls use Meet.
Jira
Engineering ticket system. Leaving comments and tagging people can be used to communicate with something working on the ticket.
Phone
Not frequently used, but phone/text messages can be used to get in touch with people if the matter is urgent.
Fax
Not even once.
Guidelines
There are two important things to consider when communicating with team members:
- Minimize disruption
- Include all relevant people and give them a chance to respond
Minimize Disruption
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.
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. 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.
- 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.
- Avoid @here, @channel, @everyone: Anything that will notify multiple people at once should generally be avoided unless it’s an emergency.
- Use @ sparingly: If you are referencing a person, don’t tag them unless you need them to see the message and give input.
- Check Slack Status: If someone has a Slack status set, try to avoid DM or tagging them.
- Use Do Not Disturb: If you want to temporarily stop notifications, use Do Not Disturb to pause notifications for a set amount of time.
- Set Communication Preferences: As part of your Slack profile, list how you prefer to be contacted for non-urgent issues.
- Keep the conversation where it is: Try to keep the conversation where it is. If you want to comment on a Jira ticket, add a note to the ticket.
- Use reactions: Instead of posting "OK" or "Thank You" in a public channel, use reactions instead.
- Close Conversations: Signal when a conclusion has been reached.
- Don’t post away updates: There’s no need to post when you are going to lunch or running an errand.
- Group questions together: Schedule a time with the person to go over all questions at once.
Include all relevant people and give them a chance to respond
Here are some guidelines to avoid excluding others:
- 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.
- Use the right tool: If you need input from multiple people about a specific topic, try to avoid using Slack.
- Allow time for conversation: Give enough time for all people to give their input without them feeling pressure to respond right now.
- Come to a conclusion: Document the decision when made.
Tips
Slack
- Set a status to let people know if you are not available.
- Use Do Not Disturb to avoid all notifications (other than urgent ones).
- Use the “All Unreads” section to quickly review your unread messages.
- Customize your notification preferences to specify how you want to be notified.
Twist
- Snooze notifications when you do not want to be disturbed
- Use the Time Off feature if you are away.
- Use Email notifications to get a summary of activity instead of desktop notifications which can be disruptive.
- Close conversations when they are done.
- Add Channels for different teams or topics.
- Customize your notification preferences to specify how you want to be notified.
- Notify only the people who are relevant to the conversation.