Async by Default
Source: Dev.to
Overview
My team is 90 % remote. It took us a few years to figure out when to meet and when to write.
Industry‑wide studies say that developers spend only a small fraction of their time writing code. The rest goes into reviewing code, writing documentation, communicating on different channels, and meetings. All these activities fall into two buckets: working alone and working together. Both are important.
- Individual work is when code—and consequently value—is produced.
- Collaboration supports individual work but does not usually produce value directly. In organizations larger than one person, collaboration is unavoidable.
The real question: How do we find the right balance between collaborating with others and individual work?
Striking that balance is often a challenge.
- On one side are technical organizations drowning in meetings. Developers don’t have time to code, and essential technical work moves at a snail’s pace.
- On the other side are anti‑meeting cultures. Developers become disconnected from the business and each other, misalignment grows, technical debt accumulates faster than expected, and team cohesion suffers.
My preferred way to balance collaboration and individual work is by moving some of the collaboration to asynchronous mode. For example:
- Instead of a status‑update meeting, everyone writes an update to the team’s Slack channel.
- Turn a face‑to‑face architecture design meeting into an asynchronous RFC review. (You can read more about using internal RFCs here: )
Async Activities Ranked from Least to Most Difficult
1. Informing
All kinds of reports and status updates can be done asynchronously using Slack, email, or written memos. Written updates are easily shareable and can be referenced later.
2. Problem Solving
Many technical problems are better handled async. When someone needs input, feedback, or review, they can share a proposal or prototype with the team, and people contribute their thoughts on their own time. This reduces interruptions and leads to more thoughtful contributions.
3. Decision‑Making
Decisions don’t always require a meeting. If the facts are clear and consensus isn’t critical, async decision‑making works well. When ambiguity is high—or explicit group buy‑in is needed—a synchronous conversation is worth the time. This is a key judgment call for engineering leads.
4. Innovating
Innovation can be done asynchronously, but the best ideas often emerge from real‑time interactions such as workshops and hackathons. When the goal is creativity, synchronous time has a magic that async cannot fully replace.
5. Building Personal Connections
Personal connections do not thrive through chats and email alone; they flourish when people meet in the same place. Offsites, in‑person gatherings, and regular face‑to‑face calls help teams build trust and work better together. A two‑day offsite can build more trust than months of Slack messages.
Strategies for Implementing Async
Split Planning into Two Parts
- Kick‑offs (feature or large‑increment) are held face‑to‑face to give the team a shared understanding of the bigger picture.
- Detailed technical planning is done primarily asynchronously using RFCs. This prevents premature deep dives while still allowing individuals to flesh out details on their own schedule.
Dailies: Keep or Skip?
For remote teams, a camera‑on daily meeting can be essential—the daily may be the only touch point for many developers, serving both informing and connecting purposes.
For primarily on‑site teams, the daily can be moved to async, with synchronous meetings reserved for addressing blockers.
Async UI Design Reviews
We use screen recordings (sometimes with voice‑over) for UI design reviews. Review requests have clear deadlines and assigned reviewers. This approach saves time and produces better results, as reviewers have time to digest the proposal.
Evaluating Your Collaboration Patterns
Ask yourself:
- Does this activity really need to be synchronous?
- Does the team feel sufficiently connected to each other?
- Would more face time help? With each other? With stakeholders?
- Where is async clarity missing?
- Where is synchronous energy missing?
Getting this balance right can dramatically improve a team’s velocity, alignment, and well‑being.