Gantt LWC - Defining Task Relationships (Predecessors)

    Task dependency refers to the logical relationship between tasks (or activities) in a project.

     

    This article will walk you through how to create dependencies between tasks by using Predecessors.  

     

    Predecessor refers to a task (or activity) that must begin or end before a successor (dependent) task can proceed. In Inspire Planner, you create task relationships by populating predecessors. When you populate the task predecessor(s), it automatically then populates the successor(s).

     

    successor is a task (or activity) that follows another activity - not in the chronological sense but according to their dependency on each other.

     

     

    Step 1 - Create a Project Plan

    The first step would be for you to create your project plan which includes project tasks, milestones, and duration. Once you have an outline, you can start defining predecessors.
     


     

    Step 2 - Understand Predecessor Types

    Inspire Planner supports the four (4) common types of dependencies:

    • Finish to Start (FS)
    • Start to Start (SS)
    • Finish to Finish (FF) and
    • Start to Finish (SF)
       

    Finish to Start (FS)

    Finish-to-Start predecessors are the most commonly used type of dependency. With a Finish-to-Start dependency, this means that the finish date/time of Task A determines when Task B can start. Task B can only start once Task A is complete. The image below shows an example of a Finish-to-Start type of predecessor.

    If we reschedule Task A or adjust its duration wherein the finish date/time changes, it will automatically reschedule Task B to start immediately following the finish date for Task A.



     

    Start to Start (SS)

    With a Start-to-Start dependency, this means that the start date/time of Task A determines when Task B can begin. Task B can only start if Task A has been initiated. The image below shows an example of a Start-to-Start type of predecessor.

    If we reschedule Task A or adjust its duration wherein the start date/time changes, it will automatically reschedule Task B to the same start date/time as Task A.


     

    Finish to Finish (FF)

    With a Finish-to-Finish dependency, this means that the finish date/time for Task A determines when Task B can finish. Task B can only finish if Task A is finished. The image below shows an example of a Finish-to-Finish type of predecessor.

    If we reschedule Task A or adjust its duration wherein the finish date/time changes, it will automatically reschedule Task B to the same finish date/time as Task A.

    Start to Finish (SF)

    Start-to-Finish relationships are the least commonly used in project planning. With a Start-to-Finish dependency, this means that the start date/time for Task B determines when Task A can finish. Task A can only finish with Task B being initiated. The image below shows an example of a Start-to-Finish type of predecessor.  The image below shows an example of a Start-to-Finish type of predecessor.

    If we reschedule Task B or adjust its duration wherein the start date/time changes, it will automatically reschedule Task A to a finish date/time immediately before the start date/time for Task B.

     

    Step 3 - Define Predecessors

    Now that you understand the different types of predecessor relationships, you are ready to define the dependencies that exist between your project tasks.


    Task relationships can be defined either by:

     

    1. Populating Predecessors
    2. Adding predecessors in the Task dialogue
    3. Connecting task bars in the Gantt Chart


    Populating Predecessors

    You can define dependencies between tasks using the 'Predecessors' column for each of your project tasks. This can be done by either:

    • Populating value in Predecessors, OR
    • Using the task predecessor picker

     

    Option 1 - Populate the value in Predecessors

    This is done simply by entering the row number of the predecessor task, followed by the predecessor type.

     

    1. Double-click on the predecessor cell.


       
    2. Enter the row number of the predecessor task. The row numbers can be found to the left of each task.

      In the example below, the task "Prepare kick-off deck" is dependent on "Build high-level project schedule". If you look to the left of "Build high-level project schedule", you will see its row number - "3". So this is what we will enter in the predecessor for "Prepare kick-off deck". 




      If you press the enter (return) key on your keyboard or click outside of the predecessor cell, it creates a finish-to-start dependency. The task bars within the Gantt chart now display a line that connects the end of "Build high-level project schedule" to the start of "Prepare kick-off deck".




      The type of predecessor relationship is determined by the letter suffix you append to the row number in the predecessor field.

      Finish to Start
      To create a finish to start dependency, you only need to populate the predecessor with the row number of the predecessor task.



      Start to Start
      To create a start to start dependency, enter the row number of the predecessor task followed by the letters "SS". 



      Finish to Finish
      To create a finish to finish dependency, enter the row number of the predecessor task followed by the letters "FF". 



      Start to Finish
      To create a start to finish dependency, enter the row number of the predecessor task followed by the letters "SF". 


       
    3. You can also enter multiple predecessors separated by a semicolon. In the example below, "Schedule kick-off meeting with stakeholders (row 5)" is dependent on both "build high-level project schedule (row 3)" and "Prepare kick-off deck (row 4)" being completed first.


       
    4. To delete the dependency between two tasks, simply remove the value in Predecessor.


       

    Option 2 - Use the Predecessor Picker

    This is done by double-clicking on the predecessor cell and clicking on the drop-down arrow.

     

    1. Double-click on the predecesor cell and click on the drop-down arrow.


       
    2. This will display a picklist containing all tasks in the project. Use the scroll bar to the right to scroll through the list of tasks.



      You can filter the tasks displayed by entering the task name in the "Filter" box at the top. It will then display only the tasks that contain the keyword you entered.



      To see all tasks again, remove the filter by clicking on the "X" to the right.



      Finish-to-Start
      To create a finish-to-start dependency, click on the predecessor task. In the example below, the predecessor is "3: Build high-level project schedule" where 3 is the row number, followed by the task name.

      When you click on a task, it creates a finish-to-start dependency by default.



      The two bars to the right of the task represents the task and its predecessor. The first bar is the predecessor task and the second bar is the successor task.

      As previously mentioned, when you click on a task subject, it creates a finish-to-start dependency by default. If you take a closer look at the task bars, they are highlighted in green (this means that they are connected) and notice where the small white circles appear - at the end of the predecessor bar and the start of the successor bar - denoting a finish-to-start dependency.



      Start-to-Start
      Now to change the dependency type from finish-to-start (the default) to a start-to-start dependency, click toward the left of the predecessor (first) bar. 



      This will move the white circle to the start of the predecessor bar (see below). Notice, too, that the value in predecessor now displays "3SS", denoting a start-to-start dependency with the task in row 3.



      Finish-to-Finish
      Now to change the dependency type from finish-to-start (the default) to a finish-to-finish dependency, click toward the right of the successor (second) bar. 



      This will move the white circle to the end of the successor bar (see below). Notice, too, that the value in predecessor now displays "3FF", denoting a finish-to-finish dependency with the task in row 3.



      Start-to-Finish
      Now to change the dependency type from finish-to-start (the default) to a start-to-finish dependency, click toward the left of the predecessor (first) bar - this will move the white circle to the start of the predecessor bar, then click toward the right of the successor (second) bar - this will move the white circle to the end of the successor bar.



      This will move the white circle to the start of the predecessor bar and the other white circle to the end of the successor bar (see below). Notice, too, that the value in predecessor now displays "5SF", denoting a start-to-finish dependency with the task in row 5.



       
    3. To remove the dependency between two tasks, simply click anywhere outside the green task bars. You could also remove the value in the predecessor cell.



    Adding Predecessors in Task Dialogue

    Another way to create predecessor relationships is via the Task dialogue.
     

    1. To open the task dialogue, double-click on the task bar in the Gantt chart.


       
    2. The task dialogue will open onscreen. Click on the Predecessors tab.


       
    3. Click on the Add icon.


       
    4. In the Name column, you can click on the drop-down arrow to see all tasks in the project. You can also start typing in the name of a task and it will narrow down the tasks displayed in the drop-down. Click on a task to select it.


       
    5. Double-click on the Type field to adjust the dependency type.


       
    6. If the task has multiple predecessors, click on the Add icon again and then fill in the details of the other predecessor task.


       
    7. To remove a predecessor, select the task first and then click on the Recycle Bin.


       
    8. The predecessor should be populated for the task.

     

     

    Connecting Tasks within the Gantt Chart

    Predecessors can also be defined within the Gantt Chart by drawing a line between tasks. For more information on how, see Managing Predecessors in the Gantt Chart.

     

    Duration and Predecessors

    When you create a Project Task in Inspire Planner, it defaults the task duration to "1 Day" with the start time and end time defined in your project settings. If the start of the working day defined in project settings is set to 9:00 AM and the end of the working day is set to 5:00 PM, then a 1 day task is going to have a start and finish date that falls on the same day with a start time of 9:00 AM and an end time of 5:00 PM.

     

    Suppose you have two tasks - "Task A" and "Task B"- with a Finish-to-Start relationship. This means that "Task B" is dependent on when "Task A" finishes. You will notice in the example below that since Task A has a duration of 1 Day, the Start and Finish Dates fall on the same day and since Task B follows Task A, you will notice that Task B starts on the following working day.

     

     

    If you were to set the duration of "Task A" so that it is less than 1 day, let's say 2 hours, then the Inspire Planner scheduling engine will set the start time as 9:00 AM and the end time at 11:00 AM. Now since "Task B" follows "Task A" (per the Finish-to-Start relationship you defined), then the Inspire Planner scheduling engine will set the Start Date for "Task B" to the same day as "Task A" with a start time of 11:00 AM. Since "Task B" has a duration of 1 day, it will then calculate the end date and time for "Task B" from 11:00 AM to the following working day. Therefore, you will notice that although Task B has a duration of 1 day, the Start and Finish Dates span 2 days.

     

     

    This has a cascading effect on the rest of the tasks within your project depending on the predecessor relationships defined. Unless you need to track tasks at a very granular level where you need to specifically track start and end times within a day, we recommend keeping duration unit in days at the minimum and using Planned Effort to specify the estimated effort involved in completing the task. 

     

    Working Backwards from a Pre-defined End Date

    There may be instances where you have a pre-defined end date for a Project and need to work backwards to determine when to start the Project. For example, you might be planning for an event and the event date is already determined. All the activities leading to the event are calculated backwards from the event date. Therefore, the event date is what determines the project schedule.

     

    To accomplish this, you will need to create start-to-finish dependencies between your tasks. 

     

    In the example below, let's imagine we are planning a simple Spring Gala, and we have already decided on a date for our event ("Event Date"). All the activities we need to complete for the event have to happen before this event date. The event date is what determines when we need to do the prior activities.

     

    Create start-to-finish dependencies from the "Event Date". In the example below, the "Event Date" is the task on row 27. This is our hard date. Starting with the task on row 26, populate a start-to-finish predecessor with the task in row 27. Remember that you can populate the predecessor value, use the predecessor picker, create predecessors in the task dialogue or link the task bars in the Gantt chart.





    You'll notice that the task in row 26 which is "Finalize guest list" moves backward.

     

    Repeat this process all the way to the first task within your Project. You will notice that the dates of the Tasks automatically adjust backwards based on the date of the last task in the Project.


    Please Note:
    The Ready-to-Start Indicator for Tasks is set to "True" based on the status of the Predecessor since the Predecessor Task is the controlling task. This means that the Predecessor Task determines when the Successor Task should start or finish. With Start-to-Finish dependencies, you are working backwards from a defined end date which means that this will have an impact on when Ready-to-Start is set to "True". If all the tasks in your project are linked with start-to-finish dependencies from the last task in the project, then this means that the last task is the controlling task.
     

     

    Adding Lag or Lead Time Between Tasks

    There may be instances where you may need to schedule a task to start later or earlier than it's predecessor's start or finish date. Inspire Planner supports adding lag or lead time between Tasks. Lag time is defined as the amount of time whereby a successor task is required to be delayed with respect to its predecessor. Lead time is defined as the amount of time whereby a successor task can be advanced or started ahead with respect to its predecessor.

     

    To add Lag Time, you simply append a plus sign (+) and the lag in days to the Predecessor. For example, if  you have a Finish-to-Start dependency between Task A (Row 3) and Task B (Row 4), then you would define the value for Predecessor in Task B as "3". If you need to delay Task B by 3 days, then you will enter the value in Predecessor as "3+3" where "3" is the row number of its Predecessor followed by "+3" to denote that Task B is to start 3 days after in relation to its predecessor.

     

    To add Lead Time, you would append a minus (-) and the lead in days to the Predecessor. 

     

    Please Note:

    Although Task Duration can be in hours, days, weeks and months, Lag and Lead time can only be entered in "Days".  Even if you enter 4W for Lag, when you save and refresh, it changes it to 4 days. 

     


    For first-time project planners, please see Getting Started with Inspire Planner,or log a Help Ticket and someone from our Inspire Support Team will get back to you.

     

     

     

     

     


    Tags

    Getting Started - Gantt LWCProject Plan

    « Previous ArticleNext Article »