Every Cloud Has A Silver Lining…

I think most of us did not have what you would consider “a good time” during the COVID-19 pandemic. I certainly did not. However, I think there were a handful of beneficial things that happened due to society’s emergency restructuring, specifically the part where a huge amount of people went from in-office work to remote work almost overnight. (If you live in Berlin, the other good thing was that many restaurants and shops started accepting credit cards)

I believe that most collaborative work in a software company, specifically in the product, design, and development departments, can be done asynchronously. This post addresses life under normal circumstances, meaning the normal, day-to-day flow of work. If there’s a true emergency (i.e. production is down, the e-mail server has been hijacked by spammers, etc.) that requires all hands on deck immediately then the following won’t apply. Those emergency situations should be very rare… and if they aren’t, you should really work to make them very rare!

Benefits of Async Work

A Paper Trail

My biggest problem with synchronous work is the lack of a paper trail. If we discuss something in a Zoom meeting, that information is then lost to time, unless someone has been taking notes and plans to publish them. Even then the notes are likely only going to include the conclusions and outcomes, without the context or thought processes that lead the group to make those decisions.

By discussing things in writing–in email, on Github issues, via a work tracking program like Jira or Trello, or in any other reasonable venue–the discussion sticks around forever. Anyone who needs context on something can look at the entire conversation that brought the group to make those decisions. If I’m wondering why someone on my team implemented a feature in a given way, or why we went with a given design, I can find the conversation where it was discussed and get myself up to speed on my own time.

No Office Required

When work is planned and executed asynchronously, you don’t need to be in the same room. You don’t have to look at a physical whiteboard to see what to work on next. Everything lives (or should live) in “the cloud,” and your team should be able to contribute from anywhere you can find a decent internet connection.

There are plenty of articles about the benefits of remote-first work, and in general I agree with most of them. In my personal experience, the benefits to working in my own space far outweigh any of the downsides. Having my own tea collection, my own desk and chair, and being able to listen to music out loud on speakers (rather than headphones) while I’m working… all of these things combine to create a state of zen and/or chillness that would be impossible to replicate in an office setting. This chillness, in turn, makes me better at my job, and allows me to enjoy it quite a bit more.

I don’t think full remote work is perfect, though. The main downsides I’ve seen are in terms of socializing with your colleagues, and getting to know each other on a personal level. This is a lot easier in person, when you can chat at the coffee machine or on the walk to the train station after work. In a series of planned Zoom meetings and e-mail threads, it’s a lot more difficult to be spontaneously social in the same way you can be IRL.

Time To Think

If someone asks you a question in real time, they might be expecting an answer right then and there. And you might be inclined to give them one right then and there. But whoa, cowboy, hold your horses a bit… maybe your gut reaction was the right one, but maybe it wasn’t. You know that thing where you’re in the shower, and you think of an incredible comeback for a conversation you had at the bar the previous day? Asynchronous work is like that, except you always have the time to wait a bit, to hold off answering or chiming in, until that perfect response has delivered itself to you. By creating a culture where answers aren’t needed immediately, you give everyone a chance to step back, consider their options, and then put their best foot (or idea) forward.

For The Shy Folks Among Us

Coming up with good ideas and being able to persuade a meeting room full of people of these ideas are completely different skills. I’ve worked with many colleagues who were wonderful at their jobs but weren’t necessarily great at public speaking or commanding a crowd. While those are useful skills to practice in order to succeed in business and life in general, they don’t come naturally to everyone, and that’s totally fine. Some people are naturally more quiet and less outgoing, and they might have trouble asserting themselves or selling their ideas during a realtime meeting. For these people, having written conversations can be hugely beneficial. Writing an email, or posting a comment in a work tracking program, means you can take your time, edit and re-edit your words, and finally submit them when you’re happy with them, without having to do it in public, in a room full of people.

Having lead a team of ten people from about eight different countries, I’ve also found that this helps quite a bit with people who are working in a language that isn’t their native language. At relayr we worked in English and I was, coming from America, in the minority as a native English speaker; most of my colleagues came from countries where English wasn’t the primary language. For people working in a non-native language, the ability to write things down can be extremely helpful, both in understanding your colleagues and in submitting your own ideas. When reading someone’s message, you can look up words, translate it into your native language, and take your time to fully understand it. And when writing things yourself you can do the same: use tools to help you turn your idea into meaningful text, and send it once you’re happy with it.

Hierarchy Of Communication

Here’s a list of all the various ways to communicate, listed in reverse pyramid order. In other words, I prefer those at the top, while the ones at the bottom should be used least frequently. Keep in mind this is just my opinion, and only addresses what I consider to be the routine work of producing software.

Work Planning Software

The best thing a company can do is to have a single source of truth, where all work can be planned, viewed, tracked, and documented. Jira, Trello, Basecamp, even Github, or any similar service (there are dozens of them) will work. The most important thing is that the program matches how you, your team, and your company want to work, and that you aren’t fighting with it to get things done.

A well-configured planning program can allow you to brainstorm, write down ideas, refine these ideas, build them, deploy them, and follow-up on any future work that has to be done, all in one place. The entire process is visible to everyone, transparent, and makes it very clear what’s happening, who’s doing it, and what the history of a given task is.

It also doesn’t have to be one service. A Trello-style Kanban board for planning and tracking work paired with a wiki-style documentation program would solve the majority of problems a team might have, and most of these programs will have easy integrations with one another that allow you to link things quickly and easily.

E-Mail

The old standard! Simple, straightforward, and accessible to everyone. Anyone can write an e-mail. It works from every size, from a tiny request or an invitation to a specific pizza place for lunch, to long, in-depth discussions

The downsides: you have to have been included on a thread to have access to it. A discussion had via e-mail isn’t visible to anyone who wasn’t part of it initially.

Chat

I don’t generally believe that a chat program, like Slack or Discord or IRC, is a good forum for getting real, deep work done. That type of chat is generally “AIM” style (or “ICQ” style for our European friends), which means short sentences and generally no punctuation. It’s difficult to express long or more nuanced ideas when you write one or two lines at a time, and the nature of chat makes people more likely to respond quickly to incoming messages than to step back, take their time, and respond with a fully-formed thought.

Chat is great for contacting your colleagues and asking brief questions. It’s quicker and more casual than email, and can be great for setting up a later conversation, asking small questions, or sending funny memes to your team.

Real Time Conversation

Meetings, phone calls, Zoom calls, or anything else that involves speaking to other people in real time. These require people to be fully present, concentrating, and not working on anything else. This means that an hour meeting with seven people takes up a total of seven people-hours of work. Any major decisions or discussions that occur during a meeting need to be captured, meaning either someone takes very good notes and publishes them for everyone to see, or if not then all of that knowledge disappears into the air.

Many meetings, as most of us probably know, have too many people in them, are too unfocused, and probably unnecessary. They tend to favor people who are good at selling things in a public, out-loud setting. The ins and outs of running quality meetings could fill several posts on their own, so I won’t get into those here.