GitHub - How to Do Project Management
It is possible in GitHub’s Projects
tab to create Scrum-style Product Backlogs, Sprint Backlogs, and Sprint Task Boards that show User Stories and Tasks and Spikes organized into easy-to-comprehend groupings.
Each repository must have a separate Task Board set up for each Sprint.
Set up a GitHub Project
Create a GitHub Project for Scrum-style development, do the following:
- Go to a repository
- Click on the
Projects
tab - Select the option to create a
New project
for this repository, then click the button to do so. - Give the project a name that is obvious and intuitive for the project.
Create the Product Backlog
Create a “table” view that shows all Issues labeled as user story
… this is the Product Backlog.
Create a Sprint Backlog
As part of Sprint Planning, create another “table” view that shows those user stories that will be worked on in the current sprint - the Sprint Backlog. Do so by showing only those Issues with the label, user story
and the Milestone Sprint N
, where N
is replaced by the current sprint number.
Create a Sprint Task Board
Make a new “board” view that shows only those Issues labeled as task
or spike
that also have the Milestone set to the current sprint and add the following columns to the board:
- To do - this will contain the individual tasks and spikes that are necessary to implement the User Stories in Sprint Backlog
- In progress - tasks and spikes will be moved here from the To Do column once they are actively being worked on
- Awaiting review - tasks and spikes that have been completed but require peer review before merging into the trunk should be moved here
- Done - tasks and spikes will be moved here when they are completed
Keep the Task Board always up-to-date as you work
When starting a new Sprint, add all Tasks and Spikes to be worked on in the current sprint into the To Do
column.
Maintain the Task Board with items in the correct columns as you work on the Sprint.
Do not alter the Sprint Backlog or Task Board after a Sprint has completed
Sprint Backlogs and Sprint Task Boards serve as an archive of what was and was not accomplished within each Sprint.
- Leave the Sprint Backlog and the Sprint Task Board frozen as-is when a Sprint is completed… do not remove or reposition any issues from either artifact.
- Making any other changes to the task board after a Sprint has completed could be considered misleading and disingenuous.