Coordination

Since we’re not necessarily physically co-located, we have to coordinate effectively and intentionally using a shared set of tools and processes.

Table of contents

  1. Asynchronous Work
    1. Documentation :notebook:
    2. Goals
  2. Communications Tools
    1. Slack
    2. GitHub
    3. Email
    4. Google Hangouts
    5. Team Specific Tools
  3. Ad-hoc Meetings
    1. How to Meet
    2. Meeting Outcomes
  4. Scheduled Meetings
    1. Team Standups
    2. Weekly All-hands

Asynchronous Work

Your coworkers are physically distributed, which means any one of them may be in a time zone where they will not even be awake when you are. This necessitates an asynchronous approach to workflows as tightly coupled workflows simply will not work efficiently in a remote work environment. Your work should rarely (if ever) require you to be in constant communication throughout the entire day with a particular person. Our asynchronous approach to workflows means we collaborate as though most action items will get an answer eventually, but not necessarily right this second. Your first choice of action should be to post a message or a document about what you need to explain or need to know. Others can read it on their own schedule, when the natural lulls of the day allow it, rather than being interrupted right in their peak flow time. You should be able to work effectively knowing that any of your co-workers may be offline, at any time, for any reason.

For some teams (e.g., customer support, compliance, safety checks, etc.) more coordination may be necessary and certain teams may need to be online at the same times. Coordination will be up to those teams to appropriately schedule and set clear expectations.

Documentation :notebook:

Since you may be working while your coworkers are not, it is vitally important to document everything. Documentation is so important we have included it in the Company Values. Documentation is a core foundation for efficient work; it allows for text-based, long-term communication. You should document:

  • Every project, noting the context and reasons for the project’s existence, status and ongoing roadmap
  • Every big decision, noting the context, considerations and reasons for the final outcome
  • The results of every meeting, noting next steps, action items and timeline
  • Postmortems, noting why something broke and what will be done to prevent a future recurrence
  • Anything else that needs to be communicated to co-workers (or even yourself) at a later date

Documentation should live in these places:

  • This handbook
  • Documents in the appropriate Google Shared Drive
  • GitHub comments for repositories / projects that live there

These locations do not count as documentation:

  • Slack conversations (they expire and are deleted after a short retention period)
  • Email conversations (people who are not on the chain will not have access to it)

Goals

Goals are an important part of our measurement and tracking value. You and your manager will agree on personal goals for you, your team and department each have goals, and the company as a whole has goals. Every goal should be:

  • Measurable - you can’t fix what you can’t measure
  • Attainable - ideas are a dime a dozen, we focus on outcomes.
  • Valuable - they should help the company move forward in a meaningful way
  • Monitored - ideally, in our Looker instance

One of the ways everyone can maintain individual agency is by ensuring there is accountability at every level to set and then deliver on goals.

Communications Tools

Since we’re working asynchronously, we need the ability to effectively communicate without relying on lots of meetings. We use each of the following to aid in our communication.

:warning: Warning: You should never use SMS for business communication, even with colleagues.

Slack

Our Slack workspace is one of the main ways we communicate. In general, we prefer:

  1. public channels over private ones - people should be able to pop in to see what a team is working on or get up to speed when joining a new project. Public channels are also searchable by anyone.
  2. topic channels over water cooler channels - by sticking to the topic and purpose of a channel, you give people the ability to join only the channels that are relevant to their work. Don’t talk about puppies in the #looker channel, use the #puppies channel for that :dog:
  3. very selective use of @here and @channel

GitHub

GitHub is used to version all of our product code, technical documentation and other text-based projects like this Handbook. In general, projects should be public (like this Handbook) unless they are confidential.

Email

Email is a last resort for internal communication (though often the only choice for external communication).

Google Hangouts

Google Hangouts is our preferred video chat service (other than Slack calls for scheduled meetings). Please avoid Zoom if you can.

Team Specific Tools

Some teams use tools unique to their processes. For instance, the product team uses Shortcut for project management, and the sales team uses Salesforce to keep track of the status of their work.

Your team may use these tools in whatever way leads to the greatest productivity, though you should make sure to document your team’s process.

Ad-hoc Meetings

Ad-hoc meetings can be useful in certain cases to move a project forward, address a blocker or resolve a miscommunication. Meetings should not be called to share information (since you should do that with documentation).

Note: Try to avoid ad-hoc meetings. If one is absolutely necessary, make attendance optional for as many people as possible.

How to Meet

Every meeting should:

  1. Put all participants on equal footing
  2. Avoid “hybrid” calls, with some participants in one room and others remote (in that case, everyone should be in a Hangout).
  3. Avoid bias for one time zone. Schedule in a way that accounts for all participants.
  4. Be scheduled with as much notice as possible (using a Google Calendar invite).
  5. Start on time and end on time.
  6. Have a link to a Google Doc agenda in the calendar invite.
  7. Include live note-taking within the agenda rather than using a separate “notes” section.
  8. Include a section in the agenda for outcomes - complete with next steps and who has agreed to do what.

Meeting Outcomes

If you’ve followed the above guidelines, you should have a Google Doc, complete with the agenda filled out, inline notes and an “Outcome” section by the time the meeting ends. This document should live in the appropriate Shared Drive on Google Drive so that everyone who needs to access (or search) the document in the future can.

Scheduled Meetings

Regularly scheduled meetings have specific, on-going purposes. A team’s regularly scheduled meetings should maintain work momentum and strengthen relationships between team members.

Team Standups

Teams should generally have a “standup” meeting each day. Team members should share what they did the previous workday, what they intend on accomplishing for the current day and any blockers to their work in a team standup Slack channel before the meeting. The standup meeting can then consist solely of talking through blockers, considering the remaining week’s goals and sharing any immediate questions.

Weekly All-hands

The weekly all-hands meeting is a chance for company leadership to share company updates and take questions from anyone. There may be presentations from teams to share details of their particular work or recent projects.