For the past year or so, I’ve been working with Eric Dye on revamping a theme that he’s been selling for sometime. The gist of the theme is content for another post, but one of the things that has been the most important, in my opinion, in our collaboration is making sure that we’re balancing our discussions via text and chat with voice and/or video calls.

This is me "collaborating."

This is me “collaborating.”

This is also true for how I balance my time with Envato, and how I balance my time with my team at Pressware. Some of the time, we use tools like Slack to stay in touch, other times we use tools like Google Hangouts or Skype or conference calls via cell phones to have our voice chats.

The point that I’m trying to make is that for as much of a fan as I am of distributed teams, and as much as I believe that they can – and do – work (though I think it requires a certain personality type to make it work successfully), I think it’s important for those who are considering doing any kind of remote work to distinguish when it’s best to chat – which is using text – when it’s best to use voice  which is obviously using the phone or something similar – and when it’s best to use a hybrid such as Hangouts or Skype.

To be clear, I’m not saying that it’s required to be all or nothing because I have seen teams work 100% distributed via chat (but more on this in a minute), but given the option between having to go 100% chat and being able to use a hybrid of the two, I choose the latter.

So when it comes to talking about decisions related to business, to code, and to everything in between, these tend to be my rules of thumb.

I’m not saying these are prescriptive, but this is what has worked for me:

  • When I’m talking about specific modules of code, chat works best. It’s far easier to read and comment about code in a chat room or text message than it is via voice. Sure, you could do this via voice and chat, but I think it depends on the volume of code you’re talking about.
  • If you’re talking about a relatively small module of code, then using chat is fine; however, if you’re talking about the system at a more abstract level when you’re referring to various, say, moving parts, it’s easier to talk about it via voice. Sometimes the hybrid approach can come in handy here, but if everyone is clear as to the role each object or function plays in the overall context, voice works fine.
  • If you’re talking about code at a granular level where you’re talking about particular entities, their attributes, their behaviors, how they fit together in the larger system, and how they can be improved or may need to be refactored, then the hybrid approach tends to work best.

Ultimately, it’s about streamlining discussions so that they are as productive as possible. If I’m working on a plugin that’s importing data from a JSON format and I know that it’s going to map certain columns to the post_meta table, and the client does as well, then we can simply talk about that via chat.

If, on the other hand, we have data is some other type of format – say XML or some other complex CSV – then it may help to have a screen sharing session mixed with voice chat so that we’re on the same page sharing the same conceptual model and talking about the same entities in the same context.

Obviously, we’re all going to do whatever is easiest for us all, but when it comes to distributed teams and productivity, these are some of the strategies I’ve found most useful.