Project managers are typically under great pressure to complete their project in as little time as possible. However, in reality, project schedules do not always perform exactly as planned. Delivery delays, bad weather conditions, and underperforming resources are just a few of the many threats that can cause a project to fall past its intended finish date.
When projects are falling behind or activities incur negative float, schedule compression techniques can be used to try and get the project back on track.
What is Schedule Compression?
Schedule compression is a term that refers to any technique used to shorten a project’s critical path and overall duration. These techniques are important to utilize if unexpected issues arise in the project or if any activities in the schedule have negative float. If it seems like your project will not be able to be completed on time given its current relationships and dates, schedule compression should be considered to help mitigate this delay.
Additionally, schedule compression can be useful when the project needs to be finished prior to when originally planned. If the project’s finish date needs to be earlier than originally set, schedule compression can help complete the project quicker.
The goal of schedule compression is to decrease the duration of the project without negatively affecting the quality and scope. However, shortening the schedule will come with trade-offs and you will want to analyze both the positive and negative effects before committing to compressing the project.
There are two main compression techniques: Fast Tracking and Crashing.
In this article, we will cover both techniques using examples from Primavera P6 Professional – but it should be noted that these techniques can be performed on any project, regardless of the project management software that you use.
What is Fast Tracking?
Fast tracking is a compression technique that involves scheduling activities that would have previously been performed sequentially to instead perform in parallel. Instead of having to wait for the predecessor activity to finish for the successor activity to start, both activities would be worked on simultaneously. Fast tracking can only be performed on activities that have soft dependencies or partial dependencies – or in other words, activities that do not necessarily have to be done in a sequential order.
Example #1 – Fast Tracking with Soft Dependecies
Let’s take a look at an example of fast tracking activities with soft dependencies. Below, I have a simple project with 8 activities that are currently being performed sequentially. Activities A, C, E, and H are under the critical path – meaning that these activities have no float and no room to delay. I also have activities B, D, F, and G, which are all non-critical – meaning that these activities all have some float.
Activity C and activity E currently have a Finish to Start relationship – meaning that activity E will only start when activity C finishes. However, activity C is an activity to install windows and activity E is an activity to install doors. Each of these activities will be using separate resource crews, so even though they have a Finish to Start relationship currently, they can be performed in parallel.
I’ll fast track this schedule in Primavera P6 by changing the relationship type between the two activities to Start to Start – meaning that they will both start simultaneously.
By scheduling these activities to work in parallel, rather than sequentially, the project period has been compressed down to 38 days from its original 42 days.
Using fast tracking, the quality and scope of the project were not impacted, but I was still able to reduce the project’s duration significantly. It’s important to note that this method is not to be used on all activities or in all projects – before changing relationship types, you need to make sure that the activities can be done in parallel. If the same resources are needed for both activities, they wouldn’t be able to be done at the same time. You’ll need to ensure that by fast tracking, you’re not over allocating or putting too much pressure on resources or project team members.
Example #2 – Fast Tracking with Partial Dependencies
Let’s take a look at another fast tracking example. This time, I’ll be using partial dependendencies. Partial dependencies are activities that partially need to be performed sequentially – but not completely.
Once again, I have a simple project with several activities tied together. First, I have an activity to Lay Foundation followed by an activity to Install Wall Frames, and they are tied together in a Finish to Start relationship. These activities have a hard Finish to Start relationship, as the wall frames can not be installed until the foundation is laid. This is an example of a hard dependency – there is no way we could work on these activities in parallel, as we need to follow the sequence.
However, let’s look at the next set of activities here. I have an activity, Dig Trench, with a successor activity, Lay Pipe, for an underground pipe installation. I know that the trench must be dug before the pipe can be installed – but the Dig Trench activity does not necessarily have to be completely done before the pipe laying begins. For these activities, we will look into changing the sequential dependencies into partial dependencies for fast tracking.
I’ll fast track these activities in Primavera P6 by changing their relationship type to Start to Start and giving the Lay Pipe activity 3 days of positive lag. Doing this will allow Dig Trench to start as the predecessor. With the 3 days of lag, Lay Pipe will begin 3 days after the trench digging has been started – this delays the laying of the pipe until there is just enough room in the trench to proceed. This will save us a couple days on this project, as we no longer will have to wait for the Dig Trench activity to be totally completed before the Lay Pipe activity begins.
Fast tracking these activities decreased the project period from 20 days to 18 days.
Fast tracking by making sequential dependencies into partial dependencies will not impact the quality or scope of the project, but it will reduce the project’s overall duration. Again, it’s important to analyze the dependencies between activities to ensure that fast tracking can be performed on them.
What is Crashing?
Crashing is a compression technique that involves adding additional resources to an activity to cut down on time without sacrificing scope. For best compression results, crashing is most useful when performed after fast tracking the project.
Crashing usually increases project costs, as additional resources are being added to try and shorten activity durations. Crashing should be done after analyzing and categorizing activities to find the lowest crash cost per unit – essentially, we want to find the activities that will save the most time and incur the least cost when additional resources are added.
Crashing should be used with caution, as the time savings of a shortened activity usually does not result in comparable cost savings to offset the added cost of additional resources. It is also important to be aware of the additional duration increases that may be necessary when bringing on additional resources, such as needing extra time for training. With crashing, sometimes adding additional resources can offset any time reduction you would have been making by adding them in the first place.
Example #1 – Crashing
Let’s take a look at an example of crashing activities in Primavera P6. Here, I have another simple project, and all of the activities in it are resource loaded with engineers. Once again, the critical path consists of activities A,C,E, and H and the project has a duration of 42 days.
To crash these critical activities, I’ll add an additional resource to each of them. In order to do this in Primavera P6, I will need to adjust my Resource Assignment calculation settings to Recalculate the Units, Duration and Units/Time for additional resources to an activity. I also need to adjust the activities’ Duration Type to Fixed Units/Time. These settings are required to ensure that the activity duration decreases as resources are added.
After adding an additional resource to each of these activities and rescheduling the project, the project period has dropped down to 30 days from its original 42 days.
Fast Tracking vs. Crashing
Fast tracking and crashing, while both allowing you to compress the project schedule, each have their advantages and disadvantages.
With fast tracking, you can shorten the project’s duration without decreasing the project’s quality and scope. However, it’s important to closely monitor the project and its activities to ensure that fast tracking is possible. Fast tracking can only be performed on activities that can be worked on in parallel. In the examples above, we saw that fast tracking can be performed on activities with soft or partial dependencies. However, if you have an activity that relies on its predecessor’s completion to start, or utilizes the same resources, it has a hard dependency, and fast tracking can not be performed on it.
Crashing allows you to shorten the project’s duration by adding additional resources, but the cost for the project will most likely increase. Additionally, crashing may not even bring time savings if the resources are new to the project, as additional training time will need to be accounted for. With crashing, it is also important to think about where the activity’s work is being performed – if you have an activity that’s being done in a cramped location, you may not physically be able to add additional resources to it.
With both compression methods, it is important to use caution and run risk assessments if needed to ensure that it is the right move for your project.
In short, schedule compression techniques can be utilized to shorten a project’s critical path. These techniques should be focused on critical activities, as these are the activities that determine the overall project duration. Schedule compression can be very useful if issues arise, negative float incurs, or simply if the project needs to be finished earlier than expected. The ultimate goal of this compression is to decrease the project duration without decreasing the project’s quality and scope.
The two main schedule compression methods are fast tracking and crashing. Fast tracking involves performing activities in parallel, whereas crashing involves adding additional resources to the project. Fast tracking can only be performed on activities with soft and partial dependencies, and activities will need to first be analyzed to ensure they can work in parallel. Crashing, on the other hand, will generally increase project costs, and activities will need to be analyzed to find the lowest crash cost per unit. Oftentimes, it may be useful to utilize both schedule compression methods to get the shortest duration possible.
Both fast tracking and crashing can be used to compress the schedule and shorten the critical path. However, shortening the critical path will come with trade-offs and you will want to analyze both the positive and negative effects before committing to any project compression technique.
If you have any comments, questions or suggestions, please use the comment section on the bottom of this page, and don’t forget to subscribe to our blog to get more Primavera P6 tips & tricks directly in your inbox!
Lauren Hecker is a Primavera P6 Professional Instructor and teaches onsite and virtual Primavera P6 Fundamentals and Advanced courses. To see her next open enrollment course, please visit our calendar. To schedule an onsite or custom course, please contact us!