# Progress Configuration

Structure.Gantt allows you to configure how progress for individual tasks and groups is calculated.

By default, progress is calculated using the same settings as Work Estimates Configuration. In this case, progress will be calculated based on the values (Time Tracking, Story Points, etc.) you selected in the Work Estimates section. If you prefer, you can specify a different field from Work Estimates or use a Formula for progress calculation.

While using Time Tracking, tasks with non-empty resolutions are treated as 100% complete.

## Progress Calculation for Tasks - When Progress Is Based on Work Estimates (Time Tracking)

In Structure.Gantt, progress is calculated as a ratio of Completed Work / Planned Work. The way these values are calculated vaires depending on how you've configured your Gantt chart.

The following sections describe how those values are calculated when Progress Calculation is based on Work Estimates.

### Work Estimates Are Based on Time Tracking

If your configuration looks like this:

**Progress = Completed Work / Planned Work **based on the following:

**Completed Work = Time Spent**- If Remaining Estimate has been defined:
**Planned Work =****Time Spent + Remaining Estimate** - If Remaining Estimate has NOT been defined:
**Planned Work =****Original Estimate** - If Original Estimate has not been defined:
**Planned Work =****Default Estimate**(specified in the configuration)

#### Special Cases

- If no time has been spent on the task:
**Progress = 0%** - If the task is resolved:
**Progress = 100%** - If planned work is zero:
**Progress = 0%**

### Work Estimates Are Based on Time Tracking w/ Use Remaining Estimate Only

If your configuration looks like this:

**Progress = Completed Work / Planned Work **based on the following:

**Completed Work = Time Spent**- If Remaining Estimate has been defined:
**Planned Work =****Time Spent + Remaining Estimate** - If Remaining Estimate has NOT been defined:
**Planned Work =****Default Estimate***(specified in the configuration)*

#### Special Cases

- If no time has been spent on the task:
**Progress = 0%** - If the task is resolved:
**Progress = 100%** - If Planned Work is zero (
*issue has no work logged and its RemainingEstimate is "0" (not empty))*:**Progress = 100%**

### Custom Estimate

If you're using a custom estimate, such as Story Points, your configuration will look like this:

With custom estimates:

- If the issue is unresolved:
**Progress = 0%** - If the task is resolved:
**Progress = 100%**

## Progress Calculation for Tasks - When Progress Is Based on a Custom Attribute

If you selected a custom attribute for Progress Calculation, the progress for each task will be the value within the attribute field.

#### Planned Work and Completed Work

Planned Work and Completed Work still get calculated when using a custom attribute, and these values are used when aggregating progress for a group.

- Planned Work is based on the Work Estimate settings, in the same way we described for work estimates above
- Completed Work = Planned Work × Custom Progress / 100
*(Custom Progress is determined by converting the value in the custom field to a range from 0 - 100)*

## Progress Calculation for Groups

A group's Completed Work and Planned Work are calculated as the sums of the completed and planned work of its children: **Group Progress = Σ Completed Work / Σ Planned Work**.

In the following example, where Group A contains Task 1 and Task 2, you might expect Group A's progress to be 50% (the average of Task 1 and Task 2), but when we calculate a progress based on Total Completed Work and Total Planned Work, Group A's progress is only 25%.

Item | Completed Work | Planned Work | Progress |
---|---|---|---|

Task 1 | 1d | 1d | 100% |

Task 2 | 0 | 3d | 0% |

Group A | 1d | 4d | 25% |

#### Special Cases

If the sum of all completed work or planned work (or both) is zero,

**Group Progress = 0%**An empty group’s progress is not defined (empty)

## Progress for Milestones

A milestone has no work, and its progress is undefined. A milestone does not affect the progress of its parent group.