My team aims to be a high performing team. As such, we identified several goals we want to achieve and optimize for. One of the goals is to always meet the SLAs when it comes to answering questions of our colleagues and customers. In order to realize this goal we want to be reactive to inquiries regarding the topics of interest, features we build and services we own. Setting up Slack keywords helps us to achieve this goal. It allows us to participate in conversations we might not know otherwise are taking place and meaningfully contribute to these to save time and effort of chasing down the right people or worse – pinging the entire channel (
Keywords in Slack
Keywords, or highlight words as they used to be called, are a feature that makes sure you get a notification for any words you choose to be notified about, whenever someone uses one of them in a channel you’ve joined.
There are a few things to keep in mind though. Even though the keywords are not case sensitive, they require an exact match (as Slack says in there post about keywords –
coffeecup will not create a notification for
Setting up the keywords
Setup process is very straight forward – just head over to Preferences > Notifications > My keywords in your workspace of choice and provide a comma-separated list of values you want Slack to keep an eye out for. One caveat here is that some of the bots and/or other integrations might not trigger a notification, but they still get highlighted when viewed.
What I focus on?
There are several strategies to use when choosing which keywords to focus on. I found the following is a good place to start:
- Domain model objects
- Service, library and repository names
- Features and screens/pages
- Team names
- Rollouts and migrations
- Upstream or downstream dependencies
Starting with what you own is a good place in my opinion. Including the most important and user accessible elements of your domain model, features, pages and code. If you are rolling out a new platform feature or migrating a piece of code or data, make sure to include those as well. This way you can know if it inadvertently impacts someone upstream relying on you. On the same note, identifying key elements upstream and downstream that proved to be a good indication of bugs or failures in the past might be worth keeping an eye on. Last thing, the team name – in case your team has changed the name recently or the use of
@mentions is not widely practiced, this can help as well.
It is worth noting that including the plural forms of the identified keywords and other related or possible forms such as present participle or past tense might be a good way of assuring you don’t miss a use of your keyword.
Last thing to pay attention to is naming conventions. If there is a hyphen or dash based conventions where any service name ends with service suffix, it is good to include various permutations on the name. For example for
user-service, you can end up with
service user and
Once you identified the keywords, consider committing them to a shared repository that contains teams conventions, dev utils, commons and the likes. Makes it easier for other teammates to benefit from your effort and it aids the on-boarding of new team members as well.
With all of that being said, keep in mind that once setup there will be an impact on the amount of notifications you get. It depends on how frequently used the keywords you define are in the channels you are member of. If the frequency becomes too high, you can adjust the notifications settings to be less frequent, to notify on less events (while still highlighting the words and marking channels as when they contain new messages) or suppress it on the OS level when not desired.
I have been experimenting with this feature for a few weeks now. I have got to say I am really happy about with it. Once an organization grows past certain point, keeping track of communication and questions asked becomes challenging. The burden of identifying the correct place and people to ask a question often lies on the people that might not know those in the first place. When implemented sensibly, this little productivity hack can increase your awareness of potential issues in production as well as your documentation and anywhere in between. Have a go at it and see how it works for you! 🙂