Collaboration
Internal Collaboration
Collaboration workflows and tools within the team
Collaboration Tools
Principle for choosing tools: Tools serve the process, not the other way around.
Project Management
- Jira / Linear / GitHub Projects: Task tracking and Sprint management
- Choose one primary tool — don't run multiple tools in parallel
Documentation
- Notion / Confluence / Google Docs: Knowledge base and document management
- Keep technical docs close to the code (e.g., README, ADR)
- Keep non-technical docs in a unified knowledge base platform
Code Collaboration
- GitHub / GitLab: Code management and Code Review
- PR templates: Describe what changed, why, and how to test
- Branch strategy: Clearly define main / develop / feature branch usage
Instant Messaging
- Slack / Teams / Discord: Daily communication
- Create channels by project or topic — avoid mixing all discussions together
Collaboration Workflows
Document-Driven
- For important features, write a design document first — discuss and approve before developing
- Record technical decisions with ADRs (Architecture Decision Records)
- Meetings have meeting notes, decisions have decision records
Remote Collaboration
- Establish remote work guidelines with clear online hours and response expectations
- Manage timezone differences — core collaboration hours should overlap
- In async communication, provide full context — don't assume the other person knows the background
- Schedule regular in-person or video gatherings to maintain team connection
Task Collaboration
- Every task has a clear owner and deadline
- Communicate dependencies in advance — don't discover blockers at the last minute
- Ask for help promptly when stuck — don't stay blocked alone for too long