The Gantt Lightning Web Component (LWC) supports both forward and backward scheduling. The scheduling direction determines how the scheduling engine plots project tasks.
To enable Scheduling Direction in Inspire Planner, please see Admin Guide - Gantt LWC - Scheduling Direction.
Please note the following:
When you create a new waterfall project, the default scheduling direction is "Forward". You can choose the scheduling direction for the project - choose between Forward and Backward. If there is no value in Scheduling Direction, it will assume a forward scheduling direction.
In a forward scheduled project (default scheduling direction), tasks are scheduled as soon as possible (ASAP) from the project start date. This scheduling direction is ideal for projects where the project finish date is determined by when the project starts.
When you create task dependencies, the successor (dependent) tasks plot as soon as possible following its predecessor(s).
When you create a new waterfall project and create tasks in the project, the earliest task start date becomes the default Project Start Date. This is referred to as the project border and is the earliest date that tasks can start.
All tasks without predecessors will have a task start date that defaults to the project start date. When you adjust a task's duration, the task finish date will automatically adjust according to the duration from the task start date.
Let's say we create a new waterfall project and set the scheduling direction to "Forward". As we create tasks, the task duration will default to 1 day and the task start date will default to the current date. Notice that the Project Start Date defaults to a blank value.
You can adjust the task duration and also adjust the task start and/or finish dates. When you save the project, Inspire Planner looks for the earliest task start date and this becomes the Project Start Date.
Please Note:
To see the value in Project Start Date, you will need to refresh the project.
Notice in the example below that the earliest task start date is June 10, 2024. This is now the value you see in the Project Start Date setting on top of the Gantt.
For every new task that is added to this project or for any task that does not have a predecessor, the task start date will default to project start date which is June 10, 2024.
In the example below, if we add a new parent task and subtasks, they all default to the same date as the project start date. This is because the project start date means that this is the earliest date the tasks can begin.
As previously mentioned, the earliest task start date determines the default Project Start Date. However, you can define the Project Start Date and all tasks in the project that do not have a predecessor are automatically rescheduled to start on the same date as the project start date.
To change the Project Start Date, click on the calendar icon and select a date from the calendar.
You will notice that all tasks without predecessors are automatically rescheduled according to the new project start date. You will need to save the project to save the new project start date, as well as the updates made to the task start dates. If you leave the project without saving it, the project start date will revert to its previous value.
As previously mentioned, the Project Start Date is deemed as the project border. All tasks without predecessors will have a task start date that defaults to the project start date since this is the earliest date a task can begin.
What happens when you adjust a task to start earlier than the project start date depends on the "Project Border Violation" setting. This can be found in the Project Settings Dialogue.
In a Project, click on the Project Settings Icon.
In the Project Settings dialogue, you will find a setting called "Project Border Violation".
The Project Border Violation Setting contains the following options:
If the Project Border Violation Setting is set to NULL or "Conflict", when you adjust a task to start earlier than the Project Start Date, a constraint violation dialogue is displayed onscreen.
If a task has a predecessor(s), it will always plot as soon as possible (ASAP) following its predecessor(s).
The project start date is the earliest date that tasks without predecessors can start. However, you can manually reschedule a task to start later. When you reschedule a task to start later than the project start date, Inspire Planner will automatically populate a start-no-earlier-than (SNET) constraint.
For example, if the Project Start Date is set to June 3, 2024 and we reschedule a task to start on June 10, 2024, it will automatically populate a start-no-earlier-than constraint and the constraint date is the same date as the task start date. This prevents the scheduling engine from rescheduling the task start date according to the project start date.
If you remove the start-no-earlier-than (SNET) constraint, the scheduling engine will reschedule the task as soon as possible based on project start date. This means it will reschedule the task to start on the same date as the project start date.
Notice in the example below that if we remove the constraint, the task start date is rescheduled to the same date as the project start date of June 3, 2024.
In a backward scheduled project, tasks are scheduled as late as possible (ALAP) from the project end date. Tasks are scheduled according to when the project needs to finish. The project finish date determines when tasks in the project should finish.
All tasks without predecessors will have a task finish date that defaults to the project end date and the project start date is the earliest task start date. Based on the task duration and/or dependencies, the task start date will adjust according to the task finish date.
This is ideal for projects where there is a pre-determined project finish date. For example, you may be planning an event where the event date is already pre-determined and cannot be moved. The activities leading up to the event are scheduled according to when the event is set to occur.
When you create a new waterfall project and create tasks in the project, the latest task start date becomes the default Project End Date. This is referred to as the project border and is the latest date that tasks can finish.
All tasks without predecessors will have a task finish date that defaults to the project end date. When you adjust a task's duration, the task start date will automatically adjust according to the duration from the task finish date.
Let's say we have created a new waterfall project and set the scheduling direction to "Backward". As we create tasks in this new project, the task duration will default to 1 day and the task finish date will default to the current date. Notice that the Project End Date defaults to a blank value.
When you adjust the task duration, you will notice that the task finish date does not move. Instead, it will adjust the task start date according to the duration from the task finish date. When you save the project, it then populates the Project End Date setting on top of the Gantt.
To see the value in Project End Date, you will need to refresh the project.
Notice in the example below that task finish date for all tasks defaults to the current date which is June 10, 2024. This is now the value you see in the Project End Date setting on top of the Gantt.
For every new task that is added to this project or for any task that does not have a predecessor, the task finish date will default to project end date which is June 10, 2024.
In the example below, if we add a new parent task and subtasks, they all default to the same finish date as the project end date. This is because in a backward-scheduled project, tasks are scheduled as late as possible from the project end date.
Although the Project End Date setting defaults to the finish date of the first task you create in the project, you can define the Project End Date and all tasks in the project that do not have a predecessor are automatically rescheduled to finish on the same date as the project end date.
To change the Project End Date, click on the calendar icon and select a date from the calendar.
You will notice that all tasks without predecessors are automatically rescheduled according to the new project end date. You will need to save the project to save the new project end date, as well as the updates made to the task finish dates. If you leave the project without saving it, the project end date will revert to its previous value.
As previously mentioned, the Project End Date is deemed as the project border. All tasks without predecessors will have a task finish date that defaults to the project end date since this is the latest date a task can finish.
What happens when you adjust a task to finish later than the project end date depends on the "Project Border Violation" setting. This can be found in the Project Settings Dialogue.
In the Project Settings dialogue, you will find a setting called "Project Bor Violation".
If the Project Border Violation Setting is set to NULL or "Conflict", when you adjust a task to finish later than the Project End Date, a constraint violation dialogue is displayed onscreen.
If a task has a predecessor(s), it will always plot as late as possible (ALAP) following its predecessor(s).
The project end date is the latest date that tasks without predecessors can finish. However, you can manually reschedule a task to finish earlier. When you reschedule a task to start earlier and it causes the task to finish earlier than the project end date, it will automatically populate a start-no-later-than constraint for the task.
When you reschedule a task to finish earlier (where you are adjusting the task finish date instead of the task start date), it will automatically populate a finish-no-later-than (FNLT) constraint for the task.
For example, let's say we have a project with a Project End Date that is set to June 18, 2024.
If we reschedule Task A to start on June 10, 2024 and it has a duration of 2 days, the scheduling engine will set the task finish date to Jun 11, 2024 which is now earlier than the project end date. You will notice that it is setting a start-no-later-than constraint with a constraint date equivalent to the task start date.
If we reschedule Task B to finish on June 13, 2024 and set task duration to 2 days, the scheduling engine will adjust the task start date to reflect the task duration of 2 days from June 13, 2024. You will also notice that it is setting a finish-no-later-than constraint with a constraint date equivalent to the task finish date.
In both use cases above, if you remove either the start-no-later-than (SNLT) or finish-no-later-than (FNLT) constraint, the scheduling engine will reschedule the tasks to finish on the same date as the project finish date.
Notice in the example below that if we remove the start-no-later-than (SNLT) constraint for Task A and also remove the finish-no-later-than (FNLT) constraint for Task B, the task finish date for both tasks is rescheduled to the same date as the project end date of June 18, 2024.
If a task has a predecessor(s), it will always plot as late as possible (ALAP) following its predecessor(s). When you create task dependencies (predecessors), the scheduling engine automatically plots the tasks backwards, as-late-as-possible from the project end date.