__PMBOK__^{®}__Definition__Generally, but not always, the sequence of schedule activities that determine the duration of the project. It is the longest path through the project.

__Practical Definition__The longest paths of tasks through the project plan with zero float or zero slack.

__Defining the Critical Path__Normally, the critical path defines the overall length of a project. Why is that important? It means that if any task along that path, known as a critical task or critical activity, slips by even one day, the project will suffer a day-for-day slip minimum. The project may slip more depending on the impact of the slip on resources or other factors, but at minimum, the slippage will be at least the amount of the task’s delay.

In some cases, a small slip won’t impact the overall project’s success, but if time is the driving constraint (see Triple Constraint and Beyond), any slip must be managed carefully.

__What is Slack or Float?__Slack and float are the same. We have two different terms for slack and float because of project management’s history. Modern project management began in the 1950s. Of course, project management has been around for a very long time. Certainly, the Egyptians used some form of project management to build the pyramids and other massive structures. In fact, they employed project managers, although they usually held the title of slave masters. Their tools of the trade were not schedules and budgets, but whips and chains. We are not permitted to use those tools anymore, therefore, we must resort to project plans, due dates, and funding constraints.

In the 1950s, the US Navy developed the Polaris Missile and submarine (for an interesting account of that project as it relates to Risk Management, read Polaris: Lessons in Risk Management). At the time, they had no formal process in which to manage the project. During that time, they defined PERT – Project Evaluation and Review Technique, a methodology we still use today. They defined a term called slack which represented a period of time a task might be delayed without impacting the project schedule or its successor task (they couldn’t use the term float because that has a different meaning when it comes to the Navy).

At the same time, private industry developed a methodology called CPM – Critical Path Method – with a similar concept called float. Both consider the amount of time an activity may be delayed without impacting the project schedule or its successor task.

On the critical path, there is no slack or float. No task or activity can be delayed without impacting its immediate successors or the project schedule.

See Slack or Float for a more complete definition and the use of slack or float in managing projects.

__How to Determine the Critical Path__Determining the critical path is relatively simple. We simply create a network diagram of the project, traverse each path adding the durations of each task of the leg. Whichever leg has the greatest duration becomes the critical path. Since we start at the beginning of the network diagram and travel toward the last task, we call this the forward pass.

We conduct a similar process backwards through the diagram, called the back pass, which gives us values used to determine the float times for each activity.

Using the diagram below, lets understand what this means.

The following notation represents an activity (task and activity are the same and used interchangeably, although the PMBOK has migrated to the use of activity exclusively).

ES = Early Start – the earliest the task can start

EF = Early Finish – the earliest the task can finish, calculated from the ES plus the duration

LS = Late Start – the latest the task can start without impacting the project schedule

DU = Duration – planned value

LF = Late Finish – the latest a task can finish without impacting the project schedule

__The Forward Pass - Determining the Critical Path__We start the process with the forward pass beginning with the first task, Activity A in the diagram above. We start with 0 since it is the first day. We determine EF by adding the DU to ES. In this case, EF for Activity A is 10 because 0 (ES) plus 10 (DU) equals 10 (EF).

We can either copy the value of EF of Activity A to the ES of Activity B or we can add 1 to the EF since Activity B will presumably start the next day. If we add one to EF going forward, we must remember to subtract the 1 as we do the back pass. It is easier and just as accurate to simply copy the value as adding and subtracting 1. For the diagram above, we simply copied the value from the EF of the predecessor task to the ES of the successor task.

**Caution**: You will note on the bottom branch of the diagram a designation FS 8. This represents a Finish-to-Start relationship between the two tasks with a lag of 8. We must add the lag value of 8 to the EF to generate an accurate ES for the successor task.

**Note**: Activity H has two predecessors: Activity E & G. Both may determine its ES. During the forward pass and following the top path first, Activity E’s EF is 50, which following this method, would be copied to the ES of Activity H initially. The value is replaced by Activity G’s EF when computing through the bottom path because it is greater, thus extending the project’s overall end date. During the forward path, greater values replace lower values when an activity has more than one predecessor. So we see Activity H’s ES and EF are 61 and 66 respectively. Thus, the project’s shortest duration is 66 days. The bottom path determined the project’s length and is identified as the critical path (and was highlighted in red for illustrative purposes).

