# Activity slack: Total, safety and free slack definitions

The determination of the critical path of a project requires forward and backward calculation steps (see “Scheduling projects: How to determine the critical path using activity slack calculations?”) and allows for the calculation of three different slack values. In this article, the following three definitions of activity slack will be discussed:

• Total slack
• Safety slack
• Free slack

The three definitions will be illustrated on the example project depicted in figure 1. The values for the activity slack depend on the predefined project deadline and therefore, a distinction is made between the following two situations:

• When no project buffer is added, D(ESS) = D(LSS): the project deadline is equal to the minimal critical path length
• When a project buffer is added on top of the minimum critical path length, D(ESS) ≠ D(LSS): the project deadline is set to a later time instance than the minimal critical path length
with D(ESS) the project duration of an earliest start schedule (every activity as soon as possible) and D(LSS) the project duration of a latest start schedule (every activity as late as possible). ?Figure 1. An example project network

Figure 2 displays an ESS with a critical path length of 15 time periods and hence D(ESS) = 15. Figure 3 displays a LSS with a predefined project deadline of 19 time periods (D(LSS) = 19)). In this case, a project buffer of 4 time units is added to the project as an extra safety time margin. ?Figure 2. An earliest start schedule for the example project (critical path length = 15 time units) ?Figure 3. A latest start schedule for the example project (within a predefined project deadline of 19 time periods)

Slack calculations

In table 1, the earliest and latest start and finish times are displayed for the project network of figure 1 under two scenarios. In a first scenario, the predefined project deadline is equal to 15, i.e. D(ESS) = D(LSS) = 15 while in a second scenario, the project deadline is set equal to 19 time periods and hence D(ESS) = 15 ≠ D(LSS) = 19. The values in the table will be used to define and calculate the three different slack values.

Table 1. The earliest/latest start/finish times for two different project schedules
 D(ESS) = D(LSS) = 15 D(ESS) = 15 ≠ D(LSS) = 19 ES LS EF LF ES LS EF LF A 0 0 5 5 0 4 5 9 B 5 5 8 8 5 9 8 12 C 5 7 6 8 5 11 6 12 D 8 9 10 11 8 13 10 15 E 8 8 11 11 8 12 11 15 F 11 11 15 15 11 15 15 19

Total slack

The total slack is equal to the allowable delay of an activity i without causing a violation of the project deadline and can be calculated as

LFi - EFi = LSi - ESi

with ESi and EFi the earliest start and earliest finish of each activity i using forward calculations (i.e. obtained from the ESS). Similarly, the LSi and LFi are used to denote the latest start and latest finish of activity i using backward calculations (i.e. obtained from the LSS).

The total slack is given in table 2 for a project deadline of 15 and 19. Note that in case D(ESS) = D(LSS), the activities with a total slack value equal to zero belong to the critical path.

Safety slack

The safety slack is equal to the allowable delay of an activity i when all predecessors finish as late as possible and can be calculated as

LSi - maxall predecessors j(LFj)

with LFj the latest finish time of an activity j that precedes activity i. The safety slack values are given in table 2 for the two project deadlines.

Free slack

The free slack of an activity i is equal to the allowable delay of an activity that has no effect on the earliest start ES of a successor activity and can be calculated as

minall successors j(ESj) - EFi

with ESj the earliest start time of an activity j that succeeds activity i. The free slack values are given in table 2 for the two project deadlines.

Table 2. The three slack versions for two different project schedules
 D(ESS) = D(LSS) = 15 D(ESS) = 15 ≠ D(LSS) = 19 Total slack Safety slack Free slack Total slack Safety slack Free slack A 0 0 0 4 n.a. 0 B 0 0 0 4 0 0 C 2 2 2 6 2 2 D 1 1 1 5 1 1 E 0 0 0 4 0 0 F 0 0 0 4 0 n.a.
n.a.: not available