Effective Communications in a Distributed Environment with Remote Teams

We are a distributed team which means that communications can be challenging. Through the years we’ve used many tools to improve and facilitate communications, but sometimes we have so many that we either overuse them and/or use them ineffectively.

This causes two main problems:

  1. The person you’re contacting gets unnecessarily interrupted, meaning they’ll lose focus on their task and might take more time on it.
  2. Task requirements and statuses fall through the cracks.

Below you will find a guide of which tools to use and when to use them to communicate effectively with the team. For semantic purposes, by communication we mean all type of communications, including how we document requirements, task status, KSRs.

  • Use Phone/Cell Phone to reach somebody to communicate critical messages
  • Use Gmail only for client communications
  • Use Slack for poking people or supporting conversations not related to requirements
  • Use JIRA for communications about tasks
  • Use Confluence for documentation
  • Use Zoom or GoToMeeting to go over requirements
  • Use Hangouts when GoToMeeting or Zoom are not available
  • Use Google Drive to store documents

Use Phone/Cell Phone to reach somebody to communicate critical messages

When calling someone on their phone/cell phone there’s a greater chance that they’ll answer, but it also means that there’s a greater chance you’ll interrupt them. So, use the phone only for the following:

  • contact somebody in the team about something really critical
  • quickly reach the client to ask a question

Use Gmail only for client communications

Our email accounts are usually filled with subscription or notification emails, so it’s not the best way to communicate with the team since messages can get lost in the scenery.  Email should only be used to send messages to the client.

Use Slack for poking people or supporting conversations not related to requirements

At first, Slack seems like just another chat tool, but it offers a variety of integrations that can help with our day to day tasks. However, we need to be careful of how often we use Slack to communicate, since it can easily become a distraction for team members. It’s also easy to end up casually discussing important task details and requirements on Slack with the team, but it’s hard to keep track of those once the subject is buried under new conversations. For this reason, here is a list of what Slack should mainly be used for:

  • poke people, to draw the attention about something important
  • support conversations in written between the team, when this is not related to requirements.
  • notify general matters not related to tasks
  • get notifications from 3rd party systems, using different channels

Use JIRA for communications about tasks

JIRA should contain reports, status and conversations about tasks we’re working on. Use this system to:

  • specify requirements in written
  • document conversations about tasks
  • send status reports about tasks

Use Confluence for documentation

Confluece is great to store documentation of projects. Use this system to:

  • document projects
  • document sprints
  • document standards and procedures
  • document how to do things
  • Save KSRs

Use Zoom or GoToMeeting to go over requirements

GoToMeeting and Zoom are great conference platforms to share screens and host meetings. It offers great screen sharing resolution. Use this system to:

  • To go over requirements
  • To run sprint plannings
  • To run demos
  • To run KSRs
  • To pair program
  • To pair review

Use Hangouts when GoToMeeting or Zoom are not available

Hangouts doesn’t offer good resolution for screen sharing but it can be used to host meetings informally when they don’t need to be recorded, like:

  • pair program
  • pair review

Use Google Drive to store documents

  • To store meeting recordings
  • To store all the documents about projects
  • To collaborate on documents