How We Use Slack at Viget
Are you getting the most out of Slack? Here's how @Viget uses the popular messaging app.
A few weeks ago, I got a text from a front-end developer friend:
"Does Viget use Slack? I keep reading these things about companies with sophisticated uses of Slack - channels and integrations, etc. But haven’t found a solid write-up of what a sophisticated use looks like.”
He was right — about our Slack usage, and about the appreciable lack of articles out there from companies who use Slack as extensively as we do. So, I took it upon myself to dig into our Slack setup (learning a lot along the way!) and report back. Hopefully, this article will inspire other agencies to get the most out of
everyone’s our favorite messaging app.
A quick caveat: Companies who already use Slack and are familiar with some of its basic functionality will get the most out of this post. Or, if you read something recently about Slack break-ups and are looking for a different perspective, this article is for you! If you’re curious if Slack would be a good fit for your company, a Slack 101 post might be a better place to start.
Although we may not get it right all the time, here’s a breakdown of how Viget uses Slack to 🆙 our communication, efficiency and fun.
Channels and DMs: Streamline and Centralize Communication
Slack’s out-of-the-box configuration can be drilled down to Channels and Direct Messages. We use channels to organize company-wide communication blasts, and to facilitate conversations around a specific team, project or topic. Direct Messages are, as you can imagine, a private chat between two (or more) co-workers.
The default Slack setup includes a #General channel, and everyone in the team is a member. At Viget, this evolved into our #important channel. We use this strictly for company-wide, need-to-know announcements, and only admins can post to the channel. That way, people can opt-out of almost every other channel.
Our #announcements and #random channels are home to the ‘water cooler’ conversations. Topics range from non-work banter to industry-relevant article links. We also have office-specific channels for each of our Boulder, Durham and HQ offices. You can use @here to ping everyone in the room (for example, to let everyone know lunch has arrived!) but there’s no expectation to keep up with these conversations.
If you dropped in on Viget for a day, joining the company-wide channels and an office-specific channel would give you a general pulse of the company.
Most folks at Viget are also a member of their lab-specific channel. Each lab (UX, Project Management, Development, etc.) uses their respective channel a bit differently, but take a peek in the PM channel, and you’ll see messages like “Running a few minutes late to stand-up!” or “Has anyone tried the new Google Calendar appointments yet?” These channels are particularly helpful for coordinating and knowledge-sharing across our three offices.
Drilling down a step further, most Vigets are also members of their active project Slack channels. We use these to post daily status updates, share files, confirm meeting times and knock out QA.
Beyond those, we also have channels for everything from coordinating usage of our Browserstack accounts to giving praise (or shame) when it’s due. While writing this article, I discovered I was missing out on a few of these topic-specific channels, like #tech-support and… #blogging!
We also sometimes set up Slack teams with clients. One lesson we've learned is that it can be nice to have a "private" space for our project team on the Viget Slack, then have a collaborative space in a shared Slack team separate from the Viget Slack.
Gone are the days of 17 open Gchat windows. The Viget team uses Slack’s DMs to organize all our direct messaging. DMs can usually (but not always) takes the place of shooting someone a quick email, or approaching someone’s desk to ask a quick question. Slack DMs are also great for organizing pair programming, initiating a Google Hangout and group messaging between multiple coworkers.
Improve Efficiency through Integrations
We use myriad web apps on a daily basis at Viget, ranging from Google Drive to GitHub. One of the great things about Slack is its extensive app directory, which allows for seamless integration between Slack and third-party services. For the Viget team, this moves the needle from using Slack as a chat tool to compiling our workflow in one centralized location. We rely heavily on connected apps, bots and webhooks (a few of which we built ourselves!) to pull data into Slack.
Although I won’t dig into all our integrations — over 35, at last count! — I thought it’d be neat to highlight a few of our favorites. If you’re interested in some other popular integrations, this post is worth checking out.
FEDs and hubot
Our front-end development team uses hubot (a scriptable chat robot, renamed ‘jaems’ by Viget alum James Cook) and a github Slack integration to automatically track and list open pull requests in our #fed channel. Feds typically look for two 👍 on a pull request before merging a commit to master.
DEVs and deploy notifications
Deploy notifications via Heroku or a webhook, and CI notifications from CircleCI, are particularly helpful to our development team. CircleCI gives us Continuous Integration and Deployment with easy setup and maintenance, simply by connecting a GitHub account. This integration will post notifications to Slack (often in the project’s channel) when a CircleCI build finishes.
Commands allow for quick access to a number of great integrations. A few of our favorites are /hangouts, which opens a Google Hangout (the lifeblood of our cross-office collaboration) and /hero, which opens a Screenhero (great for pair programming). We also love /remind, which lets you set a Slack Bot reminder for yourself, a team member or a channel. We also built our own app for the slash command /purge, which purges the cache for the recently redesigned viget.com, and /slackbattical, which turns on Slack's 'Do Not Disturb' mode and posts an alert to the #announcements channel.
The IFTTT (If This Than That) Bot lets us write conditional rules around — anything, really! — and posts to a Slack channel when those conditions are met. PMs are reminded at 10am on Friday to enter hours for our teams in our resource planning tool. The Durham office channel also gets notified when Ben Eckerson’s car pulls into the parking deck.
“I'm stuck in the stairwell, please halp!!" button
All three of our offices moved to new spaces in the last year. Somewhere along the way, one unlucky soul realized that it’s possible to get trapped in the stairwell at the HQ office without your key card. Our resident hardware guru Justin installed a button in the stairwell that will trigger the Slack HQ BOT to ping the #hq channel if someone gets trapped.
A Healthy Dose of Nonsense
We work exceptionally hard at Viget, but we like to goof around a bit, too. Here are a few ways Slack aids in entertaining ourselves.
We are famously serious about table tennis here at Viget. The HQ office created a #pingpong channel and integrated it with a Pinpon bot. The bot lets us challenge opponents, record game scores and keep overall rank. The last feature may be a bit unnecessary…it doesn’t look like KV has been ousted from the top spot in some time.
Clickbait Pull Requests in #fed channel
In addition to the jaems bot, FEDs regularly post pull requests for review in the Slack channel, typically along the lines of:
"🚀 Check 'em https://github.com/vigetlabs/nasa/pull/1"
Although they cannot trace the precise origin, Solomon tipped me off to a fun trend that has recently emerged where instead of the usual "Check 'em", FEDs have been labeling their PRs with over-engineered clickbait headlines such as:
" ✨ You’ll Never Believe How Many Ways You Can Share a Page https://github.com/vigetlabs/nasa/pull/165"
" 👀 This Pull Request Will Make You Rethink Your Entire Existence https://github.com/vigetlabs/nasa/pull/124"
Emoji reaction poll
Want feedback from your office about where to go for happy hour? We use Slack’s emoji reaction feature as a quick and easy way poll a channel. Digital Strategist Zach used this technique a few weeks ago to get a count of dog owners (and lovers!) at Viget for a proposal.
In addition to our work-topic channels, Viget also has a number of fun (and silly) channels where we can organize conversations around... just about anything you could imagine. The #viget-says channels relies on integrations with Twitter, Instagram and an RSS feed from our Articles to keep track of all things Viget on social media. There are also channels for #sports, #fedpuns (I’m starting to wonder if FEDs have all the fun), #celebrity-gossip and even the #serial podcast.
And of course, /giphy
I would be remiss not to mention one of our favorite Slack integrations, Giphy. Use a /giphy slash command, type some text, and a reaction gif is just a click away. Giphy provides great entertainment and color to everyday conversations, and cuts back on time spent searching for the perfect gif!
Are there risks to using Slack?
Short answer: Of course. Distractions run rampant. It can feel overwhelming to follow several conversations all day, particularly if you’re staffed on multiple projects. As a Project Manager, it can also be difficult to ensure that everyone in a channel sees a Slack post, so using Slack for feedback requests on a doc can lead to the illusion that you have consensus from the team. In full disclosure, not everyone at Viget is a huge fan. But here are some ways we try to reduce the noise so Slack doesn’t become a burden.
Setting and managing expectations
Everyone at Viget does a pretty good job of managing Slack expectation. Folks will post to their office channel or #announcements if they’re heads-down on something for a few hours, or otherwise unreachable. The slash command /dnd is also a great way to toggle on/off Slack’s Do Not Disturb mode. This helps keep people from feeling obligated to respond at all hours of the day.
Notifications and alerts
Another nice thing about Slack is that you can tailor your notification settings to your liking. Personally, I get a desktop notification for a DM or a direct mention in a channel, but not when a youtube video is posted to #random. I have my push notifications for the mobile app configured in a similar way (and those only come through when I’m offline in the desktop app.) That way, I can keep from getting hammered with alerts all day.
Although Slack is a great place for daily project chatter, teamwide project updates and tasking are generally kept in Basecamp, our project management tool. The PMs do a good job of managing where communication happens. If you’re on PTO for a day, you
don’t shouldn’t have to weed through 36 gifs to find feedback from a client. (We have been keeping an eye on Slack’s new threaded messaging, which could someday replace Basecamp. ¯\(ツ)/¯)
Yes, Viget Slack has 268 channels. And it would be impossible to follow each one. Giving fun stuff its own home (like #vige-pets and #vige-babies) and keeping important announcements in one channel (#important) gives people the option to only join the channels where they’ll get value. This still results in some unintentional interruptions (someone can automatically add you to a channel through an @ mention), but it does help cut down on the noise.
Particularly with Direct Messages, a little etiquette can go a long way in our ongoing love/hate relationship with Slack. There are no hard and fast rules, but it’s generally understood that you shouldn’t Slack the developer on your team with a message like ‘hey, got a question’, then have him watch you type for four minutes. I try toDM someone with a pre-written question, screenshots and URLs included, just like I would if I walked up to a coworker’s desk with a question. The ‘Don’t Be a Jerk’ rule pretty much applies across the board.
Based on my Viget Slack research over the last week or so, the tl;dr to the risk/rewards conversation is that, just like everything, everyone at Viget uses Slack differently and everyone knows what works best for him/her.
Slack is an important ingredient in how the websites get made at Viget. We are constantly looking for ways to improve our setup, add new integrations, and reduce the clutter. We’ve seen some pretty cool things in the Slack world in the last few weeks, like dog tracking with a Paw integration and the expanded /remind command functionality. Does your company use Slack as much as we do? Let us know in the comments!