By Robert Leitch on December 26, 2013
We've already seen how Structure can be used to visualize complex relationships between issues and track progress across entire portfolios of JIRA Agile projects. Now I'm going to look at some features and techniques that help to make Structure an excellent tool for managing JIRA Agile projects on a daily basis.
The secret to maintaining a JIRA Agile project quickly and effectively in Structure's intuitive interface is to use synchronizers to keep structure boards aligned with the Agile projects they contain.
For the most part, synchronizers can be described as services that keep Structure updated with changes that happen in JIRA. For basic alignment with JIRA Agile projects, we need the Filter synchronizer and the JIRA Agile (Greenhopper) synchronizer.
The Filter synchronizer keeps the contents of a structure board aligned with a JQL query or saved filter. It can be set up to add issues to the structure board if they match the filter and/or remove issues from the structure board if they don't.
For now, we just need a simple filter that adds all the issues from our JIRA Agile project to the structure board:
Installing a Filter synchronizer with a simple JQL query
On its first run, our Filter synchronizer populates the structure board with all the issues that match its filter query. It will continue to run in the background, automatically adding to our structure any new matching issues that appear in JIRA.
Issues pulled in by our Filter synchronizer
Next up is the JIRA Agile synchronizer, whose remit includes neatly arranging issues into a hierarchy that faithfully reproduces the epic-story-task relationships in their JIRA Agile project. In its settings we specify the Agile project (or projects) that we want to sync with, as well as the JIRA Agile custom fields used for Rank and Epic.
Setting up a JIRA Agile synchronizer
This synchronizer also continues running in the background, bringing any changes made in our JIRA Agile project into our structure board. It also enables us to assign issues to epics in Structure by way of drag-and-drop. If an issue is placed as a descendant of an epic in a structure board, its Epic Link field will be updated so that JIRA Agile recognises it as a child (story) of that epic. It also synchronizes issue ranking between Structure and JIRA Agile.
Issues neatly arranged by JIRA Agile synchronizer
Now that we have set up these two synchronizers, we can use Structure as an interface for creating, editing, inspecting and sorting all our JIRA Agile project's epics, issues and tasks. Doing this maintenance work inline in Structure's data grid is a major win for ease of use and productivity, especially where large backlogs are concerned.
Using the 'meta-project' method I mentioned in part two of this series, we can easily contain multiple JIRA Agile projects in one structure board. For proper management, we'll need a separate Filter synchronizer for each project that we want to add to the structure.
In each Filter synchronizer's configuration, we'll specify that new issues should be entered under the meta-issue that corresponds to that project:
Setting up a Filter synchronizer to place incoming issues under a specified node in the structure
After we set up another JIRA Agile synchronizer to keep our new project's issues neatly sorted, we're done. We can easily repeat the process for all the JIRA Agile projects we want to manage from our structure board.
Lather, rinse, repeat
Now we can quickly find or create an issue in any of our portfolio of projects, inspect it and edit it inline in our structure board with all the surrounding context in plain view. We already have a compact and easily navigable central resource for managing all our projects in one place.
With the help of meta-issues we can organize our projects internally, corralling epics into any number of higher-level groups with no impact whatsoever on their behaviour in JIRA Agile. These groups can consequently be contained in yet higher groups and so on, ad infinitum. No matter how big our project gets, we can always keep on top of it with Structure.
That's a collossal win for ease of use and productivity.
If you've ever found yourself struggling to manage just one large JIRA Agile project in the space normally allotted to it, you'll surely appreciate the ability to handle multiple projects in parallel.
On that positive note, dear readers, we bring this series to a close. By now you should have a good basic understanding of how Structure works with JIRA Agile, and maybe even some useful ideas to put into practice. If you don't have your own Structure to practice on, feel free to play with our online demo where you can safely mess things up as much as you like without being shouted at.
Update: Structure 3.0 introduces a new way of synchronizing with Agile boards, and it doesn't involve synchronizers. Find out more and get the Structure 3.0 public beta here.
Hierarchical issues for great project management in Jira
Jira ClientDesktop client for Jira