6. Gantt constraints and dependencies
Contents
- 6.1 What is the critical path?
- 6.2 Task slack
- 6.3 How do you add task constraints?
- 6.4 Constraint violations
- 6.5 How do you associate resources to tasks?
- 6.6 How do you create task dependencies?
- 6.7 Gantt chart
- 6.8 Task record
- 6.9 Lead time and lag time
- 6.10 Dependency violations
- 6.11 How do you delete task dependencies?
- 6.12 Locking started tasks
6.1 What is the critical path?
The critical path for a project represents the task or series of tasks that cannot afford to be delayed. The tasks must either start on time or complete on time for the project to stay on schedule. The tasks that are considered the critical path depend on several conditions that include the selection in the Calculate Project From field and any existing task constraints.
a. Critical path conditions
Condition | Description |
---|---|
Calculate Project From |
If the Calculate Project From field is set to Start, the tasks that will jeopardize the project end date if they slip are considered the critical path. If the Calculate Project From field is set to End, the tasks that will impact the project start date if they start any earlier than planned are considered the critical path. |
Tasks with Constraints |
If a task has a Must Start On constraint set, and any slippage in the task start date would violate the constraint, the task is considered part of the critical path. If a task has a Must Finish On constraint set and any slippage in the task end date would violate the constraint, the task is considered part of the critical path. |
6.2 Task slack
The slack (or float) indicates the number of hours that a task can move or "float" before
it jeopardizes the planned start or planned end of the project or an individual task
constraint. The task or tasks that are the critical path each have a slack value of 0 hours, as
noted in the Slack (hours) column of the task table. To add the
Slack (hours) column to the task table, you click the Choose
columns to display
button on the Gantt scheduler toolbar, and select the column from
the list of columns to display.
If the Calculate Project From field is set to Start, the slack values are calculated from the end of the project, or the end of the latest task if no project end date is set. If Calculate Project From is set to End, the slack values are calculated from the beginning of the project.
In the following example, the Calculate Project From field is set to Start, which means the slack value for each task is calculated from the end of the project. Four tasks are in the critical path. All four tasks have a slack value of 0.0.
a. Critical path with slack values
6.3 How do you add task constraints?
You can add constraints to tasks when the tasks have restrictions, such as when they must start or finish on a specific date. You can create the following types of constraints:
- As Soon As Possible (default)
- Must Finish On
- Must Start On
- Start No Earlier Than
- Start No Later Than
The As Soon As Possible constraint behaves differently depending on whether Gantt Strict mode is enabled or disabled. For more information, see Gantt Strict mode.
To add a constraint on a task, perform the following steps:
Step 1. Open the task and select the Advanced tab.
Step 2. In the Details section, select the Constraint Type and Constraint Date/Time. For all constraint types, except As Soon As Possible, the Constraint Date/Time is required so that the task is placed properly on the Gantt chart.
Step 3. Save the task.
a. Task constraints
b. Work Task > Advanced tab > Constraint Type and Constraint Date/Time
6.4 Constraint violations
You can correct the start or end date of tasks to be in alignment with their constraints by
clicking the Correct dependency and constraint errors
button on the Gantt scheduler toolbar. If you have
multiple constraint violations, you might have to click the button and save several times.
The remaining violations are reevaluated after each save.
Save the changes by clicking the Submit changes to server
button. If you refresh the Gantt chart without first saving
it, the corrections to the constraints are not applied.
If a task with a constraint causes a violation, it displays on the Gantt chart in a different color from the other tasks.
If you try to save a Gantt chart that has one or more violations, a message informs you that the violations exist. You can save without fixing the violations or you can cancel to fix them before you save the Gantt scheduler.
If you save from the project form rather than the Gantt scheduler, the constraint or dependency violations are not checked.
6.5 How do you associate resources to tasks?
You can associate resources such as people, assets, locations, or organizations to tasks. The resource names are placed next to the tasks in the Gantt chart.
To specify resources for a task, perform the following steps:
Step 1. Open the task in the Gantt scheduler by using one of the following methods:
- Click the Edit task
button in the task table.
- Double-click the task bar in the Gantt chart.
- Click the task in the Project Tasks section.
Step 2. Go to the Resources tab.
Step 3. In the Resources section, click the button that is associated with the type of resource that you want to add. For example, to add a person, click Find People.
Step 4. After you select the resources, click Save & Close to return to the Gantt scheduler. The resources that you selected are displayed next to the task in the Gantt chart.
a. Task resources
6.6 How do you create task dependencies?
You can link a task to another task on which it is dependent. One example of task dependency is when you cannot start a task until another task finishes. Another example is when you cannot start a task until another task starts.
You can define the following types of dependency relationships between two tasks:
- Finish-to-Start (fs)
- Finish-to-Finish (ff)
- Start-to-Finish (sf)
- Start-to-Start (ss)
You can create dependencies directly in the Gantt chart or through the Dependency tab on the task record.
In the Gantt scheduler, a newly created task must be saved before you can create a dependency on it. If you attempt to create a dependency on a new task before you save it, the dependency is not created.
You can set multiple dependencies on a task.
a. Task dependencies
6.7 Gantt chart
To create a dependency directly in the Gantt chart, perform the following steps:
Step 1. Click and hold the mouse cursor on the task that has a dependency on another task.
Step 2. Drag the mouse cursor vertically to the other task (known as the predecessor).
Notice that a dependency line is drawn from the first task to the second. Whichever end of the first and second task that the line is dragged from/to determines which dependency relationship is created.
- Dependency example: Task B cannot start until Task A starts.
- Dependency relationship: Start-to-Start (ss)
- What to do: Click and hold at the start of Task B and drag to the start of Task A.
- Dependencies tab: You can view the dependency information at the task-record level by double-clicking the dependency line in the Gantt chart. When the task that has the dependency on another task opens, click the Dependencies tab to view the dependency information.
6.8 Task record
To create a dependency in a task record, perform the following steps:
Step 1. Open the task that depends on another task by clicking the Edit
task
button
in the task table or by double-clicking the task bar in the Gantt chart.
Step 2. Go to the Dependencies tab.
Step 3. Click the Find Tasks button, select the task that this task depends on, and click OK.
Step 4. Select a relationship in the Dependency Relationship drop-down menu.
Step 5. Click Save & Close to return to the project.
Notice that a dependency line is displayed on the Gantt chart from the task that has the dependency to the task on which it is dependent (known as the predecessor.)
- Dependency example: Task B cannot start until Task A finishes.
- Dependency relationship: Finish-to-Start (fs)
- What to do: Open Task B and go to the Dependencies tab. Click Find Tasks, select Task A, and click OK. For the Dependency Relationship, select Finish-to-Start. Click Save & Close.
a. Work Task > Dependencies tab > Dependency Relationship
6.9 Lead time and lag time
Besides adding a dependency relationship between two tasks, you can add a lead (-) or lag (+) time interval for that relationship. A lead time interval means that the task work for one task overlaps with the other task. A lag time means that a time gap exists between the task work for one task and the task work for the other task.
When you set a lead or lag time for a dependency, the dependent task moves further into the past or future in relation to the predecessor task by the number of days and hours that you specify.
To add a lead or lag time for a dependency, perform the following steps:
Step 1. Double-click the dependency line in the Gantt chart or open the task that has the dependency.
Step 2. On the Dependencies tab, enter the Lead(-)/Lag(+) Working Days and Lead(-)/Lag(+) Working Hours.
- For a lead time, enter negative values for the days and hours.
- For a lag time, enter positive numbers for the days and hours.
Step 3. To calculate the Lead(-)/Lag(+) Total Working Hours, click outside of the other fields or click Save.
Step 4. Click Save & Close to return to the Gantt scheduler.
a. Schedule Task > Dependencies tab > Lead/Lag Working Days/Hours
6.10 Dependency violations
You can correct any conflicting start or end dates of tasks that depend on each other by
clicking the Correct dependency and constraint errors
button on the Gantt scheduler toolbar. If you have
multiple dependency violations, you might have to click the button and save several times.
The remaining violations are reevaluated after each save.
Save the changes by clicking the Submit changes to server
button. If you refresh the Gantt chart without first saving
it, the corrections to the dependencies are not applied.
If you try to save a Gantt chart that has one or more violations, a message informs you that the violations exist. You can save without fixing the violations or you can cancel to fix them before you save the Gantt scheduler.
If you save from the project form rather than the Gantt scheduler, the constraint or dependency violations are not checked.
6.11 How do you delete task dependencies?
a. Delete in the Gantt chart
To remove a dependency directly in the Gantt chart, perform the following steps:
Step 1. Click the dependency line on the Gantt chart to select it.
Step 2. Right-click the line, and select Delete the dependency.
b. Delete in the Task record
To remove a dependency in a task record, perform the following steps:
Step 1. Open the task that depends on another task by clicking the Edit
task
button
in the task table or by double-clicking the task bar in the Gantt chart.
Step 2. Go to the Dependencies tab.
Step 3. Select the check box for the dependency, and click Remove.
Step 4. Click Save & Close to return to the project.
c. Deleting dependencies
6.12 Locking started tasks
By default, the as-shipped IBM TRIRIGA applications, when correcting dependencies and constraints, do not prevent or "lock" the Gantt scheduler from changing the Planned Start or Planned End date of a task that has already started. But your application administrator can enable the "locking" of started tasks, so that only tasks that have not yet started will be corrected, by setting GANTT_LOCK_STARTED_TASKS=TRUE in the TRIRIGAWEB.properties file on the IBM TRIRIGA server. This setting is system-wide, so it must be consistent across all servers.