# Team Collaboration and Progress Tracking This document outlines the methods and tools for effective team collaboration and transparent progress tracking for the Copper Tone Technologies platform development. Given the distributed and potentially multi-person nature of this project, clear communication and visibility into ongoing work are crucial for success. ## 1. Principles of Collaboration * **Transparency:** All work, progress, and decisions should be visible to the entire team. * **Accountability:** Each team member is responsible for updating the status of their assigned tasks. * **Communication:** Proactive communication about blockers, challenges, and completed work is essential. * **Mutual Support:** Team members are encouraged to help each other and review work. ## 2. Tools for Task Management and Tracking We will leverage our self-hosted Gitea instance for comprehensive task management and progress tracking. * **2.1. Gitea Issue Tracker:** * All features, bugs, enhancements, and tasks identified during planning or development will be created as issues in the Gitea repository. * **Issue Fields:** Each issue should include: * **Title:** Clear and concise description of the task. * **Description:** Detailed explanation, context, and acceptance criteria. * **Labels:** Categorize issues (e.g., `feature`, `bug`, `enhancement`, `frontend`, `backend`, `P1`, `P2`). * **Assignee:** The team member responsible for the task. * **Milestone:** Link to relevant project milestones (e.g., "Phase 1 Completion"). * **Due Date:** (Optional) If a specific deadline exists. * **Status:** Managed via Gitea's built-in status (e.g., `Open`, `In Progress`, `Closed`). * **2.2. Gitea Project Boards:** * Gitea's project boards (Kanban-style) will be used to visualize the workflow and track the status of issues. * **Columns:** Example columns could include: * `Backlog`: Tasks identified but not yet prioritized. * `To Do`: Prioritized tasks ready for development. * `In Progress`: Tasks currently being worked on. * `Code Review`: Tasks awaiting code review (via PRs). * `Testing`: Tasks being tested in the `testing` environment. * `Done`: Completed tasks. * Team members will move issues through these columns as they progress. ## 3. Workflow for Task Execution and Updates 1. **Task Selection:** Team members select tasks from the `To Do` column in the project board, typically assigned to them or picked up based on priority. 2. **Branch Creation:** As per the Git workflow, a new `feature/*` or `bugfix/*` branch is created for the task, linked to the Gitea issue. 3. **Status Update:** The assigned issue in Gitea is moved to the `In Progress` column. 4. **Regular Updates:** Team members provide regular (e.g., daily) updates on their progress within the issue comments. This includes any blockers encountered. 5. **Code Collaboration:** All code changes follow the Enterprise Git Workflow (refer to `docs/project-plan/Git-Workflow.md`), including code reviews via Pull Requests. 6. **PR & Review:** When a feature branch is ready, a PR is opened. The PR should reference the associated Gitea issue. Once CI passes and the PR is reviewed and approved, it's merged into `develop`. 7. **Testing & Staging:** Once merged into `develop`, the code progresses through the `testing` branch and corresponding staging environment. The issue is moved to the `Testing` column. 8. **Completion:** Once a task is fully tested and verified, the associated Gitea issue is closed. ## 4. Communication Channels * **Asynchronous (Gitea Issues/PRs):** Primary channel for task-specific discussions, decisions, and documentation. * **Real-time (Matrix):** For immediate questions, quick discussions, and informal communication. Our self-hosted Matrix server (Synapse) will be used for this purpose. Team members should join relevant project chat rooms. * **Regular Sync-ups:** Short, daily stand-up meetings (virtual) to discuss: * What was accomplished yesterday. * What will be worked on today. * Any blockers or issues. ## 5. Knowing Others' Progress * **Gitea Project Boards:** The primary visual tool to quickly see the status of all active tasks. * **Gitea Issue Tracker:** Filter and search issues by assignee, label, milestone, or status to get detailed insights. * **Matrix Chat:** General announcements and quick check-ins. * **Daily Sync-ups:** Provides a verbal overview of team progress and immediate blockers.