Joe Ray

Software and Infrastructure Development.

Remote working: tools and tips

This is a draft post. Please do not share widely until this message has disappeared.

Over the past six months or so, I’ve been working in a team that’s almost entirely remote. Working in a team that is at least somewhat remote seems to be an increasingly common pattern in ThoughtWorks so it’s something that’s being discussed more.

There’s been a lot of useful discussion on how to make it successful. Here are some of the highlights.

Meetings

Retros/Workshops

We love using stickies in meetings at ThoughtWorks and you don’t have to go far on the ThoughtWorks website to find this out!

There are some tools which attempt to recreate this digitally.

  • funretro.io and Ideaboardz: Used by lots of teams to facilitate remote retros.
  • RealTimeBoard: Recommended by many teams, allows more flexibility than tools dedicated to retros, for example to draw circles around groups of stickies etc.
  • Mural: An alternative to RealTimeBoard.
  • Google Docs/Sheets: My team uses Google Docs to facilitate retros at the moment which works pretty well. Andy Yates also suggested using Google Sheets for workshops where each cell could represent a place to put a sticky. We tried Google Draw but it was too clunky to be useful in the context of a retro.

Diagramming

You don’t have access to a whiteboard when you’re all remote so here are some suggestions for alternatives:

  • Some video conferencing software (e.g. Zoom) allows drawing on shared screens for quick collaborations.
  • Jim Barritt had success sharing Omnigraffle over video conferencing software when needing to explain things.

Audio/Visual

Accessibility

Some tips were about how to make remote working accessible to those with hearing impairments but really, given how difficult it can sometimes be to follow what people are saying on video conferencing calls, these apply to anyone:

  • Don’t allow more than one person to talk at once.
  • Encourage people to screen share and use diagrams, charts, documents etc. to back up what they are saying.
  • Ask people to send links to supporting materials (diagrams, docs, etc.) in advance of the meeting and then refer to them during the call.
  • Ava and Google Docs text-to-speech can be used for doing text-to-speech in real-time, though experiences with this were mixed.
  • Take minutes for meetings (using a Google Doc means it can be real-time and people can follow along).

Audio

It was universally agreed that good headsets are a must. As Korny Sietsma put it, “I think having a boom mic is quite critical - no amount of smart technology can quite compare with just putting a small microphone quite close to your mouth.”

Some recommendations were:

  • Jabra UC Voice 550 Duo.
  • Gaming headsets, e.g. HyperX HX-HSCS-BK/EM.
    • Often these will have features such as raising the mic to mute.
  • Jabra speakers are good when you have some members of the team clustered around the same laptop, but only when you’re in a quiet room.
  • Directional (karaoke-style) mics were recommended by one colleague for groups of people as it forces people to speak one at a time and only the person with the mic can speak.
  • krisp.ai: Some reported installing this improved sound quality, but someone else found they experienced a lot of cut-outs when they did and had to revert.
  • Push-to-talk features of video conferencing software are useful to prevent background noise from leaking in when you’re not talking, though as Korny said, “you’re on mute” must be the most common phrase in video conferencing meetings. Shush provides the same functionality on a Mac but system-wide.

Pairing

I love pairing but doing it remotely can be a challenge. There are a couple of tools we’ve come across to help:

  • Slack has good screen-sharing capabilities and allows others to control/draw on your screen.
  • Zoom/other video conferencing software can also be used for this.
  • Some were suggesting using the collaborative features in Visual Studio Code.
  • For remote pairing in a terminal environment, tmux can be used to allow two or more people to connect to the same session. tmate helps with the setup of this.

Dealing with Problems

Technical problems can really hamper remote teams.

  • One important point, highlighted by Clare Sudbery, was that “people will just put up with remote communication problems when they shouldn’t, so anticipate that and be deliberate and proactive about addressing issues with hardware, software and connectivity. Put time aside to triage any problems as a matter of urgency and be prepared to be quite pushy about demanding investment and support in decent tools to facilitate remote meetings.”
  • If you do encounter problems, having an alternative channel such as the chat window in your video conferencing software, the team Slack or a Google Doc, can help mitigate them. (See also the Accessibility section above.)

Culture

The team culture is really key in making a remote team successful. There are a number of aspects to this:

  • If even one person is remote, everyone should be remote (use headsets, even be in separate rooms).
  • Invest in building relationships with remote team members:
    • Make sure that the team meets regularly in person.
    • Try and also meet in person when new people join/at the start of the project.
    • ‘Water-cooler’ conversations have to happen intentionally. You could e.g. have a rule where the first ten minutes of every meeting is officially set aside for non-meeting-related chat.
    • Check in and out in your team chat when you arrive at/leave work.
  • Where a significant part of the team is co-located, or there are multiple teams in different locations, you could try having big TVs set up by the team(s) with webcams and mics. This allows you to see the other groups of people working, and if you have an impromptu question you can walk up and use the mic to get the other location’s attention.

Contact Me

I love a good conversation! E-mail me (encrypted if you want) or find me on Twitter, LinkedIn and GitHub.