Task period alignment
Introduction
The scheduling mechanism can align or adjust the start/end dates of tasks assigned to a Box with the start/end dates of the Box.
Enable the alignment
Go to Box Configuration > Tasks > Scheduling. Use the drop-down to select the desired Task period alignment.
Alternatively, to enable this feature click the "Info" button found on the Box header in the Board module and select on of the options:
Synchronization mechanism
Please note the synchronization mechanism is:
Unidirectional - planning tasks using Boxes (Program Increments or Iteration) updates the tasks to fit within the Boxes' duration. However, changing the tasks' start/end date fields doesn’t automatically add a task to the Box.
A one-time operation - when a task is placed in a Box (e.g., using the Board module), the task period is updated only once; if you adjust the task period after it has been placed in a Box (e.g., making changes using the Gantt module) the app will not validate the adjustment even if the new period doesn’t fit within the Box time frame (i.e., smart alignment will be overridden by a manual change).
The above-mentioned update of the task period will be executed properly only if all scheduling rules (parent-child relation, task mode, inward dependency, etc.) allow for such operation. For example, when a Story in your task structure has a parent task in a "lock" mode, the app can’t update the story time frame if it were to exceed the parent period.
Please note, rescheduling a task period may trigger changes of related tasks (linked tasks or parent/children in the task structure). To learn more about task scheduling rules go to this page.
There are different way to assign a task to a Box. For example, you can drag and drop a task using the Board module or edit the task and update the synchronized field value.
Precise alignment
A task can be aligned with a Timebox created using the Overview - Views - Hierarchy (Timebox = a sub-box such as Iteration or Project Increment that doesn't have its own scope, as it's used to organize tasks within the parent).
Fields mapped as start and end date are affected by a task being placed in one of the Boxes and start/finish on the same date.
When you enable the Precise alignment and change the start/end dates of a Box, the scheduling mechanism will update all tasks accordingly.
The precise alignment option can be enabled only for sequential boxes with sub-scope.
After the adjustment
The initial position of the task is irrelevant as the outcome is always the same. All tasks were assigned to the iteration named "Iteration 2.1":
Smart adjustment
A task can be adjusted with a Timebox created using the Overview - Views - Hierarchy.
The task's time frame aligns with the start and/or end date of a Box. The task's length remains unchanged (whenever possible). Fields mapped as start and end date are affected by a task being placed in one of the Boxes as follows - a task starts on the start date of the Box (when moved to a future Box relative to the Task) or ends on the end date of the Box (when moved to a previous Box relative to the Task).
When you enable the Smart adjustment and change the start/end dates of your Boxes, the scheduling mechanism will update all tasks accordingly.
Before vs after the adjustment
The below image showcases the initial positions of tasks (on the left) and the adjustment outcome (on the right).
All tasks were assigned to iIteration named "Sprint".
Purple task - the entire task is already contained within the Iteration → no changes applied.
Navy blue task - the entire task precedes the Iteration period with no overlap (task length doesn’t exceed the Iteration duration) → task is moved - start dates of the task and Iteration are aligned; task length remains unchanged.
Red task - the entire task follows the Iteration period with no overlap (task length doesn’t exceed the Iteration duration) → task is moved - end dates of the task and Iteration are aligned; task length remains unchanged.
Orange task - the entire task precedes the Iteration period with no overlap (task length exceeds the Iteration duration) → task is moved - both start and end dates of the task are aligned with the Iteration; task length altered to fit within the Iteration.
Light green task - the entire task follows the Iteration period with no overlap (task length exceeds the Iteration duration) → task is moved - both start and end dates of the task are aligned with the Iteration; task length altered to fit within the Iteration.
Grey task - the entire task overlaps with the Iteration period (task length exceeds the Iteration duration) → task start and end dates are aligned with the Iteration; task length altered to fit within the Iteration.
Dark green - the task partially overlaps with the beginning of the Iteration period (task length doesn’t exceed the Iteration duration) → task is moved - start dates of the task and Iteration are aligned; task length remains unchanged.
Brown task - the task partially overlaps with the end of the Iteration period (task length doesn’t exceed the Iteration duration) → task is moved - end dates of the task and Iteration are aligned; task length remains unchanged.
Turquoise task - the task partially overlaps with the beginning of the Iteration period (task length exceeds the Iteration duration) → task is moved - the start and end dates aligned with the Iteration; task length altered to fit within the Iteration.
Black task - the task partially overlaps with the end of the Iteration period (task length exceeds the Iteration duration) → task is moved - the start and end dates aligned with the Iteration; task length altered to fit within the Iteration.