August 17th, 2021
by Mihir Patel
Remote work environments are booming, but they’re not without problems. Modern teams are distributed across many regions, consisting of product managers, designers, and developers. Collaboration is required from everyone at all times, and effective asynchronous communication is no longer a luxury—it’s a necessity.
Remote teams lack the in-person communication which can prove so effective at working through problems in real-time. How do we ensure email and online messaging aren’t outdated? Design systems can solve this.
Modern software development teams have to manage several streams of communication channels. Emails, Jira comments, Slack and Microsoft Teams notifications, Google Docs feedback, and let’s not forget bot notifications. If you’re an engineer, add notifications from pipeline deployment failure, code quality scans, and version control system tools such as Bitbucket or GitHub.
With so many communication channels, you can quickly find yourself drowning in messages. Putting things off isn’t the solution either; collaboration can quickly derail if you aren’t actively responsive.
Communication debt referes to the constant drainage on teams due to the abundance of notifications and messages. Communication debt represents all of the knowledge-sharing, messages, and notifications that need your attention, and in some cases, a response. If you’re spending time on one communication channel, the others are being queued up.
For a team to be collaborative, communication is critical. Without discipline around managing communication, the morale and focus of your team can be significantly reduced. So how do you manage it?
Written Communication is a Remote Work Superpower
Being a good writer helps massively, irrespective of different job roles. In fact, good written communication should be a requirement for being part of a software development project.
We are all in the documentation business. Documentation allows us to organize our thoughts and communicate with others at scale—without interrupting colleagues.
When I was a part of a design system team, we wrote clear documentation around every topic. This included standards on writing acceptance criteria, required fields during ticket creation, testing tools, and methodologies.
A culture of documentation benefited core team members, as well as those outside our direct team. Instead of pinging a designer about spacing rules I could refer to documentation, meaning neither of us got interrupted.
Similarly, if you have some information that could benefit the whole team, document it in an accessible location. An internal wiki is a great place to do that. If you’re looking for inspiration, check out the GitLab handbook or use our team handbook template to easily get started.
Another benefit of documentation is its accessibility; you can refer to it at any time, which is absolutely critical for teams that work asyncrhonously. Chats and video calls often cause you to distract someone who’s busy, especially since you lack the context of seeing them in person. Modern documentation tools also allow you to access version history for historical context.
However, documentation has its limitations. If everyone is documenting everything, you can lose discoverability, so try to only document what’s useful. For example, documenting daily goals or updates and archiving them on a wiki can create unnecessary clutter. Documentation has to be central to your culture too; if nobody is reading it, it’s useless.
Now let’s talk about linear conversation, and how maintaining it can be hugely beneficial.
Daily Standup for Remote Teams
Fill in the gap of chronological updates from your team with a daily standup. Work on collecting updates, summarizing them, and sharing them at the same time every day to create a routine. This will help team members—especially managers—avoid bad habits, such as pinging others every time they have a question.
Imagine a distributed team where a manager is clueless about the progress being made by their team. This could lead them to constant messaging or frequent one-on-one sessions, none of which is ideal for productive remote work.
Remote tools are a great way to alleviate these problems. Tools such as Status Hero are great for tracking daily goals, activity, and status updates from your team. Plus, it can be integrated with email, Jira, GitHub, and Slack. Tracking like this eliminates the gray area of wondering who is working on what, eliminating unnecessary messages and notifications.
The benefit of a tool like Status Hero is it forces people to think harder about what to write for their daily updates. Written communication can be far more effective than video calls that frequently go off on a tangent and fail to address the key point of the call. Plus, written communication is a lot more comfortable for those who are shy and uncomfortable talking over a video camera.
Team members should produce daily updates that people enjoy reading. Updates should leave people feeling like they have the information they need, what’s expected of them, when it’s expected, and who to contact if problems arise. The goal is no surprises, no hidden expectations, and visibility around team goals and progress. If people have to synchronously talk to you or wait for a specific meeting, work on improving your daily update so it is more clear. Communication is an iterative process, improvements can always be made.
Conduct Meetings More Thoughtfully
Eliminate unhealthy expectations of team members when it comes to communication. Demanding everyone respond to messages and notifications at all times will inevitably shatter the morale of your team. “Reply now” is a dark pattern for productive teams; it disrupts flow by creating unnecessary urgency.
Reducing communication debt is everyone’s responsibility. Schedule your necessary synchronous meetings at a time beneficial for everyone, sharing the meeting agenda ahead of time. This will keep non-urgent meetings to a minimum. Synchronous meetings benefit asynchronous teams, but it requires the entire team to be thoughtful on how to approach them.
On my team, we alternate between daily standups and critiques. On the critique session days, our product manager asks everyone to post their topic alongside the time required for discussion. All messages are threaded on Slack. Critiques take an hour, with about 10-15 minutes maximum allocated per slot.
A critique session allows for about five topics per session. Some days we have more than five topics, so we take the non-urgent topics off the list and handle them asynchronously. Alternatively, we simply post on a core channel visible to everyone and tag a person to get feedback.
Overall, critique sessions are a great way to eliminate communication debt. For example, ordinarily a developer may look to schedule a late afternoon brainstorming session. But with critique sessions in place, they can just wait for the following day. This also allows for broader team visibility on who is stuck on what, or insight around the kind of feedback team members are looking for.
Managing communication is an iterative process that demands commitment from your whole team. One approach may not work, but by trying different methods you’ll find something that clicks for your entire team.
Knowledge sharing is great for any team, no matter what your specific role is. Documentation, tools like Status Hero, and thoughtful meetings will increase the productivity of your remote team significantly. Communication cannot be eliminated, since collaboration is required for software development teams. However, if everyone on the team does their part, communication debt can drop markedly.
How we communicate in a remote work environment is being reimagined constantly; the teams who adapt to best practices the quickest will produce the best software. With a dedicated communication strategy, you’ll be well on your way to success.