7.2Async Communication Best Practices for QA
The Async-First Principle
Write as if the reader will see your message 8 hours from now, in a different timezone, with no ability to ask clarifying questions. Every message should be self-contained.
Bug Reports in Async Teams
In a co-located team, a bug report can be terse because you can walk over and explain. In a remote team, every bug report must stand on its own.
Co-located bug report (sufficient):
"The checkout is broken. Come see."
Remote bug report (minimum standard):
Title: Checkout fails for users with multiple saved addresses
Environment: Staging v3.2.0-rc1, Chrome 122, macOS
Steps:
- Log in as test-user-05 (has 3 saved addresses)
- Add any item to cart
- Click "Proceed to Checkout"
- Select the second saved address
- Click "Place Order"
Expected: Order is placed with the second address
Actual: Error "Invalid address ID" appears. Order is not placed.
Evidence: [Screenshot] [Screen recording: 45s]
Investigation notes: The API returns 400 with
{"error": "address_id not found"}. Tested with the first address -- works fine. Seems specific to addresses added after the recent migration.
Message Formatting for Async Readability
| Practice | Why | Example |
|---|---|---|
| Lead with the conclusion | Reader gets the key point immediately | "The release is blocked. Here's why:" (not "I was testing today and...") |
| Use headers and bullets | Scannable in a busy Slack channel | Structure every message longer than 3 sentences |
| Include links | Remove the need for the reader to search | "Bug: SHOP-789, PR: #342" |
| State what you need | Remove ambiguity about the expected response | "I need a decision by EOD Thursday" or "FYI only, no action needed" |
| Use threads | Keep channels navigable | Reply in threads, not in the main channel |
Response Time Expectations
Establish clear norms for how quickly different types of messages need responses:
| Message Type | Expected Response Time | Example |
|---|---|---|
| Blocker | Within 2 hours | "Staging is down, I cannot test" |
| Question | Within 1 business day | "Is this behavior intentional?" |
| FYI / Status update | No response needed | "Sprint 47 testing is 60% complete" |
| Code review request | Within 1 business day | "Please review the test automation PR" |
| Urgent escalation | Within 30 minutes | "Critical security bug found before release" |