Scheduling a project without resources boils down to a sequencing problem where activities are iteratively scheduled while respecting the precedence relations between them. It results in the detection of the critical path which refers to a sub-part of the project network containing the activities that are critical to the project objective. In this article, the scheduling objective is assumed to be the minimization of the total project duration. Figure 1 displays a project network with 6 activities (A to F) and an activity duration estimate displayed above each node. This example will be used throughout this article to calculate the critical path.

Figure 1. An example project network

The determination of the critical path of a project requires three steps which are summarized along the following lines and discussed in the remainder of this article.:

Construct an earliest start schedule (ESS)

Construct a latest start schedule (LSS)

Calculate the activity slack

Earliest start schedule (ESS)

The earliest start of each activity can be calculated using forward calculations in the project network and is equal to the maximum of the earliest finishing times of all its predecessor activities. The earliest finish of an activity is defined as its earliest start time increased with its duration estimate. Figure 2 displays the ESS for the example project of figure 1, starting from the first activity A and working forwards to the last activity F, resulting in a total project duration of 15 time units.

Figure 2. An earliest start schedule for the example project