The hidden costs of easy team communication

Slack is a great instant messaging tool, finely styled and designed for a single purpose: easing and centralizing team’s communication. It does its job pretty damn well, sharing a file with someone is just a matter of dragging it into a chat box, you can send code snippets that are nicely highlighted, and, hell yeah, sending cats’ GIFs is now painless. However, being able to grab anyone’s attention at any moment brings some undesired side effects.

Communication is too easy

You’re working on an important project and suddenly a doubt comes up. You’re aware that putting some thought into it you’ll figure it out, but your colleague John certainly knows the answer, so you just message him, it’s easy! Besides, his Slack status is active, which means that he’ll respond immediately. Or he might not… John could be focused on some task, even fully productive in this very same moment (something also known as “Flow State” or “The Zone” in the developers world).

Developer's Flow

If John stops what he’s doing now, he may be able to help you out and save you a couple of minutes researching it yourself, but context switching will cause him to waste an average of 25 minutes on context switching. As a result, even though you moved on a bit faster, team’s performance is lower. To avoid it, value your colleagues’ time as if it was your own, if you truly need someone’s cooperation just send him an email unless it’s about something really urgent.

To be or not to be… in a Channel

Channels are one of the main Slack’s features, they’re great for keeping segments of your team in the loop on certain topics. You just need to create channels based on projects, departments, etc., and no one will miss out. Not always is clear who should know about some issue, though, which means that people not usually interested in what’s being discussed in a channel will most likely not read it and, well, eventually miss out the bits they needed to know. On top of that, do you remember the negative effects of context switching? They’re potentially multiplied by the number of members in the channel, be sure that what you have to communicate is useful for all of them.

Also, keep in mind that Channels have no context beyond its topic. If you’d like to discuss some task, it might be better to add a comment in the Trello card where it’s described. If you wanted to report a bug or add more information about it, use GitHub (or whatever repository manager you use) issues. It’ll help keeping discussions more organized.

Integrations, integrations everywhere!

Another cool feature of Slack is that is an extensible platform, so there are tons of integrations in their App directory ready to power up your favorite messaging tool. Just type some command in the text box and you’ll be able to do a lot of stuff, such as posting Tweets or creating a Trello card. Not only so, but can be instantly notified every time a commit is pushed to GitHub, a build is started in Jenkins or any activity occurs in Trello. But hold on, do you really want that? Is it really necessary to get notified whenever anyone around you lifts a finger? It’s not, not even desirable. Apps are awesome, but be careful picking them!


So, is Slack a tool to be avoided? Absolutely not, although it shouldn’t be misused either. It can speed up communication, but it could slow down the overall team performance at the same time. There you go some tips to prevent it:

  • Before pinging someone, ask yourself a couple of questions:  Can I figure it out if I give it a second thought? Do I really need this now? If the answer to both of them is “no”, you can always send your colleague an email and he’ll be back to you when he’s ready.
  • Use the right tool for what you want to communicate (repository manager for bugs/code related stuff, project management app for tasks discussions, etc.). Don’t be afraid, most of them have their own notification systems, so no one will miss out.
  • Set yourself away in Slack. It helps. Even if you’re online, not seeing the green dot will make your teammates not to expect an immediate response. Not convinced? Take a look at what @jasonfried from @basecamp have to say about it.


In a nutshell, don’t send a message because you can easily say something, send a message because you have something to say.