Engineers sometimes treat documentation as what you write when coding is done. I have led teams where the opposite was true: clear SRS, ERDs, and infrastructure diagrams were how we shipped 1-2 weeks early. Not because paperwork is magic. Ambiguity is expensive.
Ambiguity taxes every standup
Without a shared picture, teams debate the same question daily:
- Is this a metafield or a database column?
- Who owns credit limit enforcement?
- Is POS allowed to call that API directly?
- Which env is source of truth for webhooks?
Docs do not eliminate debate. They move it earlier, where changes are cheap.
What “good enough” architecture writing looks like
I do not aim for novel-length specs. I aim for artifacts that survive contact with implementation:
- Problem statement: who hurts, what outcome matters
- In-scope / out-of-scope: especially out-of-scope
- Domain model / ERD: entities and relationships
- Runtime diagram: Admin/POS/Checkout/Functions/Lambdas/DB
- Failure modes: retries, idempotency, fail closed/open
- Delivery slices: what ships first without pretending the end state arrives day one
If a doc cannot help a new engineer make a correct decision in week one, it is decoration.
Diagrams must match deployables
A beautiful box diagram that ignores Shopify extension targets, Terraform workspaces, and queue boundaries will mislead. Draw the thing you can deploy and observe. Include the awkward parts: manual Lambdas, cron that still exists, Lightsail vs ECS differences.
Docs rot is a process problem
Docs die when updating them is nobody’s job. Practical habits:
- Require diagram/doc touch on PRs that change boundaries
- Keep docs next to code when possible
- Prefer short living docs over perfect abandoned ones
- Capture decisions (light ADRs) when tradeoffs are heated
Mentoring lives in artifacts
When you mentor developers, a crisp architecture doc multiplies you. You are not endlessly re-explaining the system verbally. You are teaching people to navigate a map, and to improve the map.
Leadership takeaway
Technical leadership is often framed as meetings and velocity charts. A large part of it is making complexity visible early enough that the team can still choose.
Write the map. Keep it honest. Ship against it.
