Posts Tagged “Level of Effort”

Weird Negative Float Situations – Part 1

Most of us understand that negative float is generated by a constraint that is not being “satisfied” and indeed, we cannot have negative float without a constraint. Or so it would seem. But during a recent training session at the Kennedy Space Center my client showed me several Level of Effort activities that had negative float. In fact, all of the Level of Efforts had negative float yet no other activity showed any negative float whatsoever. Imagine that; the activities linked to the Level of Efforts have positive float but the Level of Efforts have negative float!

In the first figure I am showing a typical setup with a Level of Effort activity linked to one predecessor and one successor. The Activity Type is shown in the Activity Table to make it easier to see which activity is the Level of Effort:

LOE Before Progress

 

Okay, so far nothing is amiss. The Level of Effort is linked to activities on the critical path and therefore shares the same zero (0) float. But watch what happens when the predecessor to the Level of Effort is updated with progress:

LOE After Progress

The Level of Effort activity – and only the Level of Effort – has negative float! Keep in mind that no constraints are being used in this schedule. And while all of the Task Dependent activities are on the critical path I can assure you this has nothing to do with the negative float on the Level of Effort activity.

So how is this possible?

The answer has to do with the ability in Primavera P6 to calculate float three (3) different ways. These settings appear under Schedule Options:

Float Calculation Settings

I typically calculate float as the difference between the Late Finish and the Early Finish dates. But my client had selected Late Start – Early Start. (The third option is to take the smallest value of the two calculations). Choosing any setting other than Late Finish – Early Finish will generate negative float once the predecessor to the Level of Effort has started. Moreover, astute viewers will notice that the negative float matches the number of days that have elapsed since the predecessor started. The predecessor started five work days before the Data Date and the float is -5 work days.

Why this is happening is a little hard to explain, but Primavera P6 calculates float for both the start and finish of every task. Normally this results in the same value. Level of Effort activities, however, are another matter. Primavera P6 calculates the float on this type of activity as the difference between the Actual Start Date and the Data Date and perceives the activity as being “late” because the Data Date is later than the Actual Start Date.

Thankfully this weird float issue can be easily avoided by using Late Finish – Early Finish for the float calculations. And while this has always been my personal preference I have a whole new appreciation of this setting now.

 

 

Every Schedule Needs a “Hammock”

Granted, we do not call them Hammocks any longer because P6 introduced a new label: Level of Effort. This is of course an activity type. Why Oracle decided Level of Effort is a better description is rather baffling. During our training classes when we talk about Hammocks most people get the analogy of something that spans from one place to another, just like the hammocks you might see in a backyard. Simply put, a Level of Effort activity measures the distance between a predecessor and a successor. Why is that important?

We typically use a Level of Effort activity to measure the project duration. This is the only accurate means of measuring the project duration if more than one calendar is being used. We assign the Level of Effort activity a calendar that matches the calendar used to specify the project duration. So if the project is supposed to finish within 300 calendar days, we give the Level of Effort activity a 7-day calendar with no holidays.

Another excellent use of this type of Level of Effort activity is to represent overhead and profit on a cost-loaded schedule. Since the Level of Effort activity already mimics the project duration, it gives us a per diem distribution of overhead and profit for the life of the project. This is much easier than trying to add overhead and profit to each activity in the schedule.

In the example below, Activity ID 01 is a Level of Effort activity with two predecessors, and two successors. When there is more than one predecessor, the earliest Start date becomes the Start date of the Level of Effort activity and the latest Finish date becomes the Finish date of the Level of Effort activity. For this to work right, the predecessor relationships must be Start to Start and the successor relationships must be Finish to Finish.

LOE Example

Any activities can be linked with a Level of Effort activity, so this is not always about “effort”. We could link the Start date of the first piping task to the Finish date of the last piping task and this would give us the overall duration of piping work. But if we tie the Level of Effort activity to something other than the first and last piping tasks we are not describing the overall timeframe for piping correctly. A WBS Summary activity is another option (which we will discuss later) if the only goal is to show a summary bar. Keep in mind, the duration of a WBS Summary activity may be incorrect unless all the activities it summarizes share the same calendar.