By Robert Leitch on December 12, 2013
In the first post of this series, we saw that Structure gives us a free hand in visualizing JIRA Agile projects by allowing us to arrange their issues in any way we see fit.
In this post, I'm going to look at how we can use Structure's progress aggregation to great advantage for tracking progress in JIRA Agile projects from different angles and at different levels.
Issue progress in Structure is aggregated upwards through its hierarchical lists, which provides us with a natural way to visualize progress of JIRA Agile projects at all levels from sub-task to epic.
By extending our hierarchies further upwards, we can get many additional higher levels of oversight beyond JIRA Agile's epic-story-subtask model. This allows us to track aggregated progress across stories, epics, sprints, projects, teams, departments and continents, as well as entirely arbitrary collections of issues.
One of several ways in which Structure can calculate and display aggregated issue progress in hierarchical lists uses weighting based on the business value or story points of an issue's child issues. The more story points or business value an issue has, the more its progress contributes to its parent issue's progress.
Used in conjunction with status-based progress display, which translates workflow statuses to user-defined progress percentages, the weighted system gives a significant improvement in progress reporting when time tracking or manual estimation is not being used.
Configuring a progress column in Structure
If you are in the practice of breaking down user stories into sub-tasks, you have probably noticed that JIRA Agile's reporting does not count the completion of sub-tasks towards overall progress.
This can result in discrepancies between reported progress and actual work done, with burndown charts that remain horizontal for alarmingly long periods.
With Structure we can get a more realistic picture of progress at story level, based on the progress of sub-tasks in the story:
A clear indication of progress at story level, based on sub-task status
Just as with stories, we get 'real' progress reported at epic level, taking into account the progress of sub-tasks in unresolved stories.
Epic progress displayed as an aggregate of story and sub-task progress
We can view the aggregate progress for an entire JIRA project simply by putting all its issues underneath another issue somewhere in a structure. For occasions such as this, it's handy to keep a 'meta-project' in JIRA in which to create placeholder 'meta-issues' that can be used as containers for other issues in Structure.
Aggregate progress of an entire JIRA Agile project
In order to track multiple projects side-by-side in Structure, we just repeat the process for all the projects we want to follow. Now we can track all our projects in one structure.
To track the overall progress of a group of projects, for example, a department's project portfolio, we simply put those projects under yet another placeholder dedicated to that department.
Tracking progress of JIRA projects at portfolio level
Following the same pattern, we can continue to add as many levels to our structure as necessary to build a complete enterprise portfolio.
In a similar manner, we can use Structure to track progress of arbitrary collections of issues simply by putting them under a placeholder. We can track collections of issues relating to projects, teams, components, bugs, users with the letter 'r' in their names and so on.
We can even...
Agile purists may want to skip the last few paragraphs. I'm going to talk about tracking sprint progress at sub-task level.
I mentioned already that Structure makes it possible to track the 'real' progress of user stories that are broken down into sub-tasks. In the same way, we can also view the overall real-life progress of a sprint containing stories of this type more smoothly and accurately in Structure than we can with a burndown chart.
First we need to get the issues from a sprint into a structure. We can do this using a JQL search for sprint = [sprint id] and adding the matching issues to the structure board. Then we put the sprint's issues under a placeholder issue to aggregate progress:
Tracking JIRA Agile sprint progress with sub-tasks
And there we have it - a simple progress indicator for our sprint that acknowledges sub-task progress and takes less than a minute to set up. And yes, you can add it to your dashboard.
In the third and final installment of this outrageous series, I'll show you why Structure is an indispensable tool for managing large and unwieldy JIRA Agile projects.
Hierarchical issues for great project management in Jira
Jira ClientDesktop client for Jira