Always prefer async communication over sync communication. Sync communication is costly, and interrupts people’s thought processes and productive execution - that being said, sometimes it is indeed necessary to have a sync interaction, just make sure it is for the right reasons.
When using Slack or similar, try to communicate as much as possible in channels that everyone can access rather than private channels, whenever that can be avoided. We prime visibility and open dialogue.
Always communicate openly whenever possible. As we scale, this is a vital best practice; closeted opaque discussion removes the ability of other team members to collaborate. This is driven by our transparency value.
So if the conversation doesn’t need to be private, discussions should not happen privately. Where possible, create a document or a GitHub issue, a Notion page first, and then start the discussion.
If you use emails, include a Google group. If you use Slack, avoid DM’s.
When something comes up that could/should be documented (which is nearly everything), use documentation-first practices:
Who is going to document this?
When handing something over, the hand-off is not complete until you have some form of acknowledgment from the other party. Until then, you remain the owner of the action item/issue.
As long as you are the owner of something, you need to actively work to move that action item forward. If you can't, you are responsible for seeking help or a hand-off.
This prevents "throwing things over the fence" and promotes ownership.
Items that are 'in limbo' are so because of a failure to follow handshake protocol or failure of ownership of the current owner.
Examples
Easiest, most common: