How Slack became the backbone of our distributed company
Published 2015-10-30 by geewiz
Doing business without a central office has become more popular over the recent years. These distributed companies vary widely in size, well-known examples being Automattic, GitHub, AgileBits, Canonical, Acceleration Partners, Doist, Lullabot and Trello. Other businesses join in and get rid of their existing office:
The obvious advantages are savings on rent and a far wider reach in recruiting new team members without them having to relocate. But the “remote work” approach also has downsides that make businesses shy away from this approach, most notably Reddit and Yahoo!.
Five years ago, I decided to build a virtual company, and I’ve not regretted it ever since. In this post, I’m going to outline why.
After I had left my job as Head of IT Core Services at 1&1 in 2009, I had a few months of garden leave for deciding what to do next. I had started a number of IT businesses before, and the entrepreneurial itch was strong enough that I was going be my own boss once again.
My daughter had been born a year earlier and while sketching out my business (literally, using the Business Model Canvas method), I much enjoyed being at home with my family. When I was in a productive mood, I did some work. When I felt my mental batteries draining, I took a nap. When I wanted to cuddle one of my girls, I shut my laptop and went next door. When I needed a change of scenery, I packed my bag and left for Starbucks or the Botanic Gardens. Not until much later I learned that what I was enjoying was called “work/life blend”.
A few months later, I started an enterprise web hosting business. Right at that time, Jason Fried and David Heinemeier Hansson published their new book. In “REWORK”, they share their view of business, strategy, customers and how to run a successful team, and this view differs a lot from the common corporate approach. Immediately, I fell in love with their philosophy of “keeping it real”. Inspired by statements like “Planning is guessing”, “Mission statement impossible” and “Decisions are temporary”, I named my new company “freistil IT”, German for “Freestyle IT”, and I was determined to do business my way. For example, freistil IT was going to be set up from day one as a virtual business with its employees working remotely. I wanted everyone on my team to enjoy the same level of freedom, flexibility and sense of achievement as I did.
Running a remote team in a sustainable way isn’t trivial. While there are lots of tools that allow a distributed team to collaborate, it is a challenge to foster effective communication and build a coherent company culture. Quoting from REWORK:
“You don’t create a culture. It happens.”
But where does culture happen within a virtual company? When there is no central office, opportunities for a few minutes of chat don’t present themselves randomly. In a distributed team, communication and social interaction need to be much more intentional. Many of the things we had to learn you can now find summarised in the latest book from Fried and Heinemeier Hansson, “REMOTE — Office not required”. In the following section, I’m going to highlight what I found to be the essential aspects of remote work.
You can not overcommunicate
A company lives and dies by communication. And I don’t mean just the intentional transfer of information in one-on-ones and conference calls. That’s what email and a host of video conferencing tools are for. But on top of that, there’s a huge spectrum of information floating around freely within healthy companies. The fact that Sue finished her first marathon last Saturday. The huge enterprise deal Sales managed to win. The reasons why Alan’s putting in a lot of extra effort to make a certain customer happy. In a distributed company, this information doesn’t disseminate as easily as where people are co-located.
Project management platforms such as Teamwork (a great fellow Irish company, BTW) or Asana are important tools to coordinate work with a remote team. But as much as they give structure and focus to project-related communication, they can’t fully prevent frustration and loss of efficiency. “Why did she assign this task to me of all persons? Surely she knows that I’m already booked to my ears this week!” Yes, she does indeed; she just didn’t take the time to add a short comment that this task doesn’t need to be done until the end of next week. Had this happened in a real-world meeting, she would probably have noticed the frown creeping onto her colleague’s face, or the hesitation in their voice, and would have quickly clarified the timeframe. In written communication, though, this immediate feedback just isn’t available. You’ll only find out that your teammate is grumpy later, if at all. I’ve been guilty of the sin of omission so many times that I’ve put a sticky note on my monitor saying “You. Can. Not. Overcommunicate.”
That’s why in a remote team, the barrier to getting in touch with a colleague needs to be as low as possible. We’ve decided to use Sqwiggle as our internal video conferencing tool. Sqwiggle displays a photo of every team member, and you simply click one to launch a video call. More remarkable is the fact that these photos are actual snapshots that get updated automatically every minute. It takes a bit of getting used to “Big Brother” but this allows us to see at a glance who’s actually at their computer and available to chat. It’s like peeking into their office – well, it is peeking into their office. But it’s more than just practical: On a subliminal level, simply being able to notice the T-shirt someone’s wearing today or smiling about a funny facial expression in one of the snapshots strengthens the sense of working within a team and not in solitary confinement.
Much more than web chat
A running text chat can be the backbone of a distributed company. We started with using IRC, then switched to Campfire, later to HipChat, and now we’re among the 200,000 users paying for Slack. Within less than two years after it was created by Flickr co-founder Steward Butterfield, Slack has gained 750,000 daily users every day, and a 2.8 billion dollar valuation. There are reasons for this impressive success.
As a first impression, Slack is easy to the eye. Other than a plain IRC client and even other web chats like HipChat, Slack is nicely designed. You can already see how much thought went into this product when you log in for the first time: Instead of presenting you with a plain input form, you’re greeted by “Slackbot” who asks you a few simple questions about your details and sets up your account. Slackbot will also notify you of important events and send you helpful hints.
In Slack, you can create as many chat channels as you like and we’ve set up quite a bunch of them to keep topics separated. Here are a few conversation channels and how we use them:
- #company — our “virtual water cooler” where we talk about what’s going on. This is also the place to let the team know when we’re leaving our desk for a while: “Got to fetch my daughter from school, BBL!”
- #ops — discussing IT issues: “db12 seems to have an unusual load. Does anyone know why?”
- #backoffice — sorting out administrative stuff: “Do you think I should simply call them and ask why they haven’t yet paid their invoice?”
- #helpcenter — consulting the team on support requests: “Here’s someone having a problem with Memcache. You’re more familiar with it, can I assign this to you?”
We also have quite a few “log channels”. And that’s where Slack’s value for us goes through the roof. What differentiates Slack from other solutions is the huge number of integrations that allow us to connect third-party services to a chat channel. With these integrations, we can make sure we get all the information we need simply by subscribing to the right channels.
For example, we make an effort to respond quickly to support requests. While our ticket system will notify us via email, checking our mailboxes every five minutes would completely destroy our productivity. Instead, everyone doing support joins #helpcenter-log. Whoever is free to take on a new request and sees one scroll by can immediately click its link and send out a first reaction. It’s that easy to impress your customers.
Our on-call engineers subscribe to the #monitoring channel where our monitoring systems post continuous updates on the health of our IT infrastructure. That way, they’re able to spot a negative trend even before an alarm is triggered.
In #sales-log, we can see new followers of our Twitter account and who subscribed to our mailing list. Our CRM system also posts updates there when a deal is created, updated, won or lost.
If an update is important enough, we even let services post directly into conversation channels. A team’s Google Calendar might post a reminder for an upcoming conference call right into the team’s channel 10 minutes in advance. New tasks added to an Asana project trigger an immediate notification in the respective project channel.
Slack enabled us to switch from “information pull” to “information subscribe”. Instead of visiting an endless number of web services to get up-to-date on our work, we simply click through a few chat channels. What information is important always depends on the person, on their current role, even on the time of day. Slack allows every member of our team to curate their individual “river of news” from a vast pool of updates. It’s easy to join a channel, and with a click you can leave it again. If there’s a new project or topic, you simply create another channel and invite others with whom you’d like to collaborate.
It’s even possible to extend Slack to people outside of the company, and we’re experimenting with creating permanent channels for key customers where they can engage with us whenever they need.
Mind you, it doesn’t have to be all about work. Slack also helps us learn more about each other as persons. For that purpose, we have a #random channel where we post things that might not be important but interesting or entertaining. Here we post links to articles we’ve just read in Pocket, location check-ins from Swarm or links to new posts on our personal blogs. It’s another way of adding a human touch to sitting alone in front of a screen all day.
A business is a community
A team is more than the sum of its parts. In particular, a team is more than a few people working on company objectives. To achieve a common goal, we need more than tools to coordinate our work. The team machine needs the grease of social interaction. In distributed organisations, social interaction must be facilitated. I can’t just by chance meet Markus on my way back from the toilet and can ask him a quick question about the new test automation infrastructure. These interactions need to be actively sought by everyone on the team and encouraged by their communication tools. It’s similar to an online community where it’s the community managers’ job to foster lively exchanges. With Slack, we find it very easy to strike up a conversation because the combination of posts by team members and the additional information from external services creates a vast pool of opportunities to get in touch. Reactions can be as small and quick as attaching an emoticon to a colleague’s post, like a “heart” or a “thumbs up”.
Tools increase efficiency. Culture grows effectiveness.
With electronic communication tools, there’s always the danger of them doing more bad than good. Information overload, notification fatigue and constant distraction come to mind quickly for everyone who’s ever used Instant Messaging and Social Networks. That’s why it’s important to create a common understanding of their intended purpose and clear expectations for how to use them early on.
We use Slack as a synchronous, real-time communication channel, just like the phone or video conferencing. The convention is that whoever has the time to respond will join the conversation. The others who miss it (intentionally or not) will be informed of any important results in due course. Especially during “Away From Keyboard” time, this prevents FOMO (“Fear Of Missing Out”). While it’s great to be able to scroll back to see what I’ve missed during lunch, I’m not expected to catch up on everything that went over the wire during my absence. Especially after having a few days off, I can rely on my colleagues to have documented everything important somewhere outside of Slack. I can start off again with “Chat Zero”.
Chat notifications help with getting a quick response – when they’re used sensibly. The latter part is important because constant electronic nagging will quickly erode any willingness to keep the chat client running during work that requires any amount of focus. That’s why we use the “@person” or the even more sweeping “@channel” mentions only in exceptional situations that require immediate feedback from a person or a whole group. Everything else we’ll either ask another time later or move to an asynchronous medium like email altogether.
While our Sqwiggle snapshots show who’s in front of their webcam at the moment, we found this indication not reliable enough to determine who’s available to talk. When I’m in a coffee shop, it may be too loud for productive conversations, or I might not even have the necessary bandwidth for a video connection, so I’ll keep Sqwiggle closed although I’m able to chat. Another time, I may want to be visible to my team in Slack but not be distracted by non-urgent messages. So we’ve agreed to switch our Slack status between “active” and “away” to indicate if we’re okay with having a conversation. That way, we avoid the frustration of asking questions into the void without getting any response.
These are only a few examples of how important it is to create a common ground when you’re using electronic communication tools. Especially for people who are new to an organisation, it helps tremendously to have an understanding not only of the “how” (using them efficiently) but also of the “why” (their purpose and the organisation’s expectations around them). That’s why we’ve written a “company runbook” that explains all the different services we use as well as how and especially why we use them.
In five years of working as a remote team, we found that when we apply powerful tools with a clear intention, they create an ROI by orders of magnitude. Slack is a great example.