__The Back Pass – Determining the Float of Each Task__Once we have finished the forward pass, we can begin the back pass. The back pass generates the numbers we use to determine the float values for each task – the amount of time a task can be delayed without delaying a successor task or the project end date.

To conduct the back pass, we start by copying the EF of the last task, in this case, Activity H, into the LF (late finish) of the last task. Thus, by definition, the EF and LF of the last task of the project are equal. This only makes sense because, if the last task were to slip, the project end date would also slip. Therefore, the early finish and the late finish of the last activity must be equal.

Next, we subtract the DU of the last task from the LF to derive the LS of the last task. Again, the ES and LS of the last task should be the same, by definition. We continue the back pass by copying the LS of the task into the LF of any predecessor task. Of course, if any lag time is designated, we must subtract it from the value first as noted in the caution above. We continue this process for each predecessor until we reach the first task in the project.

In the event a task has two successors, as Activity B does in the above diagram, the lowest value is copied into its LF position. If we have done all the subtraction operations correctly, when we reach the LS of the first task, it should be zero for at least one of the paths in the diagram. If you do this exercise on the network diagram above following the top path first, you’ll note the value of LS for the first activity will be 11. Once you complete the back pass of the bottom path, LS of Activity A will be 0.

__Computing Slack and Float For the Diagram__By definition, activities on the critical path, known as critical activities, should have no float or float should equal 0. Since we’ve determined the bottom path above is the critical path, we can simply assign 0 to both the Total Float (TF) and Free Float (FF) of each activity along the path. We will prove this mathematically correct later.

To determine the Total Float for the non-critical activities, those activities appearing on the non-critical paths, we subtract the ES from the LS of the task. For example, Activity C’s ES is 25 and LS is 36. Subtracting 25 from 36, we calculate the Total Float for Activity C to be 11. Assuming this represents 11 days, the answer tells us we can let Activity C slip by 11 days without impacting the project end date. If Activity C were to slip by 12 days instead, the project end date would also slip.

Calculating Total Float for each activity along the top path of this diagram, we soon realize Total Float for each task is the same at 11 days. Let’s understand what this means.

At the start of the project, Activities C, D, and E can slip a maximum of 11 days total without impacting the project end date. If Activity C were to slip 3 days or take 3 days longer than originally planned, then Total Float would decrease to only 8 days remaining for Activities D and E. Furthermore, if Activity D would slip an additional 5 days, Total Float would adjust to 3 days meaning Activity E only has 3 days of leeway without impacting the project end date. So you can see, Total Float changes as the project progresses and activities slip or take longer to complete than originally planned.

Proving mathematically that Total Float on the critical path is 0, we simply subtract the ES of a critical task from its LS and we calculate 0 because ES equals LS for critical tasks.

The formula for calculating Total Float:

**Total Float = LS - ES**

__Calculating Free Float__Free Float is the amount of time an activity can slip without impacting the ES of a successor task. To calculate Free Float, we subtract the EF of the predecessor task from the ES of the successor task minus any specified lag time. The formula looks like this:

**Free Float = ESS – EFP – Lag**

Once again, you can prove Free Float is 0 for critical activities by using the formula stated above.

__Of Course You Wouldn’t Calculate The Critical Path By Hand In The Real World…__The diagram above only depicts 8 activities. Real project plans typically have 400 to 800 tasks. Determining the critical path by hand would be very time consuming. Fortunately, software programs such as Microsoft Project contain the capability to determine the critical path for us. Microsoft Project highlights the Gantt bars in red when viewing the Tracking Gantt view. Non-critical tasks are displayed with blue bars, by default.

Understanding how the critical path is determined is important for project managers so they can leverage the slack or float time accordingly to help keep critical tasks on schedule. Leveraging the float time is described in more detail in

*What is Slack? What is Float? Is There A Difference?*.

The critical path works in conjunction with the knowledge of the triple constraint discussed in the article Triple Constraint and Beyond.

__Conclusion__The critical path is an important tool in the project manager’s toolkit. Understanding its importance and relationship to the project schedule help project managers keep projects on-time. When used in conjunction with the triple constraint (or sextuple constraint as described in the Triple Constraint and Beyond article), project managers can deliver more projects successfully.

PMBOK

^{®}Guide is a registered trademark of the Project Management Institute. All materials are copyright © American Eagle Group. All rights reserved worldwide. Linking to posts is permitted. Copying posts is not.