How Slack Has Completely Changed the Way We Work at WPMU DEV

It’s safe to say Slack has been a game changer for us here at WPMU DEV.

Working as part of a distributed team of 62-odd people scattered around the globe, communicating with colleagues used to be a bit of a nightmare, dare I say a pain in the ass. For years, we relied on a mix of email and Google Hangouts for chatting one-on-one, a P2 website for sharing important company information, and Skype whenever we needed to see each other. Whenever we needed to share files we exchanged Google Drive or Dropbox links.

Slack disrupted all that.

For the uninitiated, here’s what you need to know: Slack is a messaging app for teams on steroids. It’s an email killer. It’s been valued at $2.8 billion and has more than 750,000 daily active users, 200,000 of whom are paying customers, making it the fastest-growing business app of all time – and those stats are from April last year.

Slack isn’t just a simple chat room, it’s an online office. For our distributed team, Slack is a place where we can all be together in one place in real-time. It addresses the mess of having to jump between different apps and email in order to communicate with each other and stay on top of work.

With all that in mind, in this post, I want to share with you how Slack has changed how we communicate at WPMU DEV and how we use it to work together in a more effective and meaningful way. Whether you’ve just set up Slack for the first time, or you’re been using it since it launched, I hope you can learn something from our experience.

Here’s what I’ll be covering in this post:

  • Working in a Distributed Team
  • How We Used to Communicate
  • How We Communicate Now With Slack
  • Organizing Slack Channels: How We Do It
  • Slack Etiquette
  • Tips for Making Slack Work for You
When we released a new version of Upfront recently, everyone on our team was automatically alerted in #general.
When we released a new version of Upfront recently, everyone on our team was automatically alerted in #general.

Working in a Distributed Team

As a team, WPMU DEV is all over the shop. In the space of 10 years, we’ve grown to a current staff of about 62 people spread across 28 countries ( and just to throw another fun fact in there, collectively we have 235 years of WordPress experience!)

So yeah, our team is distributed. Nine people work in our office headquarters in Melbourne, Australia, while everyone else is, well, everywhere else. Our CTO Aaron Edwards lives in the US, our Head of Support Tim Bowers is in the UK, and we have people based in Serbia, Portugal, Indonesia, Poland… the list goes on.

Overall, our team comprises our CEO James (who started the company in his backyard shed!), developers, designers, support crew, marketers, writers, videographers, sysadmin and project managers, and we also have staff on Slack from our sister company, Edublogs.

We have a lot of different people with different jobs who need to communicate quickly and efficiently in real-time to get stuff done.

How We Used to Communicate

It’s hard to imagine that just over a year ago we relied pretty heavily on email and Google Hangouts.

Inbox zero was an unattainable pipe dream. It was easy to lose track of conversations in emails and often people would conveniently ignore emails for days at a time. It was frustrating, not to mention difficult, to know if someone was actually online, which isn’t great when your colleagues live in different time zones. In retrospect, it’s obvious now that our teams often worked in isolation – our writers often didn’t chat with developers and vice versa because it was usually too much hassle. Not exactly a healthy way to run a business.

Whenever I wanted to check a detail regarding a plugin, I either had to email or ping a particular developer on Hangouts. And whenever I had a general question about our products the protocol was to fire off an email to our entire developer team, which would inevitably annoy someone.

Let’s just say reply-alls were a great source of displeasure to certain individuals.

We used Skype quite regularly – and still do – but not to the extent that we used to. Our teams now meet regularly on Slack, making it easier for people who are unable to attend to read back over conversations later and pick up on key points.

Running meetings on Slack also avoids the technical headaches that frequently plagued us. Thanks to the slow internet here in Australia, a typical Skype meeting would go something like this:

James: Hi everyone!
Developer 1: Hi James!
Developer 2: …
Developer 3: Hello?
James: Can everyone hear me okay?
Developer 1: …
Developer 2: Yeah, but I’m getting feedback.
Developer 3: No
James: Okay, I’m going to hang up and try calling everyone again. Hang on a minute…

Five minutes later…

James: Can you hear me now?
Developer 1: Sort of
Developer 2: Not really
Developer 3: …
James: !@#$… Well, let’s give Google Hangouts a go

Meeting starts 15 minutes late after eventually going back to Skype. James spends a few hundred dollars the next day buying new microphones because he figures one of them has to work (true story).

The same meeting, but this time on Slack:

Our Upfront developer team's daily scrum.
Our Upfront developer team’s daily scrum.

So. Much. Quicker. And note the timestamps – all of that in less than a minute.

We’ve effectively abandoned our meeting room. No one really uses it anymore and it’s more of a storage space these days.

Our abandoned meeting room.
Our abandoned meeting room.

