Backlog Management
By: Dan Stewart
February 25, 2023
Requirements, questions, and answers are all put into a backlog of work to be done.
The Elements of a Ticket
Some tickets do not need a structure. For example, "Fix the typo on the home page." Other tickets do need a structure. Here is a typical one that I use.
- User Story
- Scope
- Out of Scope
- Design
- Text
- Questions
- Stakeholders
Here is an example.
Course Description Page
As a StewShack School of Real Estate student
I want to see course information
So that I can decide if I want to enroll into it
Scope
The scope of this ticket is to display course information.
Out of Scope
- The enroll button will be added in a future ticket.
Design
Text
- The header is the course title.
- The body is the course description.
- Above the "Enroll" button is the course marketing image.
Stekeholders
- Elvira Rameriez, CEO. (Informing)
- Michael Boaz, Head of Enrollment ()
- Angela Outsby, Marketing ()
Prioritization
There are methods you can use to prioritize tickets.
Matrix
The first method is from the seven habits, put first things first.
Important | Not Important | |
---|---|---|
Urgent | ||
Not Urgent |
It's tempting to simply reject ideas that are not important and not urgent. However, priorities might change over time. That idea might become important and urgent later.
Risk-First
The second method priotizes by risk-first. We ask ourselves these questions:
- What is the risk of not working on the ticket?
- What is the risk of working on the ticket?
Backlog Management
All of the tickets in the backlog are important now, or have the potential to be important in the future. Any tickets that are never going to be worked on have been canceled after talking to the stakeholders. It is a delicate conversation when an idea is rejected because it would harm the product.
I practice inbox zero. So, I also want to practice backlog zero. When a ticket comes in I have these questions:
- Is this worth doing? If not, work with the stakeholders to either cancel it or get a better understanding.
- What is the priority? Move the ticket into a high or low backlog.
The ticket is moved into another backlog, and the new ticket backlog is empty.
Jira Queries
Here are some Jira queries I use to maintain the backlog.
I prefer Kanban, but I'm current working in two week Sprints.
Here is a Jira query for tickets in a Sprint that I am not watching. This helps me catch tickets that were added to a Sprint. Watching a ticket will alert me when it is changed. I have the alert emailed to me as a "push" strategy for keeping up with ticket progress.
project = "STEW"
AND watcher != currentUser()
AND Sprint in openSprints()
AND status != Cancelled
Here is a query to return tickets that are missing a team, component, and/or label. On my backlog, I have to assign a team either in the United States time zone or the India time zone. Components help separate the tickets into the area they affect. These include the front-end, back-end, B2B, B2C, and other areas. Finally, the label helps with filtering all of the tickets for a specific project.
project = "STEW"
AND (
Team[Team]" is EMPTY
OR component is EMPTY
OR labels is EMPTY)
AND Sprint in openSprints()
AND status != Cancelled
Ticket are grouped into epics. When all of the tickets are in an epic, we can use Jira plans to produce a gantt chart. Here is a Jira query to show tickets that are missing an epic.
project = "STEW"
AND "Epic Link" is EMPTY
AND Sprint in openSprints()
AND status != Cancelled
Keeping a backlog categorized and prioritized is a daily task. Tickets have to be refined with the stakeholders. Then refined with the development team before they can be worked on. It would waste time to work on an unrefined ticket and get it wrong.