Slack is our primary communication vehicle at SkyVerge. Much of our team communication takes place in Slack. It gives us a way to build ongoing organizational knowledge, communication asynchronously about projects, and segment our conversations by topic.
We love Slack, and we know everyone tends to use it a bit differently, so here’s an overview of how we use it. If Slack is ever down, we rely on Basecamp for our backup chat.
We have several public channels that we use to discuss different topics:
- #random: Off-topic free for all. For example, share movie recommendations, what you did over your weekend, or cool stuff you’ve read.
- #general: Mostly for total-team conversation like information on standups, conferences, etc. This is handy for stuff that contractors should know about, too, as they’re not in the team group.
- #kidchat: Your kids are awesome, show them off. Had a birthday party, capture a funny moment, or got new school pictures? We oogle them here 🙂 Four-legged fur babies count too!
- #rant: ALL CAPS, ALL THE TIME!!! Vent about what’s driving you nuts, no holds-barred. What happens in #rant stays in #rant.
- #labs: The place for crazy ideas, skunkworks projects, and anything we’re testing or playing with
- #coffee: Very important coffee talk goes here.
There are a few others that are topic-specific you can join as well. I recommend starting with #coffee, for obvious reasons.
We also have a few channels that are division-specific for the team so you can discuss in-depth what you’re working on:
- #marketing: all.the.things related to sales / marketing — partnerships, content, you name it.
- #engineering: Discussion of overall engineering topics for both PHP and Ruby-on-Rails projects. Also a great channel to ask if you want to understand the finer details of how something works.
- #product: Bring your discussion of customer development and design, this is where it happens! Also a good default if you’re not sure where a question should go.
- #support (split in #wc-support, #jilt-support): Since we have a large volume of development chat in our #engineering channel, we break out the discussion related specifically to support threads instead.
- #announcements: (split in #jilt-announcements and #woo-announcements) announcements for new features, deploys, marketing initiatives, and releases.
We’ve got a few channels that are designed to help you keep a pulse on what’s going on. They’re typically integrations with external services.
- #engineering-stream: shows you a message for each commit so we can stay updated on what code is being pushed
- #jilt-stream: updates for Jilt installations, billing updates, and app/plugin reviews
- #dev-ops: shows deploys and errors from exception tracking
- #team: For full-time employees — chat about anything such as team meetings, trips, recruiting, etc.
- #operations: for behind the scenes operational fun — keeping SV running smoothly!
- #barb-beecher-fan-club: You’ll have to join the team to find out 😉
We’re always trying out new ideas, tools, and ways to better stay in sync with one another — and the daily check in was one such way. Originally started in team-specific channels in September 2016 and then combined into a single channel in February 2017, the goal of the #daily check-in was to have a simple activity designed to help us track progress towards our goals, share what we’re working on with the rest of the team, and hold ourselves accountable. At the start of their work day, team members followed this template:
- what did you work on yesterday?
- what are you working on today?
- are you blocked on anything?
We ultimately decided to retire the #daily channel in October of 2017, after the team’s feedback on our Q2/Q3 Survey indicated that majority of the team was not finding value in the practice. We’re currently focused on increasing our use of various project management tools such as Basecamp and Trello to track our work as individuals and as a team.
DMs / Group DMs
Sometimes there’s something you want to talk about 1-on-1 or in a small group, and that’s totally fine. As a general rule, we want to encourage communication for team-related stuff in team channels when possible, as if you have a question, chances are it’s something the team should know.
For example, while you may think Justin is the best person to answer a Jilt-related question, it might be something that another developer has more context on, so asking in #engineering is better vs a DM. Having this communication as a team helps to ensure we’re all on the same page — goes back to our whole philosophy on communication in general! It also eliminates ambiguity and “he said, she said” situations to keep us on the same page.
It also helps us keep stuff for future reference, which is especially useful when you want to know, “Why did we decide to build it this way again?” Team chat is the place for discussing code-related questions, support conversations, or general procedure questions.
This may sound like it’s discouraging 1-on-1 conversation, but that’s definitely not the case — it’s just here to remind you that a DM may not be the best default / go-to place for communication. In order to make a distributed team effective, good communication is a huge key and a very important part of keeping people on the same page and in the loop. If others could benefit / help out, we’d love to talk about it as a team 🙂
Should Slack ever crash…
It’s rare, but it happens. If it does — make your way over to our Team HQ in Basecamp — there’s a chat feature there where we’ll pick up the chat while Slack fixes itself up. Note: should this ever happen — you’ll definitely appreciate Slack’s sense of humor in their Twitter feed!