When working on a schedule, project managers will need to ensure that the project completes on time. Often, they will have a set contractual completion date that they must abide by. During the planning stage, this is often easily attainable, as they can schedule the project in a way to ensure all work completes on time. However, this deadline date may be harder to reach when the project actually begins. In reality, project schedules do not always perform exactly as planned. Delivery delays, bad weather conditions, and underperforming resources can all delay the project’s completion.
If your project falls behind or incurs negative float, you’ll need to put in some work to get it back on track. Typically, you can get back to an earlier finish date by using a schedule compression technique. This is a process of shortening the schedule to try and get work done faster.
What is Schedule Compression?
Schedule compression refers to any technique used to shorten a project’s critical path and duration. These techniques are useful if the project becomes delayed or gains negative float. If it seems like your project may not finish on time, compressing the schedule might help get you back on track. Schedule compression is also useful if the project’s finish date changes. If the project needs to finish earlier than initially planned, you’ll need to shorten the project to get it done faster.
The goal of schedule compression is to decrease the duration of the project. However, this can sometimes affect the quality, scope, and cost of the project as well. Schedule compression will come with trade-offs – for example, to decrease the project’s duration, you might need to increase its cost. It’s important to analyze the effects of schedule compression to ensure it’s right for your project.
There are two main schedule compression techniques: Fast Tracking and Crashing.
In this article, we will cover both techniques using examples from Primavera P6 Professional. However, you can perform these techniques in most project management programs, such as MS Project and OPC.
What is Fast Tracking?
Fast tracking is a compression technique that involves adjusting activity relationships. In baseline schedules, most activities will take place sequentially. When the predecessor activity finishes, the successor activity can start. With fast tracking, you would adjust these relationships to allow the activities to work simultaneously. Instead of having to wait for the predecessor to finish for the successor to start, both activities will perform at the same time. This, typically, will shorten the overall duration of the project.
You can only perform fast tracking on activities that have soft or partial dependencies. In other words, you should only do this to activities that do not have to be performed in a certain order.
Schedule Compression Example #1 – Fast Tracking with Soft Dependencies
Let’s take a look at how to fast track activities with soft dependencies. Soft dependencies are activities that you’ve tied together, but don’t necessarily have to be sequential. Below, I have a simple project with 8 activities tied together sequentially. Activities A, C, E, and H are under the critical path – meaning that these activities have no float and no room for delay. I also have activities B, D, F, and G, which are all non-critical – meaning that they have float and and can potentially be delayed.
Activity C and activity E currently have a Finish to Start relationship. This means 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 we can potentially work on them simultaneously.
To fast track activities, you’ll need to change the relationship types between them. In Primavera P6, you can do this using the Relationships tab in the Activity Details section. Within the Relationship Type cell, I’ll select Start to Start. This will allow both activities to now start on the same date.
After scheduling the project, you’ll see the effect of fast tracking. In this case, the project’s duration went down from 42 days to 38 days. By adjusting the relationship type between the activities, I was able to shorten the schedule’s duration.
The benefit to fast tracking is that you can decrease the project’s duration without sacrificing quality or scope. It’s important to note you can not fast track all activities. Before changing relationship types, you’ll want to make sure that it’s even possible to perform the activities in parallel. If one activity is reliant on the completion of another, you shouldn’t fast track them. You’ll also want to consider resources. If you need the same resources crews for both activities, you probably can’t do them at the same time. You’ll need to ensure that you’re not over allocating or putting too much pressure on resources by fast tracking the project.
Schedule Compression Example #2 – Fast Tracking with Partial Dependencies
Let’s take a look at another fast tracking example – this time with partial dependencies. Partial dependencies are activities that are reliant on each other only partially. The successor can begin after a part of the predecessor has finished.
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. I’ve tied these activities together with a Finish to Start relationship. These activities have a hard Finish to Start relationship, as we cannot install the wall frames until the foundation is complete. This is an example of a hard dependency – there is no way that we could work on these activities in parallel.
However, let’s look at the next set of activities here. For an underground pipe installation, we have a predecessor activity of Dig Trench, with a successor activity of Lay Pipe. The trench must be dug before we can begin installing the pipe. However, the Dig Trench activity does not have to be completely done before the pipe activity can begin. We can fast track these activities by changing this sequential dependency into a partial dependency.
To start, I’ll change the relationship between these activities to Start to Start. Along with this, I’ll give the Lay Pipe activity 3 days of positive lag. This will allow Dig Trench to start with Lay Pipe following 3 days after. The pipe installation will delay until there is just enough room in the trench to proceed.
This will shorten the project by a couple days, as we no longer have to wait for Dig Trench to finish before Lay Pipe begins. After scheduling the project, we can see that this has decreased the project’s duration from 20 days to 18 days.
Again, fast tracking shortened the schedule without impacting the project’s quality of scope. However, just like with the last example, this process doesn’t work for all activities. It’s important to analyze the dependencies between activities before fast tracking.
What is Crashing?
Crashing is a compression technique that involves adding additional resources to the project. You can perform crashing by either increasing the work for current resources, or by hiring additional ones. Crashing is most useful when performed after fast tracking the project.
The downside to crashing is that it will typically increase the project’s cost. Although it can cut down on project duration, your resource units will increase. You should only perform crashing after analyzing activities to find the lowest crash cost per unit. Essentially, you’ll want to find activities that will save the most time and incur the least cost if you add resources to them.
You should be cautious when using crashing, as the duration decrease may not result in comparable cost savings to offset the additional resources. It’s also important to consider that, sometimes, adding resources requires extra time. For example, you might need to increase the duration of tasks with new resources to account for training time. Sometimes, adding new resources can offset any time reduction you would have been making by adding them in the first place.
Schedule Compression Example #3 – Crashing
Let’s take a look at how to perform crashing in Primavera P6. Here, I have a simple resource loaded project. 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. However, by default, when you add additional resources to an activity, the activity’s values won’t change. To allow the program to adjust the activity’s duration based on resources, you’ll need to adjust a few settings.
First, you’ll need to access the User Preferences window within the Edit menu. Under the Calculations tab, select the Resource Assignment option to Recalculate the Units, Duration and Units/Time for additional resources to an activity. This will recalculate activity values as more resources are available to work on it. You’ll also need to change the activity’s Duration Type to Fixed Units/Time. You can do this using the General tab within the Activity Details section, or by adding the column to the table. This setting will ensure that the activity duration can decrease as you assign additional resources.
Now, I’ll add an additional resource to each of these activities. After rescheduling the project, the overall duration has gone down from 42 days to 30 days.
Fast Tracking vs. Crashing
Fast tracking and crashing each have their own advantages and disadvantages.Â
With fast tracking, you can shorten the project’s duration without decreasing the project’s quality or scope. However, it’s important to monitor the project and its activities to ensure that fast tracking is possible. You can only perform fast tracking on activities with soft or partial dependencies. In other words, the activities must be able to be performed simultaneously. If one activity relies on another’s completion, or uses the same resources, you should not use fast tracking.
Crashing will shorten the project’s duration by adding additional resource units. However, this often leads to an increased project cost. Additionally, if you need to train new resources, you might have to further increase the project’s duration. You’ll also need to consider whether you can even add additional resources to an activity. For example, if you have an activity performed in a cramped location, it might not be beneficial to add more resources.
With both schedule compression techniques, it is important to use caution and run risk assessments if needed. You should consider all project variables – cost, time, and scope – before committing to compressing the project.
Summary
Schedule compression is a process to shorten a project’s critical path and duration. Typically, you should focus on compressing critical activities, as these will determine the project’s duration. Schedule compression can be useful if issues arise – such as negative float or delays. The ultimate goal of compression is to decrease the project’s duration without decreasing the project’s quality.
The two main schedule compression methods are fast tracking and crashing. Fast tracking involves adjusting activity relationships to allow work to perform in parallel. Crashing, on the other hand, involves adding additional resources to the project. You should only perform fast tracking on activities with soft or partial dependencies – so it can’t be used for all activities. You can typically perform crashing on all resource loaded projects, but it may increase project costs. Before crashing, you should analyze activities to find the lowest crash cost per unit. It may be useful to use both schedule compression methods to get the shortest duration possible.
You can use both fast tracking and crashing to compress the project schedule. However, compression will come with trade-offs. You will want to analyze both the positive and negative effects before committing to shortening the schedule.
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 the instructor for our Primavera P6 Professional training courses. To see her next open enrollment course, please visit our calendar. To schedule an onsite or custom course, please contact us!










when you crashed the activity, you also saved money. Instead of a budgeted cost of 5544$, it decreased to half for the field engineer, added to it 1620$ for the assistant field engineer.
So crashing can save money also?
Hi Nizar,
Crashing could potentially save money – but it is definitely not guaranteed. The benefit to crashing is that the activities will take less time – meaning that our labor units/costs will be decreased. However, we are also assigning more resources to the project, so any cost savings from the duration would most likely need to be used for those resources. Also, you should consider external values, such as training time or any administrative work that needs to be done when bringing on additional team members. Often, these factors lead to a higher cost for the project when crashing.