Tools to Power Distributed Work

The way we build software and collaborate is going through an accelerated evolution as more organizations adopt distributed and hybrid (partially in person) work. In both cases, tools and processes will be designed for distributed work first, which can then be adapted to in-person more easily than the other way around.

There is a lot of innovation coming in the tool stack to facilitate these new practices, which I’m personally excited about and plan to follow closely.

The principles that I think will become the most important for these tools are:

  • Asynchronous: Tools should enable both asynchronous and synchronous collaboration seamlessly. This should apply to both short and long-form communication (which should also have separate interfaces). Examples of tools that do this well are WhatsApp and Slack, which are both probably more important to me than email now.
  • Transparent: Organizations will move more towards ‘transparent by default’. This will allow more people to have more context and create more trust in organizations. A challenging problem to solve is information overload, allowing teams to better separate signal from noise, and picking most important things to consume and act on.
  • Connected: Organizations will want to collect and record more data on work created in the organization. Tools will need to be more connected (i.e. use APIs to talk to each other better) and information will need to be better organized and accessible across the organization.
  • Consistent: To be effective, a minimum set of collaboration tools need to be accepted and used by the organization, which can be difficult at scale as it may involve both cultural and behavioral change. This is pretty self-explanatory (I don’t go into more detail below).
  • Measurement: As work moves to the cloud, and we collaborate digitally, we will need more tools to measure productivity and organizational effectiveness, culture and morale.
  • Human: There will be more focus on being human and building broad and deep relationships inside and outside organizations. In person time is still great for driving creativity, serendipity, building trusting relationships, and humanizing work. We will find more ways to simulate these experiences virtually.

I’ll explore these in more detail below.

Asynchronous

Building a culture, a set of tools and a set of practices that allow for asynchronous work is the foundation for distributed teams. It’s more inclusive because it allows for people in multiple time zones (or working hours) to process information and give feedback. Systems that work asynchronously that can be adapted seamlessly to work synchronously (e.g. Slack) are great where communication can be organized around projects, teams or topics.

I think this should apply to audio, video and text. I’ve not come across tools for async Audio and Video (possibly Loom) in the workplace. I used WhatsApp personally for sync/async text and audio the most. We recently took a long (1.5hr) townhall video and ‘chunked’ it down to its components and pulled it together in a blog post so that teams in different time zones could consume it asynchronously. It was very well received, especially as we did it very quickly, so it was ready in a few hours after the presentation (but a tool would help do this faster).

There are arguments that asynchronous work can slow down the pace of iteration or reduce ‘riffing’ off each other to create better solutions. I think that these are fair points, but most of this kind of riffing is useful at crossroads or can happen in very small groups and teams can create synchronous time for this if necessary. I think synchronous collaboration (and in person) is especially effective for new projects which require finding product market fit, where rapid iteration and creativity are even more critical.

Transparent

I think that more companies will work more openly in the future. We will trust our employees with more, and they will have more context for their work. This applies to both short form communication (chat) and long form communication.

In order to enable this (particularly for long form communication) we need a set of tools that allow employees to be able to collaborate in the open. At Automattic we use a tool called P2 which allows us to publish anything openly (structured as a blog post) and for our colleagues to like, ask comments and questions and collaborate in the open (Notion also works well). We’re able to pull in information from other tools and embed them into the post or link to other areas of work that are relevant. We need to make improvements on how this information is organized and the ‘state’ of a post (e.g. is it ‘active’ or ‘closed’? which project does it relate to? how high priority is it?). We’ve tinkered with some ideas but not settled on anything just yet as we were worried about increasing the friction to share with colleagues.

In addition to building systems to share openly, we also need to think through the subscription and notification systems to alert people to the right information they need for their work at the right cadence and the right priority. Different people need different levels of breadth vs. depth depending on their role.

A crucial benefit of working openly and making this information easily discoverable (indexed, searchable) is that the work exists regardless of the organization’s mix of people. As employees move to different teams or companies, or when new people join the company the decisions and the reason behind these decisions is always available.

Connected

Organizations want to control more of their own information. As we rely more and more on external SAAS tools to power our work our internal data is more fragmented than ever.

Organizations need to be able to extract and record information from these tools which is currently difficult and requires a lot of custom integration work. Many SAAS tools make this difficult because they know that we are less likely to churn if we are reliant on their platform as a source of record.

