In a distributed team, the importance of communication can not be overstated. Working together over a distance has its downsides, its most significant a lack of information due to under-communication. That's why we encourage you to over-share! That's why we encourage you to over-share!

Make an effort to over-communicate. We can filter your stuff but we can't read your mind.

For us as a distributed team, the difference between synchronous communication (everyone takes part at the same time) and asynchronous communication (everyone adds to the conversation in their own time) is hugely important. Both modes have their pros and cons:

Synchronous mode:

  • real-time discourse

  • more conversational

  • allows picking up nuances and body language

  • non-native language might constrain verbalisation

  • encourages quick thinking

  • less cautious

  • higher connection bandwidth requirements

  • minimises the "frustration of waiting"

  • fleeting - points may get lost if not immediately picked up on or written down

  • may require preparation

Asynchronous mode:

  • allows "thinking time" for careful formulation of ideas; leading to better quality and greater depth

  • might also lead to greater cautiousness

  • more flexible, less constrained by schedules or timezones

  • self-documenting, allows revisiting of points

  • easy sharing of resources relevant to discussion

  • not affected by temporary connection issues

  • equal chance to participate, regardless of assertiveness/confidence

  • knowing that others are waiting for your contribution can be motivating

Like a lot of companies with remote workers, we found that we need rules and conventions for using the right communication tool at the right time. Not having a balance between the attributes listed above can quickly frustrate or overwhelm people. We've distilled our experiences into the aspects explained below.

Communication scenarios

Internal communication

Most of our internal communication happens on Slack. It lives up to its promise of eliminating a great deal of email, mostly thanks to the simple separation of topics into channels and the many integrations with external services.

On topics of importance, we prefer asynchronous communication in the context of the particular topic over just starting a chat conversation. We used to use Google Groups and Asana for this but have since moved on to Discourse.

We use Slack for internal face-to-face conversations and team discussions as well. Compared to other solutions, we found that Slack offers the best audio quality; it even deals well with multiple people speaking at the same time.

For workstation support and pair programming, Screenhero is our tool of choice. The service has been acquired by Slack and recently integrated as its screen sharing feature.

Status updates

In a Results-Only Work Environment, one of the most important things is sharing your progress and status. In the #direct channel on Slack, you can quickly share your progress, thoughts and experiences.

The channel name DIRECT is a mnemonic for things to write about:

  • Decisions: Did you make a choice that will affect others on the team?

  • Insights: Have you learned something new?

  • Results: Did you reach an important objective?

  • Emotions: Is there something that's making you happy? Sad?

  • Contacts: Did you get in touch with someone who could influence our business?

  • Troubles: Do you have an issue you could use some help with?

We highly encourage responding to results posted by teammates. To keep the #direct channel clean, we ask you to limit your in-channel reactions to emoji. If you'd like to respond to a post, use the thread feature.

BTW: If you have learned or built something that might also be of interest to customers or other professionals outside the company, consider writing a post about it on our blog!

Communication with people outside the company

External communication still happens mostly over email, and we use Google Mail and Google Groups.

For external calls and presentations, we use Zoom or Skype.

Scheduling calls

Scheduling calls is easy via Google Calendar (internally) and Calendly (externally).


A scheduled call is expensive; it costs the participants time for preparation and attendance, and it keeps them from doing other work. Please consider the following aspects:

  1. Do we really need to talk? Scheduled calls are not for information sharing — that should be done asynchronously.

  2. Who really needs to take part in this discussion?

  3. Schedule a start, not an end – its over when its over, even if that's just 5 minutes.

  4. A call invitation is only valid if it comes with an agenda describing one or more specific goals.

  5. Be on time!

  6. If you're not getting anything out of the discussion, leave.

  7. Agree upon action items, if there are any, at the end of the call.

  8. Don't feel bad about calling people out on any of the above; it's the right thing to do!

Selecting the right communication medium

Here we describe common situations and the most appropriate medium we use to resolve them. When in doubt, use common sense.

I need to pass non-urgent information to one or more persons and don't expect feedback.

  • If the information is of a short-lived nature, post it to a Slack channel. See also the "Status updates" section.

  • Otherwise post it to a Team Conversation in Discourse.

I need to pass non-urgent information to one or more persons and get their feedback.

  • General: Start a Team Conversation in Discourse.

  • In the context of a project: Leave a comment in the relevant Asana project/task.

I need to pass information to one or more persons and get their feedback quickly.

  • @-mention individual persons or address the whole group via @here on the appropriate Slack channel. We expect each other to respond before the end of their work day.

I need to preserve non-urgent email for later search.

  • Send/forward the email to an archive group in Google Groups. For maximum transparency, we recommend using these archive groups as a BCC recipient in all external email communication.

I need to get immediate response on an urgent matter.

  • @-mention individual persons or address the whole group via @here on the appropriate Slack channel. Preface your post with "URGENT:".

Town Hall meeting

Once a week, we have a company-wide video call called "Town Hall". This call has the purpose of getting the whole team up-to-date with what's happening at freistil IT:

  • Recent business achievements and failures

  • Important events

    • Changes to processes

    • Employee birthdays, anniversaries and other news

Town Hall is also a great opportunity to ask questions and announce things that are relevant for the whole company. You can find the agenda for upcoming Town Halls on Asana, and we encourage you to add your own agenda items!