Sometimes the process of updating your schedule creates virtual float. What exactly is virtual float? And is it good for your schedule?
Float in scheduling is good. It’s what all proficient managers strive for. But schedule delay updates on the critical path may generate float on other paths, which is not good float. This delay generated float is known by the term virtual float, but I prefer the identifier pseudo float.
Virtual Float
This article explains what pseudo float is, why it is not good, and how to handle it.
I prefer pseudo float terminology, because it is a misleading float. It leads certain project team members to believe they now have more time to complete their task, when the reality is they do not.
In Figure 1 we have a Primavera P6 Professional schedule that has two paths that are equally critical.
Figure 1
We have two critical paths for the purpose of demonstration. Note the total float column that indicates all activities in this schedule have total float of zero. So no activity in this schedule can delay without postponing the project completion date. Let’s progress the schedule.
We progress the schedule one week in Figure 2.
Figure 2
Activity B only progresses two days instead of its planned 5 days. This caused subsequent activities in path BCDH to delay and ultimately led to the entire project missing the baseline project completion date. This is not good.
But watch what happened to sequence EFGH. Path EFGH (the unaffected or non-delayed sequence) merely progressed as planned but went from a total float of zero to a total float of 3-days. This implies that the resource team working on EFGH has three extra days to complete their work. The reality is that the schedule is already missing its completion date, and needs corrective action. Note the baseline finish date verses the current project completion date.
Path EFGH went from critical to sub-critical and from zero total float to three days total float. This extra three days total float on sequence EFGH is referred to as virtual float. It is virtual float because it is almost float, but not completely. Can sequence EFGH really delay three days without delaying the project? Yes, as currently planned it can. But the project as planned misses its completion date by three days and really needs reassessment. So the delay generated float is referred to as virtual float.
As I’ve already mentioned, I like to refer to this virtual float as pseudo float, again, because pseudo implies it is misleading or duplicitous. And it really is deceptive because team EFGH thinks they now can delay three days, when the true situation is they cannot. Again, the reality is that a schedule reappraisal is required.
What makes this pseudo float a particular negative is that all the drag that comes with regular float, including Parkinson’s Law and procrastination apply. Parkinson’s Law says people will take and use additional time, if they are given more time. And, if their schedule says their activity is not urgent, people will procrastinate until it becomes urgent. So pseudo or virtual float is to be avoided. And schedules can enter a vicious cycle where the more the schedule is late the more pseudo float is created. What can be done to stop the hemorrhaging?
One obvious solution is to constrain the finish date, so that delayed activities appear as negative float, and no pseudo float is generated in the schedule network. This provides for a much more insightful and truer delay analysis. The disadvantages of this approach are the introduction of an additional constraint and negative float. We definitely do not want negative float in our schedule. Refer to the following blog Disadvantages of Constraints for a primer on why constraints should be avoided.
So you should be cautious when inserting constraints. They should really only be included in situations when contractual strategies require them. So the constrained finish solution is good, but not best.
A preferred solution is to turn the pseudo float into a buffer, which will restrict the unaffected, i.e. non-delayed, sequences without the introduction of an additional constraint. Make sure the buffer is owned by management. This forces the non-affected sequences to stay on schedule, as per the project manager’s discretion. In Figure 3, we demonstrate the insertion of a buffer activity to eliminate the pseudo float in sequence EFGH, and all its drag effects on the schedule.
Figure 3
Note the Buffer-A activity and its three day duration.
Summary
Delayed schedules may generate misleading pseudo float. This pseudo float has all the negative drag issues that come with regular float and is also deceptive. It may lead team members to believe they have additional time when in fact the schedule truly is in trouble. The preferred remedy to pseudo float is to add buffer to non-delayed sequences. This keeps the unaffected sequences on the original schedule without the introduction of constraints and negative float.
For more details on virtual float, consider reading “Advanced Scheduling Handbook for Project Managers” by Jeremie Averous and Thierry Linares.