In project management, float is a term that refers to the number of days that an activity can be delayed before affecting the next activity in the schedule or the project as a whole. Activities with float are known as non-critical activities, as they have some room for delay, if necessary. Activities without float are known as critical, and these activities must be finished on time to complete the project by the finish date.
Occasionally, activities can incur negative float. Negative float will cause a delay to the next activity or the overall completion of the project. For example, an activity with -2 days of float will need to be completed 2 days earlier than its finish date for the activity to finish on time. If an activity has negative float, you will want to resolve it to ensure your project is able to be completed on time.
In this article, we will cover how negative float is calculated, what causes it, and what can be done to resolve it. We will be looking at examples using Primavera P6 Professional – but it should be noted that these negative float causes and solutions are applicable for most projects, regardless of the project management software that you use.
How Do You Calculate Negative Float?
When using the Critical Path Method of scheduling, total float can be calculated using the following formula: Late Date – Early Date = Total Float. You can either use Late Finish date – Early Finish date or Late Start date – Early Start date.
If your activity has negative float, that means that the early dates of your activities are later than the late dates. Negative float usually occurs when the pre-defined logic of the schedule is overruled, such as if mandatory constraints are used or if the project finish date is adjusted.
There are many scenarios that can cause an activity to incur negative float. In the following examples, we will cover common ways that negative float is caused along with solutions that can be used to resolve it.
Negative Float Causes and Solutions
Negative Float from a Constraint on the Project’s Finish Date
One common way that negative float can occur is if you place a constraint on the project’s finish date, otherwise known as the Must Finish By date.
If you need to change the Must Finish By date after the project has been scheduled, and this date is earlier than the finish date that P6 calculated using the Critical Path Method, your schedule will incur negative float.
In the following example, I have a project that currently has a Finish date of September 29th. Currently, the project and its activities have no negative float.
Now, let’s say that I received word from our contract that the project requirements have changed and we now need to finish our project on August 27th. I’ll make this adjustment by changing the Must Finish By date in the Dates tab of the details section on the Projects page.
After rescheduling, I can now see from the Total Float column that there are several activities with negative float. Additionally, the project as a whole now has -24 days of float. If this isn’t resolved, the project will not be able to be completed on time.
With negative float caused by a Must Finish By date constraint, one solution to remove it would be to compress the project schedule. A few common methods that can be used to shorten the project duration while maintaining the project scope is to use either fast tracking or crashing.
Using fast tracking, activities on the critical longest path that would have been performed sequentially using the original schedule, are assessed for the possibility of working in parallel.
In this example, I’ve found a few activities that are currently tied together in Finish to Start relationships that can be performed in parallel. I’ll fast track these activities by adjusting their relationship types to Start to Start. This will allow both activities to start at the same time.
After fast tracking and rescheduling the project, the project’s total negative float has dropped down to 19 days from its original 24.
Because the project still has some negative float, I could continue to analyze the activities to find others that could be fast tracked. I could also try using the crashing method.
With crashing, resources are added to the activities on the critical path and the duration of the activities are reduced as a result.
To crash the critical activities in this project, I’ll add an additional resource to each of them. In order to do this in Primavera P6, I will first need to adjust my Resource Assignment calculation settings to Recalculate the Units, Duration and Units/Time for additional resources to an activity. This can be done in the User Preferences window.
I also need to adjust the activities’ Duration Type to Fixed Units/Time. This can be done in the General tab of the details section.
These settings are required to ensure that the activity duration decreases as resources are added.
Next, I’ll simply add a second resource to several of my activities to reduce their durations.
After scheduling, I can see that my negative float has been reduced to 12 days from its original 24. Going forward, I would continue to analyze the schedule and use both fast tracking and crashing to try and offset the remaining negative float in the schedule.
Negative Float From a Constraint on an Activity
Similarly, negative float can also be incurred when activities are using mandatory constraints. These constraints will cause an activity to start and/or finish on a specific date, overriding the project’s logic.
In the following example, I have a requirement that asks me to finish the Install SWPPP activity no later than January 19th. To show this in Primavera P6, I’ll add a primary constraint of Finish On or Before January 19th to that activity using the Status tab of the details section.
After rescheduling the project, the activity now has a 4 days of negative float. Adding this new date constraint has overruled the pre-defined relationship of this activity.
When activity’s gain negative float from an imposed constraint, you can attempt to eliminate the float by evaluating and modifying the activities that the activity is tied to. If any of the connected activities can be rearranged, the associated negative float may be able to be resolved.
In this example, the Install SWPPP activity is currently the successor to the activity Construction Area Signs.
One solution would be to fast track these activities – however, in this example the same resource team is being used for both, so they can not be done in parallel. However, it is not imperative to have Install SWPPP start after Construction Area Signs.
To resolve this negative float, I can simply switch the sequence of these two activities to have Install SWPPP act as the predecessor and Construction Area Signs as the successor.
With Install SWPPP starting first, it can now easily finish by its constrained finish date. After rescheduling, the negative float was removed from both Install SWPPP and Construction Area Signs.
Negative Float on Summary Activities
In rare circumstances, if you make use of Level of Effort or WBS Summary activity types in Primavera P6, you may find that these activities have inexplicably gained negative float. This negative float can appear on summary activities in a schedule without constraints, even when the activity’s predecessors and successors have positive float.
This issue will occur for Level of Effort and WBS Summary activities due to how P6 is calculating Total Float.
To remove negative float from summary activities, you’ll need to adjust the P6 Schedule Options. This can be opened by selecting Tools > Schedule > Schedule Options.
In the Schedule Options window, you can adjust how Total Float is calculated. There are three options available:
- Start Float, which is the difference between the early and late start dates (Start Float = Late Start – Early Start)
- Finish Float, which is the difference between the early and late finish dates (Finish Float = Late Finish – Early Finish)
- Smallest of Start Float and Finish Float, which is the most critical float value
By default, Primavera P6 will calculate float using Finish Float = Late Finish – Early Finish. However, if this option is ever adjusted, you may start to notice that Level of Effort and WBS Summary activity types will have erroneous amounts of negative float.
If you are using Level of Effort or WBS Summary activities in your schedule, you should make sure that the P6 is calculating Total Float as Finish Float = Late Finish – Early Finish. This will resolve any negative float that may have been added to these activities.
Negative Float from External Relationships
Another situation that may lead to negative float is when you have an activity linked to another activity within a separate project.
In the following example, my project has a milestone activity, Notice to Proceed, that is linked to an activity within another project.
The predecessor activity from the separate project has a constraint of Finish On or Before January 7th. Because Notice to Proceed is the successor to this constrained activity, it has incurred negative 7 days of float.
Because the constrained activity is in another project, it may not be immediately apparent why the negative float has appeared – or what to do to mitigate it.
To fix this issue, you will need to remove or rearrange the relationship from the milestone activity to the constrained activity. Because this is an ‘external relationship’ between two activities in separate projects, this can quickly be solved by adjusting the schedule options.
Once again, you can open the Schedule Options window in P6 by selecting Tools > Schedule > Options.
At the top of the window, there is an option to Ignore relationships to and from other projects. This option only works when the other project is not open. Ticking this box will remove the relationship between the two activities.
After rescheduling the project, the external relationship has been removed and Notice to Proceed no longer has negative float.
In most situations, however, there would most likely be a reason for that external relationship to have existed in the first place, so this is a temporary solution at best. You will probably need to come back and address why that relationship was there in the first place, instead of simply disregarding it.
Negative Float from Custom Work Calendars
Lastly, another situation that can lead to negative float is if you’re using a project that uses specific custom work calendars.
In the following example, I have a milestone activity called Board Meeting. This activity represents a decision that has to be made during a board meeting, and these board meetings occur every 4th Monday of the month.
In order to model this in the schedule, I’ve created a calendar that only has workdays on every 4th Monday of the month. This calendar has been applied to the Board Meeting activity.
Because Board Meeting is a Finish Milestone, the late dates of its predecessor activities, Temp Utilities and Furnish Trailers, are earlier than their early dates, causing negative float.
This situation has an easy solution. Simply, I can change Board Meeting’s activity type to Start Milestone.
After rescheduling the project, the late dates of the predecessor activities are now later than the early dates. As one would expect, the negative float disappears!
Negative float is a term that refers to the number of days that an activity will delay its successor activity or the overall project. If an activity in your project has negative float, you will most likely want to resolve it to ensure that your project finishes on time.
As seen from the examples above, negative float can occur for a variety of different reasons, such as constraints and external relationships.
Regardless of how the negative float has been incurred, you should generally try and remove it if possible. This can generally be done by compressing the schedule using fast tracking or crashing, rearranging activity relationships, adjusting scheduling options, or changing the activity type.
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!