I might be a bit late to the party since a bunch of people have already written about Slack and how awesome or awful it is. So I though I will give my two cents away how we use Slack and what I think about it

Over the past two and a half years our team has been using Slack quite heavily. Everything started relatively spontaneous as most of the team were abroad for a week and wanted to stay in touch with the others. Through these two years we have build our own understanding where slack with works and more importantly where it doesn’t.


A instant messenger

For us Slack is essentially a instant messaging tool and we emphasize instant. It’s more structured and transparent replacement for things we in the past discussed via Skype.

Structured means it allows us to organize discussions by topic with channels. Each project has its own channel as well as certain infrastructure topics like for instance the continuous integration environment. In contrast of having a single big group chat everything’s getting dumped it’s gives control over filtering the topic.

Transparent means for us that everybody gets to choose which discussions to follow. When you join a project you just enter the channel. No need to ask somebody to invite you to group chat or similar. You can participate in discussions as you like. It also allows to catch up with discussions of the past, even though we don’t encourage this. But reading what has been discussed on topic in the past is sometimes useful. Discussions that otherwise were often hidden in private Skype chats now become visible and valuable contributions are made by team members that otherwise might not have been in the loop.

Don’t catch up

As mentioned before we use Slack for instant messaging and as such we don’t expect team members from catching up with discussions e.g. when they return from vacation or customers. If there is some take way from a discussion or todo for somebody not present we will use email to let them know. As a rule of thumb: if you still require an answer in an hour, don’t use Slack for it. Essentially for everything that is asynchronous communication we use email. If one is interested in all the details it’s still possible to take a look at Slack and see what the discussion was but we don’t expect that from a team member. For us Slack is like a campfire if you are at the camp it’s good to be there but we are aware that not everybody can be at the campfire all the time.

We have been through different phases on this over the time. From parts of the team being totally enthusiastic about sSack as the silver bullet for all communication issues to parts being totally skeptical. But now we have found a way to use Slack that fits our needs. We use it for (nearly) real time discussions that need more interaction and bandwidth than mail.

Size matters

What’s the right amount of people on Slack? I don’t think there is a fixed number here but some hints that point to a good size. If you look at Slack and you sign up it let’s you create a team, not a company. I think this a very important, a single instance is for a team, not for the whole company. There needs to be a certain density of communication between the people on Slack otherwise it’s prone to produce a lot of noise. If you work with multiple teams this might require you to sign in to more than one Slack team but I think it’s worth the effort to keep things clean. Even though you can organise communication via channels there will still be stuff like the general or random channel that will pick up a lot of noise.

Signal vs noise

As in all communication it’s important to keep the signal to noise ratio on the signal side. While one aspect of it choosing the right team size there others to it. First of all keep the channels without specific topics clean. Having broad discussions about very specific things in #general is quite noisy. Also use notifications wisely. Spamming @channel or @here in channels with essentially the whole team is at best annoying. Especially when having remote people on these channels. Being in that situation on more than one team it’s really frustrating when you get notifications for the BBQ event in the evening 500km away.

Keeping signal to noise ration on the signal side was really key to us. It also takes away the need for threads (see below).

Always available

With it’s mobile apps and default notification settings Slack somewhat wants you to be always available. I personally don’t have the app installed on the phone only on my iPad but all notifications are turned off. I mainly use it to keep in touch with the team when I’m on long train ride and want to share the latest news from a customer or similar. If you are offline you are offline. Nobody expects you to get the notification on your phone and catch up with it instantly. If it’s something complex and important we will write a mail. If it doesn’t matter now we will ask when you are back on Slack. Not being on Slack is ok, getting uninterrupted time at work is important.

The pain

There are some aspects to Slack that are really painful and become a mess quite easily. And this is often the result of using Slack as mail replacement:

Multiple inboxes

As a person being on 9 Slack teams it’s a real pain to check at least 9 inboxes. Or as in one of the Twitter discussions about it pointed out in the worst case:

Checking all of them is annoying especially since the Slack Desktop client some times doesn’t show their notifications until you actually open the team. Which especially at low traffic teams I don’t do very often. So in the end I get mail notification anyway and have to look at the conversation in the in Slack.

Threads

A feature many people wanted on Slack. A thing I just hate. Slack tries to mimic threaded conversations of a modern mail client. I find it useless. It hides the actual discussion from the main flow of messages. Taking away the main benefit of Slack: being able to read whats going on easily join the discussion. If others are annoyed by the discussion its more a hint that either it’s the wrong channel or it should be moved in to private messages.

ChatBots

First we fall for idea of ChatBots, implemented our own and tried to integrate a lot of things with Slack. By now we have removed almost everything. Sure we have some basic integrations with Github for Issues and pull requests. Build status of some projects is automatically posted and some Issue Trackers as well as Trello are integrated. But we have nothing that is interactive or reacts to commands from Slack. It provided marginal to no value for us.

The Desktop Client

It a memory eater from hell. For things a IRC client can do with a few megabytes, Slack consumes gigabytes. Even on MacBook Pro it doesn’t feel snappy and if the internet connection gets a little slow like on trains or public wifi it’s getting sluggish as hell.

Slack is not smart

It’s actually the absolute oposite. It’s like dumping everything as a big pile and hope people will figure out where to search for their important information. Slack won’t help you to find important information. It’s not tightly integrated for aspects other than chat. If you need that I think tools like Basecamp are much better since it tries to integrate a lot of aspects of a project. Slack also doesn’t allow you to find your personal way of organising things. You can only stick with the channels everyone is using. For mails I have my own system of sorting stuff and managing things I have to follow up or that result in todo for me. This is all impossible with Slack, yeah there is the \todo command and you have your personal channel but still this is very static and can’t be adjusted. It can’t compete with simple mail clients let alone sophisticated things like Googles Inbox.

Worth it?

The question is, is it worth it? Well for us Slack definitely has some use case that it fulfils but that one is definitely not replacing mail. That is not was it can do even it Slack marketing claims to do that all the time. For us it replaced Skype and other tools we used for similar purpose. But we rarely use search or long history or any other of the paid features. That we ended up using Slack is more or less accidentally we didn’t compare it to its competitors. For us Gitter.im or Mattermost would clearly get the same job done and we could easily switch to something else.

In the end the challenges we faced with Slack were pretty much the same as with any other (communication) tool, you have to use the tool for the “right” problem. Slack is not a silver bullet but it can help to solve certain communication problems but it definitely not “the enterprise messaging revolution”.