Start/end date of newly created tasks
The article below refers to a task being added to a single "Own scope" Box.
For example:
The main Program-type Box has its "own" scope (tasks are added to the scope definition of the Box)
The project Box can be further divided (for example, into Program Increments and Iterations)
If Program Increments and Iterations are set up to function as "sub-scope" Boxes = their scope is based on the main Box.
In the example below, a task can be in the OMEGA Box (own scope) + Program Increment 1 (sub-scope Box) + Iteration 2 (sub-scope Box).
Start/end date not specified
Check the Task Dates page to learn more about tasks without start/end dates.
Start/end date overwritten
Based on scheduling rules, the App can make changes to:
task duration
task placement on the timeline
Priority of scheduling rules
The scheduling mode of a task is the strictest scheduling rule, but it relies on parent-child relationships within the task tree.
Understanding the automatic rules that impact WBS is necessary to comprehend scheduling outcomes.
General priority of scheduling rules:
Scheduling mode
Dependencies
Task period alignment
In reality, when you create a new task:
WBS is determined by:
Structure builders
structure builders can be based on dependencies
Manual task placement (adding a task in a particular spot in the task structure)
Task period alignment applies
rules of the "own scope" Box
rules of the "sub-scope" Box → auto-assignment (sync with a selected field)
Scheduling mode rules apply (based on WBS)
auto top-down > auto bottom-up
Dependencies apply
Strong dependencies dictate the placement of start/end dates
Scheduling mode rules are prioritized. Dependency will still exist, but the outcome will be limited by scheduling mode
A newly created task changes based on other tasks but can also force existing tasks to change. The impact is presented in the following table:
New task | Impacted by | Impacts |
---|---|---|
dependencies | a task can be a target of a dependency (it is affected by the source task) | a task can be a source of a dependency (it affects other tasks) |
scheduling mode | "auto top-down" parent impacts:
| all tasks impact an "auto bottom-up" parent |
Task creation (field values) - scheduling mechanisms involved in task period calculation
When adding a task, the fields you fill in determine what scheduling mechanisms apply and how they will position a task.
Depending on:
the setup of a Box
task fields filled in
Mechanisms dependent on task field values | Result | Applicability |
---|---|---|
Structure Builders | Automatic WBS structure is based on Box Configuration > Tasks > Task structure. Structure builder rules can be manually broken. This means that when you create a new task, it is placed according to Structure Builders, but afterward, you can move it. If structure builders don't apply, tasks will be created exactly where you have manually specified. | Applies only if structure builders are active AND task is affected by them. Box: Task:
|
sub-Box auto-assignment (relevant to scheduling only if combined with Task period alignment) | Sub-Boxes (such as Iterations and Program Increments) can be synced with a selected field. This means tasks can be automatically assigned to sub-boxes based on a field value. This can change the task period if task period alignment rules are active for a given Box (main Program-type Box, Iteration, Program increment, etc.) | Relevant only if combined with Task period alignment rules. Otherwise, it has no impact on task scheduling. Box: Auto-assignment rules can be created only when "sub-scope" sub-boxes exist Task: A task may remain unaffected if existing rules can't be applied to it (for example, the "sprint" field is used to sync tasks with Iteration sub-boxes, but it hasn't been filled in for a given task). |
Task period alignment | While task period alignment isn't directly related to any field, depending on the scope definition rules:
| Applies if task period alignment is active. Task period alignment rules are set up per Box (Box Configuration > Tasks > Scheduling). Check the settings of your main Program-type Box and its sub-Boxes. You can "set assignment on lower levels" directly from the main Program-type Box. |
Dependencies | During task creation, you can add dependencies. Scheduling rules resulting from those dependencies apply to a newly created task. Keep in mind that links between tasks can function as:
Adding a link can move the task within the WBS structure and the task on the timeline. | This applies only if task links have been added.
|
Independent from task fields |
|
|
Scheduling mode | Scheduling mode of newly created tasks is based on Box Configuration > Tasks > Scheduling settings. | Always applies. Box: Task: |
Position in WBS
Task position in the tree structure affects what scheduling rules apply.
Position in the tree is vital, as it determines what task is in the role of a 'parent' and 'child.' Tree relationships determine how the scheduling mode rules are executed.
Task place in WBS is affected by:
structure builders
where the task was manually created
A task can be moved after it was created, but:
the rules resulting from the initial placement have already been applied (various task periods have been adjusted accordingly)
Moving a task will trigger period recalculation to validate rules resulting from the new position (the task period will be changed if needed). Still, changes to other tasks won't necessarily be automatically reverted.
Therefore, creating a task in the correct place in the WBS is crucial.
Structure Builders
Example:
"Epic link" is listed as a structure builder:
The task is created directly in Jira. "Epic link" field has been filled in:
The task is nested according to the structure builder settings of a Box:
Even when you try to create a task in a particular spot in the structure, it will be moved according to existing structure builders:
Changing an existing task can result in a task being moved based on structure builders:
Structure builder rules can be manually broken. This means that when you create a new task, it is placed according to Structure Builders, but afterward, you can move it manually within the structure.
Inline task creation
Two key things to keep in mind:
Between what tasks are you adding a task
Is the structure expanded
Between same-level tasks
When you create a task between the same level tasks (collapsed structure = two tasks on the same level), you will create a same-level task:
Task added:
Between different level tasks
The "add task" inline button can be positioned between different level tasks when the task structure is expanded. The resulting task is always created at the more indented level (nested lower in the structure):
Task added:
Additional example:
Add task button
Click on a task to select it (it is highlighted in blue). A same-level task will be created when you use the "Add task" button, regardless of whether the tree is expanded.
Resulting task:
Directly in Jira
When you create a task directly in Jira, it is positioned at the least indented level possible and placed at the bottom of the list.
Task position in WBS depends on the structure builder settings of a Box.
Scheduling mechanisms
In the sections below, you can find description of function of each scheduling rule.
Scheduling mode
Tasks can be in one of four modes:
Locked = task duration can't be changed (task unaffected by other scheduling rules; task limits period of children)
Manual = task duration has to be changed manually (task unaffected by other scheduling rules)
Auto top-down = task has to fit within the period of its parent
Auto bottom-up = task period changes the period of its parent.
What is the scheduling mode of newly created tasks?
Box settings determine the scheduling mode of newly created tasks.
| child | ||||
---|---|---|---|---|---|
locked | manual | auto top-down | auto bottom-up | ||
parent | locked | N/A | N/A | AFFECTS | AFFECTS |
manual | N/A | N/A | N/A | N/A | |
auto top-down | N/A | N/A | AFFECTS | AFFECTS | |
auto bottom-up | AFFECTED BY | AFFECTED BY | AFFECTED BY | AFFECTED BY | |
Summary:
|
"Auto top-down" parent task
An "auto top-down" parent task forces a child to fit within its period.
Affected tasks:
other "auto top-down" tasks
"auto bottom-up" tasks.
During task creation:
Situation | Outcome |
---|---|
New task fits within the parent task period | no changes made to the period of the new task |
New task partially fits within the parent task period | task duration shortened - days outside of the parent task period are 'cut off' |
New task has no overlap with the parent task period | task duration = 1d task placed on a timeline closer to the start/end dates specified during task creation |
"Locked" parent task
A "locked" parent task forces a child to fit within its period.
Affected tasks:
"auto top-down" tasks
"auto bottom-up" tasks.
During task creation:
Situation | Outcome |
---|---|
New task fits within the parent task period | no changes made to the period of the new task |
New task partially fits within the parent task period | task duration shortened - days outside of the parent task period are 'cut off' |
New task has no overlap with the parent task period | task duration = 1d task placed on a timeline closer to the start/end dates specified during task creation |
"Auto bottom-up" parent task
An "auto bottom-up" parent task is affected by the period of any child (regardless of their scheduling mode).
Dependencies
Strong dependencies move a task on a timeline.
Without the involvement of another mechanism, dependencies don't alter the task period.
Dependencies have a lower scheduling priority than scheduling mode.
The source of a dependency remains in its original position - the target of a dependency is moved.
Dependency | Result |
---|---|
End to start | |
End to end | |
Start to end |
|
Start to start |
Task period alignment
Task period alignment settings of a Box regulate the relationship between a task and the Box it's in.
Task period alignment | Results |
---|---|
no alignment | task period = unaffected |
precise alignment | Task period = Box period |
smart adjustment | Task's time frame aligns with the start and/or end date of a Box. Task's length remains unchanged (whenever possible) |
Task period alignment won't be realized if it conflicts with parent task period mode requirements.
Conflicts
Starting state to which scheduling mechanisms are applied:
start/end date unspecified during task creation | start/end date specified during task creation |
---|---|
New task:
| New task:
|
Scheduling mode vs. dependency
Order of execution:
Scheduling mode is executed:
auto top-down parent = child adjusted to fit
auto bottom-up parent = parent changed based on the child.
Dependencies are executed:
task moved according to a dependency
if the "auto bottom-up" parent period has been changed during the scheduling mode execution, it won't be further changed (for example, if the parent has been lengthened to encompass the new child, it won't 'shrink' back down, even if it would be possible after dependency moved the task).
Scheduling mode vs. task period alignment
Order of execution:
Task period alignment is executed.
Scheduling mode is executed - it overwrites the previous changes if necessary.
Dependency vs. task period alignment
Order of execution:
The task period alignment is executed.
The task is moved according to the dependency.
This means that based on task period alignment, a task can be shortened/extended and then moved on a timeline. Since dependencies themself don't modify the task period, task duration will be determined by task period alignment, but the position will be based on strong dependencies.
Dependency vs. task period alignment vs. scheduling mode
Order of execution:
Task period alignment is executed.
Scheduling mode is executed.
Dependency is executed.