By Robert Leitch on May 26, 2015
Backlogs aren't exclusive to Agile. We all have them, and we all need to prioritize them.
You're a project manager and you want your developers to tackle their JIRA issues in a specific order.
You're not using the JIRA Agile plugin, so how do you maintain an ordered backlog?
One solution is to prioritize issues in JIRA by specifying a 'backlog priority' in a custom number field, then sorting issues by that field in the JIRA issue search page.
Developers can view their own prioritized JIRA backlogs with a simple JQL query:
assignee = currentUser() AND resolution = Unresolved ORDER BY "Backlog Priority" DESC
Reordering issues using this method is not so simple. It entails opening each issue to edit the priority field, and requires some number juggling to get issues in the right place.
There's a neater way to do it using the Structure plugin. Simply make a list of issues in a structure for your developer and drag-and-drop them into the order you want them done in. It's as simple as that.
Drag, drop, done
Anyone else viewing this structure will see its issues laid out in exactly the same order as you put them in.
Even if they have the backlog structure open in another browser while you're moving issues around in it, they will see it update automatically with the changes you make.
This is too straightforward for my liking, so let's spice it up a bit.
No problem, just make yourself the owner of the backlog structure and set its permissions to 'View' for 'Everyone'. This makes it read-only for everyone except you (and JIRA admins, who always have full permissions over structures).
Configure a Filter Synchronizer to automatically pull in issues assigned to any of the team members. The query would look something like this:
assignee in (albert,rleitch,Harry,Jack,John)
Now drag and drop to prioritize. Naturally, you can also use the Filter Synchronizer for individual backlogs.
Create a meta-issue (container) for each of your team members. You can add a Filter synchronizer for each team member that will automatically insert their issues in the corresponding container (and move them when issues are reassigned).
In Structure 3.0 [update: Structure 3.0 public beta is out!] you'll be able to do this kind of grouping automatically, and you'll even be able to reassign issues just by dragging them to another team member's container. But for now you'll have to make do with synchronizers.
Here's a bonus post about using Structure to define teams in JIRA Agile that describes how to do just that, and is equally applicable for non-Agile teams. It also shows how to reproduce each team's backlog in a separate structure.
When you create multi-level backlogs like this, remember that Structure rank (the order of issues within a structure) is not global. If you reproduce different levels of this backlog in other structures, (e.g. individual teams, personal backlogs) then you'll need to decide where exactly to rank them.
The great news is that Structure 3.0 will allow structures to contain other structures. Which means that a multiple team backlog can be composed of separate team backlog structures, which can be composed of personal developer backlog structures. Which means that changes made to rank in any of those structures will be reflected at all levels.
Found something Structure doesn't do, but should? Tell us about it in our Structure UserVoice forum. Questions about this post are welcome in the comments below.
Hierarchical issues for great project management in Jira
Jira ClientDesktop client for Jira