I’m going to parachute into this discussion in order to describe the first, and only, system I have found that has survived more than a day of actual use. (It’s going on two months now, and has gotten rave reviews at my work place.) It’s not my idea, and I’ll link to my source at the end, but here’s the formula.
- List epics (user stories) in a spreadsheet.
- Give the user stories a priority order (in the spreadsheet).
- Create a priority-label in GitLab corresponding to each user story, in the proper order.
- For each task/issue/bug, assign it to as many user story labels as it affects.
Boom, you have a list of tasks in priority order, helping you focus on getting one user story done at a time. You can even re-order stories in the backlog without dropping tasks, since you can assign a task to multiple stories.
GitLab is not 100% suited to this usage, but it’s pretty foolproof. Some things I find myself wishing I had:
- Automatically assigning issues to a milestone based on labels
- Well, really that’s about it.
The talk has a bunch of other amazing info (like “What is a user story?”, and the importance of estimating the size of tasks (don’t bother: it’s mathematically irrelevant)), and I recommend watching the whole thing.