When we started hashpurple, we made a deliberate choice: async-first communication by default, real-time when necessary. This wasn't just a preference. It was a hypothesis about what makes teams effective.
What async-first actually means
Async-first doesn't mean never meeting. It means that the default assumption is that you'll communicate through written documentation, shared context, and thoughtful updates — and that you'll reserve synchronous time for the things that genuinely need it.
The practical implication is that writing quality matters enormously. If your team communicates primarily through text, then the ability to write clearly and concisely is a core competency, not a nice-to-have.
The unexpected benefits
We've found some unexpected advantages to async communication. It creates a natural record of decisions and their reasoning. It gives people time to think before responding. It's inherently more equitable — people who aren't native English speakers, people who are introverted, people who are in different time zones all have more equal access to participation.
When to go synchronous
Some things genuinely need real-time communication: emotionally sensitive conversations, complex system design discussions with lots of unknowns, and anything where misunderstanding the tone of text could cause real damage. We protect synchronous time for those things.
The key insight is that synchronous meetings are expensive — not just in calendar time, but in the context-switching cost for everyone involved. When you treat them as a scarce resource, you tend to use them more carefully.