Using GitHub Project
For project planning and team coordination, you will use GitHub Project. GitHub Projects is a project management tool integrated within the GitHub platform, designed to help teams organize and prioritize their work. It offers a Kanban-style interface where tasks can be visually tracked as cards across customizable columns, facilitating a clear overview of project progress. This feature is especially useful in software development, as it integrates with GitHub repositories, enabling teams to link code commits, pull requests, and issues directly to their project tasks.
This document will guide you through setting up your team's project on GitHub, using a SCRUM framework. We'll walk you through creating a repository, setting up a project board, and managing your work in sprints.
Step 1: Set Up a SCRUM Board
- Create a Project Board: Go to the “Projects” tab in your repository and create a new project.
- Choose a Template: Select the “Automated Kanban with reviews” or "Kanban" template to start with a basic SCRUM board.
- Columns: We recommend using the default column headings (e.g., Backlog, Ready, In progress, In review, Done).
- Add Issues as Tasks: Each task or user story should be an issue. Add issues to your “Backlog” column.
Step 2: Managing Sprints
- Sprint Planning: At the start of each sprint (usually 1-2 weeks), move items from the Backlog to the Ready column. Assign each ready task to a team member. When a team member takes on a task, they are committing to completing the task within the sprint. If the task is too large for the sprint, then split the tasks up into multiple smaller tasks!
- Daily Standups: Use the project board to discuss progress and blockers in regular standup communications.
- Progress Tracking: Move issues through the columns as work progresses. Each team member is responsible for keeping the status of their assigned tasks up-to-date on the sprint boarde.
- Review and Retrospectives: At the end of each sprint, review completed work and discuss improvements for the next sprint.
Step 3: Collaborate and Commit
- Branching: Create branches for new features or bug fixes.
- Pull Requests: Use pull requests for code reviews before merging into the main branch.
- Regular Commits: Commit your work regularly with clear commit messages.
Step 4: Documentation and Reflection
- Update README: Regularly update the README file with project progress and important information.
- Reflect: Use the repository's wiki or discussions feature to document your team's reflections and learnings.
Conclusion
Remember, the key to a successful project is communication and collaboration. Use GitHub as a tool to enhance these aspects of your team project. Good luck, and happy coding!