Creating connected tools and workflow that enables data to move between these tools and ultimately be owned and stored by the organization is important. Once this (difficult) part is complete, building a UI (and search tool) to discover this information is a natural extension.

A few interesting companies innovating in this space include: PlaybookOnnaBento, Solve Data and Rock (which is a broader solution).

Measurement and Productivity

We don’t have good systems to track productivity for individuals, teams or projects especially as our teams become more distributed (and tools become more cloud based) and we become more output focused.

Managers need both qualitative and quantitative data to monitor teams more objectively with less bias, but employees also need to feel like they are part of the process and are not being micro-monitored.

Organizations need to log and visualize this data over time and understand that this is an input into productivity and does not tell the full story.

I wrote a detailed post covering this topic here – https://aadil.blog/2020/12/18/measuring-productivity-of-distributed-teams/

Human Relationships

Relationships are important for collaboration and teamwork. Trusting relationships in our immediate teams and around the organization can lead to more productive, more creative work with more candid conversations that get to better outcomes faster.

Even at Automattic, which has been distributed since 2005, we’ve relied on in person team meetups and a global ‘grand meetup’ to help build relationships and foster serendipity in the organization. There is value to seeing colleagues in person, enjoying lingering (less transactional) conversation, and eating and drinking together.

As we move towards more distributed and hybrid models of work, we will need to make sure that we create opportunities to build relationships (deep and broad), humanize our interactions during work, learn from each other and have fun with each other both within and outside our organizations,

A few interesting companies innovating in this space include RemotionLunchclubStart Playing GamesContra and On Deck.

Hiring and Onboarding (Bonus)

Hiring and onboarding of employees also evolves in a distributed environment. Hiring may take longer and leverage more text based (short and long form) collaboration trials versus traditional in person interviews. There are advantages to this process — it feels more two-way than one way, and helps remove more bias, and is more reflective of our actual work.

Onboarding and training employees needs a clear process which can be less rigid than typical onboarding bootcamps at larger organizations (and asynchronous). To achieve this we need better documentation and need to humanize the process as much as possible (e.g. pairing new folks with buddies, recording welcome videos for context etc) while giving employees the tools to onboard and contribute at their own pace (with guardrails, of course).

A few interesting companies innovating in this space include RipplingDonut and SkillMagic.


I remain very positive and excited for the future of how we build software and collaborate as humans. The more we can remove physical barriers to build high quality creative products the more we can improve liquidity in the global labor market and find the right people for the right jobs regardless of their location. This is is an exciting future, and better tools will continue to power this movement.

Setting up for Distributed Work

I work at Automattic where I lead a distributed development team. I shared a few thoughts from my first few months working at a distributed company.

Working remotely is a topical issue (March 7, 2020) given the spread of the Coronavirus, and many companies asking employees to work from home.

I will share some additional thoughts on:

1) Why distributed work is going to become even more important and mainstream.
2) Tips for setting up and running your distributed team.

Why Distributed?

The availability of high quality collaboration software combined with the availability of fast, reliable internet all over the world is making distributed work easier and more common by the day, especially for technology companies.

Many amazing technology companies in the world have set themselves up as ‘distributed first’ including Invision, Gitlab, Zapier, Basecamp, Upwork, Stripe (later) and Automattic to name a few and have grown to significant scale (1000+ employees). As companies reach significant scale and become even more global (e.g. Google and Facebook), they run more and more distributed teams collaborating towards the same goal.

Distributed work has a lot of advantages for your business; you’re able to recruit globally, your teammates have more flexible hours, working environments and mobility which ultimately expands the available talent pool and improves employee retention.

You’re also able to set up systems and institutionalized knowledge for your company that do not rely on synchronous, in person interaction which are more durable over the life of your company.

Here are a few good resources about distributed work:

Running distributed teams

If you’re thinking about setting up your company to be a distributed company, then the most important thing to do is set up your company as ‘distributed first’ from first principles. Even if you do have one or many offices you need to set up your culture and systems to make all employees feel like first class citizens no matter their location. At Automattic, we have a written creed and one of the ones I really like is ‘Communication is Oxygen‘.

Practical advice

