Communication Norms
Default to async and write it down. A meeting is the most expensive channel; use it last. This flow decides where a message belongs.
flowchart TD
A["I need to communicate"] --> B{"Decision or work<br/>that must be tracked?"}
B -->|Yes| C["Work item<br/>in Azure DevOps"]
B -->|No| D{"Durable knowledge<br/>others will reuse?"}
D -->|Yes| E["Wiki page or repo doc"]
D -->|No| F{"Needs a real-time<br/>back-and-forth?"}
F -->|No| G["Chat<br/>async, expect a delay"]
F -->|Yes| H{"Can it wait for a<br/>standing meeting?"}
H -->|Yes| I["Bring to standing meeting"]
H -->|No| J["Call it — short, invite only who's needed"]
Channel rules
Section titled “Channel rules”- Work item — anything that is a decision, a task, or status. If it isn’t in Azure DevOps, it didn’t happen.
- Wiki / repo doc — durable conventions. ADRs, runbooks, and AGENTS.md live in the repo; the wiki is the index. See Engineering.
- Chat — async by default. No expectation of an instant reply; @mention only who’s needed.
- Meeting — only for real-time back-and-forth that can’t be resolved in writing.
Standing meetings
Section titled “Standing meetings”Defined in one place only: Communication Cadence — standup, written status, client demo, retro, and cadence planning, with the owner of each. This page tells you which channel a message belongs in; that one tells you when the meetings are.
Working hours & core overlap
Section titled “Working hours & core overlap”- Business-hours company — not a 24/7 pager. Support runs a business-hours SLA (see Run & Support).
- A core overlap window each day is when synchronous work happens; outside it, work async.
- Respect focus time — batch non-urgent pings, don’t drip them.
See Leave & Remote for the exact core hours and remote norms.