Structure.Gantt is a Structure extension, which brings planning and resource management features to structures.
In this document we assume that you're familiar with the basics of Structure add-on for JIRA and have it installed on your server. If you're new to Structure, please check it out on the Atlassian Marketplace or feel free to play with it on our Live Structure Demo Server.
You need to have Structure 4.5 or later to use Structure.Gantt extension.
Important: Structure.Gantt works with Structure 4.5 or newer, so please make sure you have the correct version installed.
Creating Your First Gantt Chart
Gantt Chart Wizard
If you are not familiar with Structure yet, the easiest way to create your first Gantt chart is through the Gantt Chart wizard. In a few steps you can define your structure and the parameters, which will be used for building the Gantt chart (tasks start and end dates, duration, dependencies and others).
To open the wizard, go to the top Structure menu, select Create Structure, select Gantt Chart and click Next. Go through the wizard steps to the define the following:
- The scope of issues used in the chart. You can select issues from certain projects, agile boards or use a custom JQL.
- The hierarchy. Structure can arrange issues into a hierarchy based on relationships that exist in Jira (links, epic links, Portfolio links, sub-issues).
- Dependencies. You can select which link types to use for different types of dependencies in the Gantt chart.
- Scheduling rules. Select what you want to use as tasks duration (Jira Time Tracking or Story Points) and which fields should be used for Start and Finish Dates.
- Resources. Select what Jira field you want to use as resources for your tasks.
Once you go through all the steps, the structure, its view and the corresponding Gantt chart are created. You can fine-tune your structure by adjusting the settings of the generators and you can adjust the Gantt chart settings by opening the Configuration, which was created for this chart (please read on for more details).
For an Existing Structure
If you already have a structure you want to use for your Gantt chart, you can select one of the existing configurations or create a new configuration for it manually:
- Open Structure Board and switch to the structure that contains issues that you would like to include in the plan.
- Use Layout menu to switch to either "Gantt Chart" or "Gantt + Resources" layout.
- You will see the Settings screen where you can set the project start date and select one of the available configurations.
- Click Save to save the settings and create the chart.
To be able to create Gantt charts (even for existing structures) you need to have permissions to create new structures.
Gantt Chart Configuration
Gantt Chart configuration defines how the chart is built – where does the information come from, what fields are used, etc. The app comes with a predefined "Default" configuration, which has some default parameters. You can adjust the default configuration or create your own.
In the default configuration, the following settings are used:
- Time tracking is turned on for determining task duration. Default estimation is 1 day. Story Points are turned off.
- Finish-to-Start dependencies are represented by the “blocks” link type, if it is available (if you have BigGantt link types available, "Has to be done before" link will be used instead).
- Manual scheduling is disabled. To enable it, you will need to define which custom fields should be used. You can use existing fields or create new ones.
- Precision is set to 1 hour.
- Standard 40-hour work week calendar is selected as the default.
Creating a New Configuration
You can create a new configuration for Gantt charts and use it in multiple charts.
- Open the Setting page by clicking the Settings button on the left side of the chart toolbar.
- Click Manage next to the Configuration field to open the Gantt Configurations dialog.
- Click Create New Configuration (or click Edit next to one of the existing configurations to change it).
For detailed description of configuration options, see Configuration Options.
Gantt Chart Elements
Once you define the configuration and save the settings, the Gantt Chart opens.
You can manipulate your Gantt chart using the toolbar, the mouse and a number of keyboard shortcuts.
Gantt chart has the elements described below.
Use the Zoom control in the toolbar to zoom in, zoom out or select the desired zoom level.
To scroll, use the horizontal or vertical scroll bars or hold Shift key, click anywhere in the chart and drag to move the chart horizontally or vertically.
Use the Today button to navigate to the current date. Click the focused task button next to it to navigate to the task currently in focus.
Start Date and Current Date
Green vertical line represents the project start and the red vertical line shows the current time. Mouse over the points that represent them on the timeline to see the exact dates and time.
Task Bars and Groups
- Structure elements are represented in the chart with bars. Clicking the task bar will show the task details panel.
- Position of the task along the time axis is determined by its Start or Finish Dates and exiting dependencies.
- If there is time logged for an issue, the progress is shown inside the bar. To show/hide progress, use the Display Options menu in the toolbar.
- If an element has children in a structure, it can be shown as a Group (this can be set in the Gantt configuration Scheduling section). Group start date and duration is calculated automatically based on the start dates and duration of the elements it contains. If the group is an issue, which has its own start date and duration values, they are ignored.
- If a task is a part of the critical path, it is shown red. The rest of the tasks are blue. You can show/hide critical path highlighting through the Display Options menu in the toolbar.
Dependencies are shown as arrows between the tasks bars. Clicking the arrow will show the dependency details. To show/hide dependencies use the Options menu in the toolbar.
The cyclic dependencies and dependencies between groups and their children do not allow to schedule tasks correctly. They are highlighted with red and require attention.
You can show issues summaries and keys next to the bars in the chart. To do that, select them in the Display Options menu in the toolbar.
Working with Gantt Charts
Adjusting Start/Finish Date, Manual and Automatic Scheduling
If you have defined fields for the Start and Finish Dates in the configuration, you can adjust them by dragging a task to the desired location. You can also adjust them by changing JIRA fields - either on issue page or right in the structure if you have the columns with your date fields added.
As you set the Start/Finish Date, the task is considered to be scheduled manually, which means that it will stay at the defined position regardless of its dependencies. To switch back to the Automatic scheduling mode, click the task to see the details panel and toggle the Scheduling option to Auto. This will remove the Start/Finish Date value and place the task after the task it depends on or at the project start if no dependencies exist. Removing the value from Start/Finish Date field also switches the task to Auto Scheduling.
You can use Time Tracking, Story Points or both as tasks duration. If you use Story Points, you will need to define how many hours are required to complete one story point.
If no estimate is set, the default duration from the configuration is used.
To adjust duration, mouse over the right end of the task bar and once the mouse pointer changes to the resize tool, click and drag left or right to set the desired duration. If you are using Time Tracking, the Original Estimate field value will be updated for issues with no time logged and Remaining for the issue with time logged. You can also adjust it by changing the value of the Jira fields themselves.
Dependencies are defined based on Issue Links. Changing dependencies creates or removes links between issues (link type is defined in the configuration).
Gantt supports Finish to Start, Start to Start, Finish to Finish and Start to Finish dependencies. To create a Finish to Start dependency, mouse over the right end of the task bar and when the dot appears, click it and drag the mouse to the task you want to link it to. Once the mouse is released, the link is created. Clicking the link arrow on the chart will show the Dependency Details panel.
To create other types of dependencies, use the Link button in the toolbar. Click it to show the dialog, select the parent and child issues, the link type and click Create Dependency (issue currently in focus is set as parent by default).
To remove the dependency, click the dependency arrow in the chart and click the Remove link in the Dependency Details panel.
Gantt Chart can show critical path. Tasks included in the critical path are highlighted with red color. To switch off this highlighting, use the Display Options menu in the toolbar.
Gantt Chart highlights existing scheduling conflicts. The conflict exists if a certain task is scheduled for the date that is earlier than its predecessor finish date. In such cases the task bar will be highlighted with a red line.
There are several ways to deal with a conflict. Click the task to show the details panel - the bottom of the panel will show the conflict details with several options:
- Ignore. This will remove the highlighting from the task bar, but the conflict will stay and the conflict details will stay in the details panel.
- Respect Link. Will change the task start date to coincide with the predecessor finish date. The task will stay in the Manual scheduling mode.
- Auto Schedule. Will switch the task to the automatic scheduling mode. As a result the start date will be cleared and the task bar will be placed right after the predecessor task. You can get the same results by toggling the Scheduling mode in the details panel.
If there are any inconsistencies in the source data (for example, a cycle of dependencies), the Gantt Info link will be shown on the right side of the Structure status bar next to the Structure Info link. Click the link to see the panel with the details.
In case of conflicting links, you will see the notification that some links were ignored and the list of those links. Click the issue key of the link to set focus on that issue and show it in the chart.
If you do not have permissions to edit Gantt chart, you will see the corresponding message in the same panel.
A resource may be a person, a team or something else. To define how the resources are assigned to the tasks, you need to select an attribute, which will be used as resources. The attribute could be almost any JIRA field – for example, Assignee field or a custom text field called "Team". It is also possible to use other Structure attributes – for example, a value calculated through Formulas.
You can define which attribute to use for Resource Assignment in Gantt Configuration. In the Default configuration resources are not defined and you can change it to "Assignee" field or to any other attribute.
Besides choosing the attribute for the resource allocation, you can also select the default resource capacity, calendar and time zone for all resources in the Gantt. You can later override them for each individual resource.
You can also define the default Max Unit property - this is the property of the tasks, which defines how much of the resource capacity can be used when working on this task. By default it is set to 1. This means that if, for example, you have a resource with the capacity of 3, only one third of the resource will be used when working on a task. You can change both the default setting for the Max Unit and the setting for each individual task (by clicking the task and setting the value in the details panel).
At the moment you can assign only one reource per task. In future versions, we'll add support for multiple resources per task and partial allocation of the resource's capacity to the task.
Resource Allocation Chart
Once resources are assigned to the tasks, Structure can display the Resource Allocation Chart. Click the Resources button or switch Layout to "Gantt + Resources" to see the number of hours assigned to each resource used in the chart.
Resource allocation chart adapts to the zoom level selected in the Gantt toolbar. Zoom in to see details of allocation within a specific period.
The upper part of the Gantt chart can also display the allocation numbers – for example, if you group by Assignee or by whatever attribute you are using to define the resource.
Resource Capacity, Calendar, Availbality and Time Zone
There are a number of parameters that a resource has. They taken into account when calculating tasks start/end dates and duration and resource allocation.
- Capacity determines how much work can this resource do during one hour. By default, it is "1", which corresponds to one person. A 5-person team would have the value of "5". A person working only one day a week but using Standard work calendar would have the value "0.2".
- Calendar defines working and non-working time for the resource in the resource's time zone.
- Availability allows to define, what percentage of the resource capacity is used during a certain period. This is especially useful for defining resource vacation days or periods or part-time work.
- Time zone defines the time zone used for the resource.
The default values for these parameters are set in Gantt configuration. You can override them for a specific resource by selecting the resource in the resource panel and clicking the Resource Settings button.
This version comes with two predefined calendars, "Standard" (40-hour work week) and "24 Hour" (all time is work time).
JIRA administrator can define additional calendars through the Administration | Structure | Structure.Gantt | Work Calendars page.
The calendar is defined by the code in JSON format, which sets the working periods for each day of the week and lists exceptions.
A calendar may be based on another calendar. In this case its rules are lain over the rules from the parent calendar.
Gantt Chart Permissions
Currently there are no dedicated permission settings for Gantt and the permissions of the structure are used. Users with View permissions can only view the Gantt Chart. Users with Edit permissions can make changes (for example, set duration). Users with Structure control permissions can change the Gantt Chart settings.
All standard Jira permissions are applied too – you need Edit Issues permission to change the fields, create links, and so on.