Skip to main content

A functioning remote team doesn't happen by accident

Remote work is when the client and the team are in different locations, either the team is in another thoughtbot office from the client or team members work from a different location for the duration of the project.

Remote workshops and kickoffs

At the beginning of a remote engagement, when possible, everyone should meet in person for at least one work week. This is useful in order to get to know the team members better and to develop relationships, which will make it easier to communicate through asynchronous channels in the future.

When this isn't possible we facilitate remote workshops with the same objectives of building team understanding and developing relationships.

Well-defined roles and workflows

At the beginning of the project define who handles which role, and how to communicate amongst the team. For example, decide whether standups will be done via group chat messages or via voice or video call.

If part of the team is remote, the whole team should work as if it were remote. We should over-communicate. Major decisions regarding the project must be documented online in a medium everyone is aware of and able to contribute to. This means that all project-related communication should be done in asynchronous channels that we already use, such as GitHub, Trello, Basecamp, and Slack. The only workflow difference using these tools when doing remote work is that we communicate all important information asynchronously, so that everyone stays informed.

In person communication during a project usually includes frequent updates on current work and various social interactions. The chat room should be the space where we communicate, so that no one feels left out, especially team members who work remotely.

Team members should also be conscious that asynchronous communication means that sometimes the other person is not immediately available to respond, and not expect them to. Furthermore, online communication lacks the non-verbal visual cues such as voice tone and inflection, facial expressions, and body language. We should be more careful in the language that we choose to use. A good reference is our existing code review guide.

Feeling isolated

When working remotely, especially when alone, it is easy to forget how it feels to be immersed in team camaraderie. Video conferencing helps alleviate this feeling as well as occasional visits to the office, or working from a co-working space.

Work hours

We should try to have 4-6 hours (with consideration of time differences) in the work day that overlap between locations to allow for synchronous communication.

For some people, it is sometimes difficult to disengage from work when working at home. Also, flexible hours means that sometime one may work non-traditional hours in the day. We should be conscious to keep to a sustainable pace and take a break away from work.

Remote meeting tips

  • Encourage everyone to mute by default. Unmute when you talk. This avoids background noise and respects others when they are speaking.
  • Encourage “pop-corn style” standups: after finishing their standup, the person who just went calls out who should go next. This avoids waiting while everyone wonders who’s going next.
  • Look at your camera, not at your screen. This is particularly important if you have more than one monitor. Looking at your camera helps others feel like you’re actually paying attention to them.

And just because the meetings are remote, it doesn’t mean we can’t follow regular meeting guidelines.

Tools

Good tools for remote teams are:

  • tmate or Tuple and Vim or Emacs, since they require very little bandwidth and do not lag. Another channel will be needed for voice/video communication, such as a Hangout or Skype.
  • Figma for collaborative design and communication.
  • Miro and MURAL for collaborative whiteboard like space.
  • Screen sharing in Slack when you need access to other software like the web browser.

Hire us to help you build a great application

This site uses cookies. Learn more by visiting our privacy policy.