Description including problem, use cases, benefits, and/or goals
To get an overview of issues in a more visual way, people have been creating scrum boards for ages.
In GitLab, we only have the milestone board, which is a very limited type of scrum board. It only has a single flow, from open, to assigned to closed. For larger teams or more complex projects, this doesn't suffice. In those projects you need to be able to have some sort of workflow with multiple intermediate steps, like
pre-production and many others.
We could implement a more powerful board in GitLab, without having to add a lot of new metadata, by utilizing labels as the lists of the scrum board.
We add an 'Issue Board'. It consists of 2 to 10 lists in which your issues appear.
A picture says more than a thousand words:
There are three types of lists, of which two are default:
- Backlog (default): shows all issues that do not fall in one of the other lists. Always appears on the very left
- Done (default): shows all closed issues
- Label list: a list based on a label. It shows all issues with that label
Issues are ordered by priority. We can consider making the ordering optional, such as in the issue list.
Moving an issue between lists removes the label from the list it came from (exception: backlog) and adds the label of the list it goes to:
When moving from the backlog, just add the new label. The backlog is not a label.
When moving to Done, remove the label of the list it came from and close the issue.
If an issue exists in multiple label lists, just show it in multiple lists:
You should be able to use the filters on top, as seen in the mockup and similar to the issue list.
Adding a new list
Add a new list by clicking on the button. In a modal you will find a label dropdown, where you can also create new labels (like in the sidebar):
The new list should be inserted at the end of the lists, before Done.
You should be able to drag the label lists around by dragging them on the top.
- By default, set the milestone filter to
- Order issues by priority, where the highest is the most important
- Show the default lists
- Fluid layout
Right now, a single project will have a single board.
In the future we can consider:
- multiple boards per project
- group level boards
- personal boards