At work whenever we don’t need emails we use Slack. You can say we use it for everything. I guess most companies do the same nowadays. Sometimes though it is used too much and for the wrong use cases. The secret in effectively using Slack is knowing what it is for and what it is not.
Slack is a chat app and it is definitely not where to keep your documentation or where to document your processes. If you know that you will need something from Slack at a later date extract it in a Google Docs and put the link in slack instead. It is fine if the conversation happens in Slack, but once is finalized the result should be recorded somewhere else where it can be accessed (Google Docs, Jira,..)
Groups are great. When you have a discussion about something that relates to the whole project or part of it or in any other case that interests more than 1 person create a group for it. Try to avoid using direct messages if it’s not strictly necessary so other people can take advantage of what was discussed and can keep up to date without having to always ask the same questions. As before make sure to finally extract the resulting documentation out of Slack for later use.
- Rich Content
It is really ease to embed any kind of rich content in Slack. Make use of it.
Take advantage of the bot library and support. There are many bots ready to use for the most common tasks or you can develop your own if you need a more custom behaviour.
A few examples:
- Ping on slack when a new version or beta is released
- Ping on slack when the tests pass/fail
- Ping when a new Pull Request is open
- Ping when a new Pull Request is merged …
It integrates well with Google calendar to let other people know if you’re in a meeting or not.
Use status. We try to always set our status accordingly to our availability so people know when it’s ok to ping you and if they should expect a prompt answer from you or not. We have different status for working remotely, taking a break, on holidays or sick leave. We also tend to write which hours we’ll be working remotely so the whole team is aware of it.
- Default Channels
I find it better when in the beginning you’re added to the base core channels only so as a new employee you’re not overwhelmed. If you want to join additional channels you can find them out yourself and freely join them.
- External Channels
Channels that are shared with a client should be marked with a distinctive and consistent name so that it is obvious when that is the case since these channels may require a different, more professional language (not the case with most of our clients, but it may happen).
All in all, Slack is a great tool for syncronous collaboration. The key is knowing when Slack is the right tool and when it should be appropriate to extract the results to a more long living format.