Set of common tools and norms: Decide on your norms are for the business – this does not have to be perfect in the beginning, but write something down then iterate. For example, we don’t email each other at Automattic – Slack is for synchronous discussion, P2 (our internal blogging tool) is for long form writing and roadmapping, and Zoom is for video communication (we never have audio calls). Here is a minimum set of tools you’ll need all functions:

  • G Suite: This is a no-brainer as you get email, calendar, storage, document and spreadsheet capabilities all easily shared in your organization.
  • Long form communication/collaboration: Basecamp, Notion, and Confluence are all good workplace solutions and the first two are more opinionated wheras Confluence is a bit more flexible and connects better with external tools but needs more set up and customization. Google Docs is also an alternative.
  • Chat: Slack is the most common, and works generally well. It’s not great when you have poor internet and I’ve seen folks use WhatsApp as an alternative given the speed and reliability.
  • Meetings: If you’re going to have meetings, choose a tool like Zoom that everyone uses. For recurring meetings or 1x1s, like to add a Zoom link to the calendar invite and a synced Google Doc for that meeting to it so that notes can be taken and shared more broadly if necessary.
  • Project management: There are lots of good project management tools but I like Asana the best. Trello is great for simple boards and many engineers like GitHub Issues as it’s close to the code but works less well for non-development folks. Jira is the most customizable and robust product for complex and established workflows but requires a fair bit of set up to be useful.
  • Standup: Many teams like to do asynchronous standups. I like the following questions and a tool like Geekbot is easy to use to administer in Slack:
    • How are you feeling? Colors (R/Y/G) or Thumbs (Up, Down) to give this structure.
    • What did you do yesterday?
    • What are you doing today?
    • Where are you blocked?

Async and written: Set up your systems to be “async and written first” and have clear escalation paths to notify your colleagues if something is urgent or you are blocked. Long form, written content forces you to think and communicate clearly and exposes the gaps in your own thinking. It takes more time to write, but ultimately the trade off is worth it especially at scale.

Public by default: Many companies communicate privately or in small groups by default. In reality, most communication which is not about sensitive topics (usually people/hr) should be public, especially if it about product or priorities. Defaulting to public first allows more people across the organization to learn from each other and to dive in and get more context rapidly if they require it. There is some risk of information overload or separating out what is important from what is not, but this is something that you get better at with practice.

Quality video and audio matters: I still think synchronous communication can be important, in particular 1x1s with your direct reports, managers and close peers. When you do have synchronous meetings having quality video and audio matters. Good lighting and a decent mic does matter when having video calls. I recommend a boom headset/mic combo like this Seinheiser USB Mic, over bluetooth alternatives.

Time zones are hard: Even if you set up good systems for distributed, asynchronous work, a very large spread in time zones can be hard for building a team’s culture, feelings of isolation and unblocking colleagues. If you can set up teams with reasonable time zone overlap, it’s easier.

Onboarding guide for new employees: Invest in a written onboarding guide for new employees with a checklist they can complete themselves. Ask each new employee to improve this onboarding guide for the next person.

When being in person is better

There are times where being together is superior to working distributed and asynchronously. It’s also worth trying out virtual meetups – synchronous and distributed versions as well (time zone permitting) which can be less expensive and time consuming for everyone.

New teams / new projects: For new teams working on new projects together, it can be helpful to have some time together to kick off the project, especially if it’s a substantial investment from the company. Group conversation can spark creativity and being in person helps accelerate the process of team bonding, creating alignment and hashing out the inevitable differences between vision, personality types or different working styles. It is be great to summarize this in a co-written document of priorities and team norms and roles.

Change Management: If the company or team needs a change it can be harder / slower a distributed environment. It’s more challenging to rapidly understand and improve the energy and output of teams rapidly as some of the feedback loops from in person real time communication do not exist in the same way. It requires adapting or replacing your mental models as a manger to a distributed working style (an area I where I personally need to develop).

Building human connections: When working with people, it’s simply easier to build trust and better human connections in person. Sharing a meal or a drink and laughing with them in 3D is much more engaging than a 2D Zoom call or Slack exchange.

Personal: Working from home can lead to feelings of isolation or lack of separation of work/life. I’ve personally enjoyed spending more time with existing friends and family (and being fully present) and shutting off your work notifications (closing Slack, Email etc) in pre-set windows.

Helpful resources

There are a lot of good articles and guides out there for remote work and here are a few of my favourites: