Gantt LWC - Scheduling Engine - An Overview

    Last Modified On: October 28, 2024

     

    Please note:

    The overview provided below is specific to the Gantt Lightning Web Component (Gantt LWC).

     

     

    How Project Tasks are scheduled

    The Gantt Lighting Web Component (Gantt LWC) ensures that project tasks closely adhere to the project schedule so that the project can be completed on-time, based on an ideal sequence.

     

    In Gantt LWC, there are two (2) scheduling directions - forward and backward. In forward-scheduled projects, 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 dependent on when the project starts. Forward-scheduled projects allow you to set the project start date and all tasks without predecessors default to the same start date as this represents the earliest date that the task can start. Tasks with predecessors are scheduled to start/finish ASAP following its predecessor.

     

    For backward-scheduled projects, 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 end date is the latest date when tasks in the project should finish. Backward-scheduled projects allow you to set the project end date and all tasks without predecessors default to the same finish date as the project end date since this represents the latest date that the task can finish. Tasks with predecessors are scheduled to start/finish ALAP following its predecessor. An example of when this might be ideal is when you are planning an event where the event date is a hard date and all other activities that need to happen before are dependent on when the event is taking place. In a backward-scheduled project, you set the project end date (the event date), and tasks will be calculated backwards based on their predecessor relationships.

     

    In both forward and backward scheduling direction, the project start date (forward) and project end date (backward) represent the earliest or latest date that tasks in the project can start or finish. When you re-schedule a task that goes beyond this setting, you are prompted with a Project Constraint/Border Violation that asks you to choose how to proceed. If you do not wish to be prompted every time, you can set the Project Constraint Violation Setting to "Ignore". This only applies to what happens when you adjust a task that violates the project start/end date setting but does not apply to tasks being rescheduled away from its predecessor. For more information on this and how you can prevent it from displaying the constraint violation every time you violate the border, please refer to Gantt LWC - Project Scheduling Direction.

     

    Now, in both scheduling directions, when you reschedule a task away from the project start/end date or away from its predecessor, the scheduling engine will prompt you to set a constraint. This is because your tasks no longer adhere to ASAP (for forward-scheduled projects) or ALAP (for backward-scheduled projects). Without constraints, the scheduling engine will re-schedule the task according to where it should be, based on your project start/end date setting (for tasks without predecessors) or based on its predecessor relationship. Again, this is to ensure that you are starting/finishing tasks ASAP/ALAP based on the task's predecessors and your project timeline. This is where the project scheduling modes have an impact (Manual vs Automatic). In Manual mode, you are prompted to set a start-no-earlier-than (SNET) constraint every time you reschedule a task; while in Automatic mode, it does not prompt you and instead, will automatically populate a start-no-earlier-than (SNET) constraint. In both modes, you are required to set a constraint when you are moving a task away from its predecessor or from the project start/end date (when the task has no predecessor). For more information on Project Scheduling modes, please see Gantt LWC - Project Scheduling Modes - Manual vs. Automatic.

     

    Another option, if you do not wish to set constraints when rescheduling a task, is to add lag/lead time between tasks. Lag time allows you to delay the task start/finish date. For example, if Task A and B have a finish-to-start dependency, then Task B should start ASAP following Task A's finish date. If we wish to delay Task B by 5 business days, we would then add a lag of 5 days. The scheduling engine will then reschedule Task B to start 5 days after Task A's finish date. For more information on how to add Lag time, please see Gantt LWC - Defining Task Relationships.


    Tags

    Project PlanGetting Started - Gantt LWC

    « Previous ArticleNext Article »