JIRA is used within a great number of teams as an agile issue tracking tool. In bigger companies different scrum teams will use the same tool to manage the company backlog. Program or project management often set up a corporate backlog of issues from which tasks are distributed across the different teams.
But teams are not an entity in Jira. So how should you go about distributing tasks between your different teams in JIRA? This post describes several solutions to that problem that we use ourselves and have seen in the field.
That said, we are very much interested in your solutions, so let us know what they are in the comments below!
The easiest solution is to divide your application landscape into components and sub-systems and to create component teams for each (group of) components and sub-systems. To do this, simply create a filter to include all issues from the team's components group. Then create a scrum board for the team, based on the created filter.
As opposed to component teams, some companies also work with feature teams. We set up feature teams in JIRA around an issue type, for example feature or need (see also my post on scaling agile for more info on needs vs epics vs stories). All the epics from the different projects, that implement this feature, are related to this feature or need. To set up a feature team's scrum board, create a filter like this:
issue in linkedIssues(issue-key) or "Epic Link" in linkedIssues(issue-key)
Here again, you just need to set up a scrum board based on this filter. All epics and stories assigned to this feature issue-key will automatically apear on the board.
A less common way to distribute tasks is to set up teams around releases. A filter, based on the fixVersion field of an issue, can then be used to create a scrum board.
Use custom fields
If your company is not using component teams or feature teams but multi-functional teams that can pick up any of the tasks in the backlog, a different distribution method must be used. A team field that is used to assign issues to specific teams can serve as the base for a filter for this new scrum board. The team field can be implemented with a simple select field.
Use Tempo Team custom fields
There is also the more advanced option of using Tempo Teams to implement the team field! Tempo Teams is part of the Tempo Timesheets plugin for JIRA and allows JIRA admins to manage teams. A team has members and can also be assigned to projects or agile boards.
With Tempo Teams, a custom field type is added to JIRA where a team from Tempo Teams can be selected and assigned to a JIRA issue. Now create a scrum board based on a filter that uses the team custom field. To assign tasks to a team, use the bulk edit issues function of JIRA to assign a group of tasks to a certain team.
What option of the above, if any, is the best for you? It really depends on your organisation. The first and second options are really close to how agile is done and fairly simple to implement. The last three are less common in the agile world but are very usable as well.
But there must be other solutions out there that we don't know of, so please comment below with your solution!