Team Collaboration Standards
This document outlines the standards and best practices for team collaboration across all Bayat projects.
Channel Selection Guidelines
Communication Type
Preferred Channel
When to Use
Quick questions
Slack/Teams
For immediate, non-critical questions
Project discussions
Project management tool
For discussions related to specific tasks or issues
Technical decisions
Pull requests/Code reviews
For code-related discussions and decisions
Design feedback
Design review tools
For providing feedback on design artifacts
Urgent matters
Direct call/Meeting
For critical issues requiring immediate attention
Knowledge sharing
Wiki/Documentation
For sharing information that should be preserved
Status updates
Daily standup/Project management tool
For regular progress updates
Respect team members' focus time
Set clear expectations for response times
Use asynchronous communication when possible
Be clear and concise in all communications
Include all relevant information in initial messages
Use appropriate formatting for better readability
Always provide context for questions or discussions
Issue Management Workflow
Backlog : Issue is identified and added to the backlog
Triage : Issue is reviewed, prioritized, and assigned to a milestone
Ready for Development : Issue is fully specified and ready to be worked on
In Progress : Work has begun on the issue
In Review : Work is completed and ready for review
Done : Issue is resolved and closed
Every issue must include:
Clear, concise title that summarizes the issue
Detailed description with steps to reproduce (for bugs)
Expected outcome or acceptance criteria
Priority and severity labels
Related components or modules
Relevant attachments (screenshots, logs, etc.)
Links to related issues or dependencies
Bug Report Template
Feature Request Template
Technical Debt Template
Documentation Request Template
Sprint length: 2 weeks
Sprint Planning: Beginning of each sprint
Daily Standup: 15 minutes, same time each day
Sprint Review: End of each sprint
Sprint Retrospective: After each sprint review
Backlog Refinement: Weekly, mid-sprint
Limit Work in Progress (WIP) to 2 items per developer
Pull system for new work
Regular process reviews
Explicit process policies
Visual management board
Story Points and Estimation
Use Fibonacci sequence (1, 2, 3, 5, 8, 13, 21)
Estimate as a team during planning/refinement
Base estimates on complexity, not time
Track velocity over time
Re-estimate stories that change significantly
Meeting Types and Cadence
Meeting Type
Duration
Frequency
Participants
Daily Standup
15 min
Daily
Development Team
Sprint Planning
2-4 hrs
Bi-weekly
All team members
Sprint Review
1-2 hrs
Bi-weekly
All team members, stakeholders
Retrospective
1-2 hrs
Bi-weekly
All team members
Backlog Refinement
1 hr
Weekly
Product Owner, Team Lead, Selected Developers
Design Review
1 hr
As needed
Designers, Developers, Product Owner
Technical Discussion
1 hr
As needed
Relevant technical team members
Always have a clear agenda
Start and end on time
Document decisions and action items
Designate a facilitator for each meeting
Send meeting invites with sufficient notice
Include relevant materials with invites
Follow up with meeting notes
README files for repositories
Project wikis for knowledge bases
API documentation
Technical design documents
User guides
Onboarding documentation
Meeting notes and decisions
Use Markdown for all documentation
Follow consistent formatting
Include timestamps and author information
Version control all documentation
Regular reviews and updates
Clear naming conventions
Appropriate level of detail
Developer creates a pull request
Automated checks run (CI/CD, linting, tests)
At least one team member reviews the code
Feedback is provided and addressed
Additional review if significant changes are made
Approval and merge once requirements are met
Review for design and architectural concerns
Check for adherence to coding standards
Verify test coverage
Look for security vulnerabilities
Ensure documentation is updated
Provide constructive feedback
Respond to reviews promptly
Knowledge Sharing Activities
Weekly tech talks (30 minutes)
Monthly deep dives (1-2 hours)
Pair/mob programming sessions
Documentation days (quarterly)
Internal blog posts
Shared reading lists
Conference attendance and reporting back
Assigned mentor for new team members
Structured first-week plan
Documentation of common tasks and processes
Regular check-ins during first month
Gradual increase in responsibility
Early involvement in code reviews
Standard Collaboration Tools
Purpose
Tool
Usage
Code Repository
GitHub/GitLab
Version control and code collaboration
Project Management
Jira/Azure DevOps
Task tracking and project planning
Communication
Slack/Microsoft Teams
Team communication and notifications
Documentation
Confluence/GitHub Wiki
Knowledge base and documentation
Design
Figma/Adobe XD
Design collaboration and review
CI/CD
Jenkins/GitHub Actions
Automated builds and deployments
Code Quality
SonarQube/CodeClimate
Code quality and security analysis
Time Tracking
Harvest/Toggl
Time recording and reporting
Standard project templates
Consistent naming conventions
Integrated workflows between tools
Single sign-on where possible
Automated notifications between systems