Here’s another example of how Slack has improved how we communicate: Whenever our website would experience an outage in the past there would be a flurry of emails crossing the globe, staff trying to work out what was going on and whether other people know our site was down. There was general mayhem and confusion. Now, whenever we notice our site is down, it takes a second to open the #sysadmin channel in Slack and check our sysadmins are already on top of things. Too easy.

And here’s another example, albeit one that paints our CEO as a bit of a meanie!

For years, we used an internal P2 website for important company stuff, things like announcements and general information about upcoming products launches, testing and other things that everyone needed to know. Our P2 site was the place to go to post messages that would reach everyone in the company.

Our old P2 intranet site.
Our old P2 intranet site.

The problem with the P2 site, however, was birthdays. At least, for James birthdays were a problem. You see, as our company grew and birthdays became more frequent to the point that there were four or five birthdays a month, the P2 site would become flooded with well wishes, quickly burying important work conversations under a torrent of birthday love.

Yeah, so Fabio has already left the company... Whoops.
Yeah, so Fabio has already left the company… Whoops.

So James actually banned us from wishing colleagues happy birthday.

/giphy sad

giphy sad

Now, we have a #random channel on Slack for non-work related chatter. The birthday ban has been lifted!

How We Communicate Now With Slack

Slack is something you really need to try and experience to fully understand its potential and why it’s so popular.

After using Slack for more than a year now, I’d like to think we’ve given it a good crack (and won’t be ditching it anytime soon!).

Here are our stats since we first started using Slack:

We like talking in public channels, but prefer direct messages.
We like talking in public channels but prefer direct messages.

Total Messages Sent

While our team likes to get stuff sorted via direct messages (we like connecting one-on-one!), a lot of the magic also happens in public channels. We also have a small number of private channels that we use for projects like giveaways and AMAs that don’t necessarily need to involve the whole team.

Our most prolific Slacker is Tim, our Head of Support, who has sent 81k+ messages since we joined Slack. It makes sense – he manages quite a big team and loves to talk!

We share a lot of plugins...
We share a lot of plugins…

Total Storage Used

We share a lot of files – specs, plugins, videos, GIFs.

On any given day there are copies of early releases of our plugins floating around on Slack for people to test and provide feedback while our #random channel is filled with photos of colleagues who’ve attended WordCamps.

Our most prolific file sharer is Product Designer Victor Ivanov who works on Upfront and has shared more than 1500+ files. (Most of them cat pics, of course.)

The ability to share files and quickly upload screenshots saves us an incredible amount of time. Pasting a link into a channel is so much quicker with Slack than it was previously with Google Hangouts. This is especially handy for our design and UX guys who are frequently pasting iterations of designs into Slack channels, making it easier for the rest of the team to quickly view images and give feedback without having to turn to a mix of email and Dropbox.

We like to integrate.
We like to integrate.

Total Integrations

While Slack is a fairly simple app to use, there are some powerful features. And one of those is integrations.

Slack is most useful when you can see everything your team is doing, which includes all the tools you use outside of Slack.

We have a number of integrations set up to help us bring into Slack the tools we use day-to-day to manage parts of our business, like Asana (for our developer team) and HelpScout (for our support team).

After a few initial hesitations from some people on our team about whether we actually needed Slack in the first place (“Why do we even need this? Google Hangouts is fine! This is just another thing we have to keep track of. Grumble, grumble…”), Slack has become indispensable to how we communicate and operate as a company.

While Slack lets us communicate between team members, more importantly it has made us all more acutely aware of what our entire team is doing thanks to our public channels. No longer are we working in isolation because now we can see what other teams are working on across other parts of the business.

Seriously, I can’t imagine working without Slack and having quick access to anyone on our team – and I’m sure everyone else at WPMU DEV would agree.

Organizing Slack Channels: How We Do It

I remember first logging into Slack for the first time and how empty it seemed. We didn’t have any channels set up yet, just a list of staff members as they gradually started signing in to see what all the fuss was about. But then is quickly grew. How we set up channels and organized the way we used Slack was a rather organic process.

Channels

We have 37 channels all up, including both public and private channels.

We have two public channels for everyone on staff:

  • #general – Team-wide communication and business announcements
  • #random – Everything else that isn’t work-related, mostly links to articles, happy birthday wishes, and food/travel photos

We also have public channels for each of our major teams:

  • #developers
  • #support
  • #designers
  • #sysadmins
  • #wordsmiths

