About Structure.Gantt Beta
Structure.Gantt is a Structure extension that allows you to add planning and resource management 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 test 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 version 4.2 or later installed to be able to try Structure.Gantt extension.
Structure.Gantt beta versions (before version 1.0) contain the foundational features of the product. The versions are available for general use, but we are still working on some features and improving general quality and performance.
Important: Structure.Gantt works with Structure 4.2 or a newer version, so please make sure you have the correct version installed.
Creating Your First Gantt Chart
- 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 setting and create the chart.
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, with default estimation of 1 hour. Story points are turned off.
- Finish-to-Start dependencies are represented by the “blocks” link type, if it is available.
- Manual scheduling is disabled. To enable it, you will need to define which custom fields should be used.
- Precision is set to 1 hour.
- Resources are configured to use Assignee field.
- Standard, 40-hour work week calendar is selected as the default.
See below for the explanation of these options.
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 Gantt Configuration.
Gantt Chart Elements
Once you define the configuration and save the settings, the Gantt Chart opens.
You can see the following elements.
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 or 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 in 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 Date and exiting dependencies.
- If there is time logged for an issue, the progress is shown inside the bar. To show/hide progress, use the Options menu in the toolbar.
- If an element has children in the structure, it is shown as a Group. 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 and has its own start date and duration values, they are still 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 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.
You can show issues summaries and keys next to the bars in the chart. To do that, select them in the Options menu in the toolbar.
Working with the Gantt Chart
Adjusting Start Date, Manual and Automatic Scheduling
If you have defined the Start Date field in the configuration, you can adjust the task start date in the chart by dragging it to the desired location. You can also adjust it by changing JIRA field - either on issue page or right in the structure if you have the column with your Start Date field added.
As you set the Start 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 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 Date field also switches the task to Auto Scheduling.
In the current version issue time tracking is used for duration. 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. 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 fields themselves.
In the current version dependencies can only be based on Issue Links. Changing dependencies creates or removes links between issues (link type is defined in the configuration).
This version supports only Finish to Start dependencies. To create a new 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 arrow will show the Dependency Details panel.
To remove the dependency, click it and click the Remove link in the Dependency Details panel.
Another way to create a new dependency is to use the Link button in the toolbar. Click it to show the dialog, select the parent and child issues and click Create Dependency. By default, the parent issue is set to the issue currently in focus.
Gantt Chart can show critical path. Tasks included in the critical path are highlighted with red color. To switch off this highlighting, use the Options menu in the toolbar.
Gantt Chart is also capable of highlighting existing scheduling conflicts. The conflict exists if a certain task is scheduled for the date that is earlier than this task 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 in 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 this in the same panel.
A resource may be a person, a team or something else. In the first versions, Structure.Gantt will support only "work" resources – "material", "cost" or other types of resources may be supported later.
The way it is determined which resources are allocated to a specific task we call "Resource Assignment".
In this version, it is possible to select an attribute that will define the resource assignment for each task. The attribute could be almost any JIRA field – for example, Assignee field or a custom field called "Team". It is also possible to use other Structure attributes – for example, a value calculated through Formulas.
You set up which attribute to use for Resource Assignment in Gantt Configuration. The Default configuration has "None" there, so resources are not used. 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 capacity, calendar and time zone for all resources in the Gantt. You can later override these default for a specific resource.
At the moment, a task may have only one resource assigned, and 100% of that resource's capacity is considered to be used for the task. In future versions, we'll add support for multiple resources per task and allocating part 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.
Customizable Resource Capacity, Calendar, Time Zone
There are a number of parameters that a resource has. They affect how Gantt chart and allocation chart are calculated:
- 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.
- Time zone defines the time zone that's 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 Resource Settings button.
This version comes with two predefined calendars, "Standard" (40-hour work week) and "24 Hour", with all time marked as working time.
In addition, JIRA administrator can define additional calendars on Administration | Structure | Structure.Gantt | Work Calendars page.
The calendar is defined by a 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 which case its rules are lain over the rules from the parent calendar.
Resource Availability Driving Automatic Scheduling
If a task has a resource assigned, the calendar, time zone and capacity associated with that resource will be taken into account when determining actual start and finish date of the task.
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) and users with Structure control permissions can change the Gantt Chart settings.
All standard JIRA permissions are observed – you need Edit Issues permission to change the fields, Link Issues to create links, and so on.