DEV Community

Cover image for Slack: boost your team's productivity
Lucas Otaño for Cloud(x);

Posted on

Slack: boost your team's productivity

Let’s suppose the following scenario: you started working in a five person startup; Slack was a bit messy, but it worked for you. After a while the company grows up, now there are 90 employees and the chat is full with random conversations, pets' pics, the important information is somewhere in there.
If you are in a similar situation, or you just have an OCD with management like me, you must fix that.
Slack can be funny (and it should, we are no robots), but primarily it’s a work tool meant to improve the productivity and the communication.
In this post I want to propose some tips that improved the workflow in the different companies and teams where we've used it.

Table of Content

  1. Don’t be afraid of creating channels
  2. Prioritize information at first glance
  3. An emoji is worth a thousand words
  4. We are not tailors, but please, let's use more threads
  5. @channel vs @here
  6. Custom status
  7. Standardize message formats
  8. Remove previews
  9. One Single Message
  10. Avoid Direct Messages when talking about the project
  11. Adopting these practices is a team work
  12. Conclusion

Don’t be afraid of creating channels

In a company there are a lot of different people (thank god!), with different interests, hobbies, tolerance to other human beings, and so on. It’s very probable that not everyone in the company wants to see a picture of your new puppy or your brand new custom mechanical keyboard full of RGB magic for more FPS, but there are for sure a lot of people that would love to see those things. Go and create new channels #puppies_lovers #hardware_fans #music #coffee (you can be a little more creative than me with the names).
This way you can create little communities of people with similar interests without disturbing/spamming general channels.

Another useful proposal I have for you is to have a side channel for your current team. Sometimes there are roles that work on several teams at the same time, so they might not want to scroll over memes or conversations about the Snyderverse to look for useful information (or maybe they do, in that case they can join your side channel). And as I love consistency, you could use the same notation for every side channel. Example: #cms_team (main channel) and #cms_team_theFunSide (side channel to make memes competitions and to spoil your teammates).

Prioritize information at first glance

Let’s come back to that role that works with different teams, or that developer immersed on “The Zone”. They might want to see only the important information, and leave the rest for "later" (yes, like that bugfix 🤫).
Overcoming this situation is very simple, just use custom emojis at the beginning of the message:

  • 🟢 Green circle: represents information that won’t change anyone’s responsibilities, priorities or tasks. E.g, if you are writing an update on a thread about a task, or if you are going to the bank for a couple of hours.
  • ⚠️ Yellow triangle: you need someone else’s attention, or action, help, etc. E.g., a code review, a mail review, a cry for help inside a task thread, a concern about something.
  • 🟥 Red square: requires urgent attention, something must be done immediately. E.g, the production server is down, a high priority email from a client, a client meeting being moved or cancelled, or maybe even a PR/mail that needs to be ready ASAP. Whenever you see this, please, go to read the message.

Note: it’s important to use those colors to quickly distinguish between them, but it is also necessary to use different shapes for color-blind people.

Here you have some emojis I've created and others that I've downloaded from slackmojis.com.

An emoji is worth a thousand words

We are seeking productivity increases here, let’s use emojis to achieve this! How?
Scenario: let’s suppose that you are the Scrum Master and you ask the following question to your team, what would you prefer?
Option A
Alt Text
Option B
Alt Text

I think the answer is quite obvious, there can also be a discussion on a thread, but having the emojis as the final answer. Also, if there are only :no: emojis, you can use a :cancelled: emoji on the thread to let everyone know that it has been cancelled.

Short answers are very likely to be replaced with an emoji: yes, no, I don’t know (IDK), thanks, solved, merged, done. It might sound quite robotic or impersonal for you, but remember, this is a work tool that seeks for productivity increases, you can still do funny things on the side channel that I proposed earlier.

We are not tailors, but please, let's use more threads 🧵

Following the idea of finding relevant information at first glance, imagine a message starts a long conversation and you don't use a tread. If you need to find a message sent before that conversation, you'll have to scroll a lot. Apart from that, the channel would turn into a mess. Wouldn't it be better to have a thread that only people involved on that matter will open?
Alt Text

Besides, it’s not only about having a nice and well organized chat, but also not to disturb team members not involved in the conversation. Just imagine a conversation of 30 messages between 2 persons on the team channel (or even worse, on a general channel), there will be a lot of people being disturbed with 30 notifications unnecessarily.

@channel vs @here