The great thing about public channels is that anyone can join a particular channel they need to be part of (i.e. all of our developers should be part of the #developer channel), while people on other teams can come and go. This is especially helpful for our support team when someone needs to identify a problem for a member or diagnose an issue with a plugin. It’s easy to quickly join a channel, ask a question, and have one or several people help solve an issue. Needless to say, the ability to do this has made communication amongst our staff so much quicker than pre-Slack.

We also have a bunch of other public and private channels for projects including:

  • #blog-optimizations – A place to talk about the upcoming UX redesign of the blog (stay tuned!)
  • #dashboard – Discussion about the recent overhaul of our member dashboard
  • #wp-hummingbird – Discussion about our new performance and optimization plugin, Hummingbird
  • #wp-defender – Discussions about our new security plugin, Defender
  • #upfront – A place for everyone on our Upfront team to chat
  • #wpmudev – Discussions about our website design

Then there are channels for automated announcements:

  • #signups – A channel to keep track of all new membership signups

And then we have other social channels:

  • #incsuborifice – A place for chat amongst employees who work in the Melbourne office
  • #didgewalkers – We have some avid hikers amongst our staff and this is a place for them to plan walks
  • #savio – A channel dedicated to all mentions of “savio” (Julian Savio is the talented designer who creates all of the illustrations for our website)

While researching for this post, I found many other companies have organized their Slack channels in a similar way, with public team channels and then smaller public/private channels for team projects. For us, this has allowed us to keep discussion about projects focused amongst key people in smaller groups without overtaking larger channels where constant notifications might unnecessarily disturb staff who aren’t part of a particular project.

We also encourage conversations to happen openly in public channels before moving to private channels or direct messages to ensure that we’re not only sharing knowledge but that discussions are transparent and searchable and available to anyone in future who might need that information. This last point, in particular, is important – if a problem has been solved, say a member’s issue with one of our plugins, a staff member can search Slack for all mentions of that plugin and find the solution.

Another week, another custom emoji...
Another week, another custom emoji…

Custom Emoticons

We like to have a bit of fun with Slack – doesn’t everyone? As such, we have a lot of custom emojis – 128, in fact.

Our custom emojis include images of teammates, office dogs, and plugin branding. Since it’s so easy to create custom emojis, new ones pop up in our channels all the time, not only making chatting more fun but also more personalized. For example, when new releases of Upfront are auto-announced in #general, it’s not unusual for teammates to respond with :upfront:

Integrations

One of Slack’s most powerful features is the ability to integrate it with other tools that you use day-to-day.

We have currently have 15 integrations set up, but these are the ones we use most often.

Asana

Asana is a project management tool designed to help teams track their work. Our developer team uses it to organize projects, plugins, and themes. Integrating Slack with Asana sends updates to specific channels when a task is created, completed, or gets a new comment.

Help Scout

Help Scout is a helpdesk tool designed for customer support. Our support team uses it to manage email inquiries. Integrating Slack with Help Scout sends notifications to specific channels when a conversation is created, a conversation is updated, a supper member or customer has replied, and when conversations are closed or deleted.

Google Drive

Google Drive lets you create, store, and collaborate on documents online. Integrating with Slack lets you paste a link to a Google Doc into a channel and make that file available for anyone to access and download.

Stripe

Stripe is a suite of APIs that powers eCommerce and we use it to accept payments for WPMU DEV memberships. Integrating with Slack sends notifications to specific channels so you can track payment. In our case, we have an automated feed that updates whenever we get a new member.

Slack Etiquette

Just like you would have in a physical office environment, there are a few commonsense etiquette rules – or unwritten laws – we encourage our team to follow to ensure everyone uses Slack courteously.

  • Only use @channel in #general when a message is super important and everyone in the company absolutely needs to know.
  • If our servers are down, don’t send a direct message to a sysadmin because they’re probably busy, you know, fixing the servers. Instead, mention any issues and examples in the #sysadmin channel.
  • Don’t fill up 10 people’s time in a channel with an issue that could be easily resolved by one person with a quick direct message. Be aware of who and how many people are in a channel. When you speak, you’re asking for these people’s attention so use that time wisely and productively.
  • Know the difference between @here and @channel: The @here command lets you grab the attention of team members in a channel who are currently active and online. The @channel command, on the other hand, will send a message to all team members of the channel, whether they are currently signed in and active or not.
  • To get someone’s attention in a channel, type @ followed by their username, e.g. @rae. They’ll see a red badge on the channel and be notified via email or their mobile if they’re not online.

These are just some of the basic etiquette rules we follow and drill into new teammates. If there are different rules your company follows, let us know in the comments below. We’re keen to see how other people use Slack!

Tips for Making Slack Work for You

Everyone on our team is expected to have Slack open during working hours. The only problem is, if you don’t effectively prioritize and customize how you use the app, things can get out of hand. And if you’re one of those people who can’t leave notifications alone (like me!), seeing the red badges piling up in Slack will distract you to no end.

So we put together some tips in our post: 27 Productivity Tips and Hacks Every Slack User Should Know.

Wrapping Up

Slack has become an indispensable part of our business that has not only improved how we communicate with each other as a team but has made us more efficient and effective in supporting our members. It really has been a game changer.

I hope you’ve learned a thing or two about our experiences using Slack. Let us know in the comments below how your team uses Slack and how it has changed team communication for you.