User Stories for Gitlab
These are gitlab user stories focused on how we organize tickets, that we're going to use to try to organize the labels, milestones, etc we use.
Main people involved:
- PM (eg gaba)
- Developer/Maintainer (eg dgoulet)
- Community/Maintainer (eg gus)
- UX/Maintainer (eg antonela)
- Estabilished Contributor (external user who writes code)
- Bug reporter
- New volunteer (first-time user who wants to interact)
"There's a New sponsor!"
As a PM, I want to enter the information from a new grant into the tracker, so it doesn't get lost.
"How are the sponsors doing?"
As a PM, I want to check how far we are from completing a given sponsor contract or sponsor deliverable. As a PM, I want to check that everything that should be included in the sponsor it is being worked on by somebody.
"Who is overloaded?"
As a PM, I want to see what is on everybody's plate, to see who is overloaded and who might have time to help.
PM+Developer crossover stories
"Oh no, we're low on time!"
As a PM or developer, we're responsible for a scheduled deadline with more work associated with it than we can really do. We need to mark which parts are most important, and which parts are nice-to-have, until we have a realistic plan.
"What are we dropping?"
The PM and developers colaboratively want to know: which important tasks have nobody assigned to them? They want to assign each of these to somebody, or make a plan for doing without it.
"What Should I Work On Now?"
As a developer, I want to know what I should be working on this week. This will include internal should-do tasks like refactoring, internal must-do tasks like security fixes, external must-do tasks like sponsored deliverables, and external should-do tasks like preliminary refactoring in order to a sponsored deliverable easier. I want to get a rough sense of what is due when, and what is most urgent.
As a maintainer, I want to decide which open bugs must be finished before we can put out the next release. These will have some that we must fix, some that we must investigate, and others that would be "good to do".
As a maintainer/developer, I want to break down a sponsor-level deliverable into manageable steps and make sure they enter the workflow of a developer who will do them.
"Submit some code"
As a maintainer/developer, I wrote some code that improves our software in response to a ticket. I want to get it reviewed and merged.
"Code review assignment"
As a maintainer, I want to see the unassigned code reviews, and tell a reviewer about them.
As a maintainer, I want to see which code reviews are assigned to me. I want to review one, and ensure that the corresponding developer sees my review. When I'm done, I want to do one of:
- mark the code as good and ready to merge,
- mark the code as merged, and merge it.
- ask a series of questions for the code submitter, or request a set of changes, and make the ticket their responsibility again.
As a maintainer, I want a list of all the tickets that are marked for possible backport into a given relese series. For each ticket, I might backport the code. If I do, I'll either close the ticket, or mark it for more possible backporting.
"Our software did what?"
A user has reported a bug. As a developer, I can't figure out how to fix the bug without knowing more information that only the user can help with. I want to ask them a question, and get an answer.
External contributor stories
"I have a great idea for a feature!"
I'm a power-user with some software expertise. I have an idea that I believe would improve tor software. Either I want to build it, and I want feedback before I begin, or I want other developers to build it, and I want to make sure they know my idea.
"I have a patch!"
I'm a programmer who has written tor patches before, and I've made an improvement to the tor software. I want it to get reviewed and merged into Tor.
"How are my tickets doing?"
I've opened some bug reports and pull requests and feature requests. Then I got busy. Now I'm back. I want to check in and see how they are all doing.
Bug Reporter stories
I've encountered something wrong with the tor software I'm using, and I want to tell the developers about it so that they will fix it. I don't know what information they will need, and I dont have a lot of time to spend.
"Oh hey, I understand this bug."
I've encountered a problem with the tor software I'm using, and I think I understand it. I want to tell the developers about it so that they will fix it. I want to pass on the information I've gatherered, and help fix the developers fix the bug. I could be wrong about the bug: if I am, I still want the developers to fix it.
New Volunteer stories
"What project should I work on?"
I'm a new volunteer who wants to work on something Tor-related. I know some programming languages and problem domains, but I don't consider myself an expert on Tor or anonymity. I want to look around and see what I might be able to help with.
"Is this maintained?"
I'm a new volunteer thinking about working on Tor. I want to look at a project and tell whether it's well-maintained and whether the develoeprs will accept patches.
"Where can I start?"
I'm a new volunteer and I've decided on a project to work on. I want to look for good tickets where I could make a positive contribution and get a patch accepted without too much trouble.