Keeping in mind the idea of not disturbing people when it’s needless, we have to explain the difference between these two tags. It’s very simple, @channel will notify all channel’s members whether they are active or not, @here will notify only the active members. You can work with people in different time zones, so you don’t want to bother them (or at least you shouldn’t) on their non-working hours, or to disturb the ones on holidays or on a day off, unless it’s critical to let them know. You can learn more about this here.

Sorry @here I didn't mean to tag you 😬

Custom status

The idea behind this point is not to micromanage your company but to let your colleagues know whether you are available or not. You may need to go to the grocery store, help your kid with something, cook lunch, go to the bathroom (💩), etc. If a teammate needs your help when you are active and you don’t answer within 10/30 minutes or more, he might think you are ignoring him, or that he is bothering you, or he might infer that you are doing something else. Anyways, we can’t know what the others may think, for that reason with two clicks we can set our custom status as “AFK” (Away From Keyword), “Lunch”, “Coffee break”. This way you can avoid misunderstandings or hard feelings!

Standardize message formats

This can be a little too much for some of you, but remember that we are trying to boost our team performance by adopting some habits on Slack. Look at the following example:
Alt Text
Alt Text

In the first image some colleagues may ask for the ticket link, or story number, also they don't know whether you're blocked or not. On the other hand, in the second image we already provide information that’s very likely to be useful for our teammates. This way, by investing some clicks and seconds beforehand , we can save time to our partners and get a response quicker.
This might seem like a waste of time, but I consider that it helps to have a very clean and well organized chat, and also, as I mentioned, save time in the mid term (once everyone gets acquainted with that message format).

Remove previews

Unless you have a Jira bot integration (for example) that adds value to a link preview, I consider that a preview is just a waste of space and it interferes with a clean chat. I’ll leave an example below.
Alt Text
Also, regarding links, by avoiding pasting an entire link on the message will help having a clean message, just add the link to a word that references it, or just simply write “Link here” and put the link in those words.
Alt Text
Alt Text

One Single Message

There are a couple advantages on writing a single message:

  • Less notifications to your colleagues: not much to explain here, one message is equal to one notification; information spread on four separate messages means four notifications for each one on the channel.
  • Also talking about notifications, if the whole information is reduced to a single message your partners can read it from the notification pop-up. If you split the information you are forcing them to open the chat to know what you are talking about.
  • Organization and readability: if you write down and send messages as you are thinking of an idea, you are very likely to forget something, or maybe that information makes nonsense all spread out. If you take some more seconds and read the message before sending it, it’ll guarantee you that you’re not sending loose thoughts.
  • If you send several messages to express an idea, where should your teammates start the thread in order not to lose relevant information. It might not seem that serious, but imagine someone tags you on a thread created three days ago and you only have partial information on the initial message, you’ll be forced to scroll the chat to find some messages from a couple days ago. Pretty annoying, isn’t it?

Avoid Direct Messages when talking about the project

This is a very common practice (or at least it was in the companies I worked on so far), to start a DM conversation between a few members of the team, or just to DM a partner to talk about something you don’t understand about the project or to make a decision.
Avoiding this practice by starting a conversation on the team channel (you can also tag the people you consider relevant for that matter) brings several advantages:

  • The team knows what you are dealing with / working on.
  • Maybe people that you thought were not relevant can help you, or can bring an interesting solution to the problem, give their opinion, etc. (You are a team! This is a key aspect)
  • Maybe you are working on something that overlaps with a task that a teammate is working on and you didn’t know.
  • Even if you are talking about something very technical that you think is just a matter of the frontend dev team, you might not know the whole team and some from QA or backend knows about the framework you are working on. DO NOT underestimate anyone on the team.

Adopting these practices is a team work

Before adopting one of the tips written in this article on your team or organization, you might want to discuss it with the rest of your team. After that, it will be a process to fully adopt it: some colleagues will forget to start a thread or to use a :yes: emoji reaction instead of writing the answer. In those cases you can use the :start_a_thread: emoji, or :use_emojis: , or :thats_a_paddlin: to help your partners to get used to it.
It is useless if only a few people do it.

Conclusion

It's possible that some of this tips don't apply to your company. You might need to ignore some of them, change others or simply create new ones to match your use cases.
I really want to know what you think, and if you adopt one these I want to hear about the results it provided to your organization.
Here you have some useful resources:

Thanks @navarroaxel for providing the images and @nachosource for the corrections of the writing. Please go to check their very interesting blogs!

Latest comments (2)

Collapse
 
mdumrauf profile image
Matías Dumrauf

Great post, @lucasota ! A lot of amazing practices to start using.

Collapse
 
navarroaxel profile image
Axel Navarro

Thanks for the mention @lucasota and thanks for implement these rules in our project 🙌