Expert, flexible training in the use of the most powerful scheduling software program in the world: Primavera P6 by Oracle. Call today! (916) 779-4145
Primavera Scheduling

All posts in P6 EPPM

The Resource I Never Use

Categories: P6 EPPM, P6 Professional, P6 Tricks, Primavera Resources
Comments Off on The Resource I Never Use

Resources add "weight" to a schedule. That is to say, resources can tell us the effort - in costs and/or hours - required to perform a task. Once resources have been added to an activity we now realize that tasks with similar durations are not so similar when the effort is considered.

Back in the early 1980s I would sometimes be asked by owner representatives to explain how many people were required each day in order to stay on schedule. I was using a proprietary scheduling program running on a mainframe computer in those days. It was a nice little program based on the Activity-on-Arrow (AOA) method of scheduling. But it was not capable of doing much with resources other than assign a cost value to each task.

In a parallel scheduling universe, however, Primavera Systems was offering the ability to budget and track both costs and units. The firm I worked threw in the towel in the face of a better product and switched over fully to Primavera in 1987. That was a good decision but at the time there were other scheduling programs to consider. Proximity might have helped. Our company's headquarters were across the Delaware River from Primavera Systems.

It might surprise schedulers who nearly always resource-load their schedules that a large percentage of companies - at least in the United States - rarely do so. The reasoning is often that it takes too much time or exposes confidential information. I know a lot of contractors do not want anyone knowing how many labor hours were figured into their projects. 

Not knowing how many labor hours are required by the project once led to an awkward exchange with an opposing attorney during my testimony in a construction dispute:

Attorney: "Mr. Pepoon, how many people would have been required to perform this task that we are looking at right now?"

Me: "Enough people to perform the task within the planned duration."

Attorney: "But how many people would that be, exactly?"

Me: "The proper number to perform the task within the allotted time."

It sounded like a bad comedy skit, but of course I could not answer a perfectly relevant question because my client did not resource-load the schedule. And the reality is that when a subcontractor is responsible for the work the general contractor usually can't verify the duration either. He simply trusts that the subcontractor knows best.

The people performing the task would presumably know how long it takes. But no one else can verify this without knowing the required effort. Then why does this still happen? Well, general contractors pass on a lot of the risk (i.e. scope of work) to subcontractors and can always "sue the bastards" if they fail to meet the schedule. Of course, owners will then sue the general contractors for not controlling their subcontractors. Nobody will be happy.

Still, there is one resource I refuse to use - material. Anyone familiar with Primavera P6 understands that there are three types of resources: labor, nonlabor, and material. Nonlabor is mostly used for equipment, but I have another use for it as well. The trouble with a material resource is that Primavera P6 only tracks costs, not units. With labor and nonlabor resources the choices are to track units, costs, or both.

From my perspective, tracking material could be very useful. If I have moved 50 cubic yards of dirt and there is a total of 100 cubic yards, then certainly one-half of the work is complete. (I should also consider how long it took to complete one-half of the work, because productivity is important as well). This is production-based scheduling, but it is simply not possible with a material resource.

Thankfully, there is a workaround. Instead of using a material resource, why not use nonlabor instead? If it's not labor it can be pretty much anything, right? So nonlabor can be plumbing fixtures, dirt, gypsum board, conduit, or anything else we want to track. I have even used a nonlabor resource to track drawings being produced by the design team.

Both labor and nonlabor resources use "units" as the nominal description. Only material resources can have other labels, but we can easily create our own definitions.

For plumbing fixtures the unit can be "each", cubic yards for dirt, square feet for gypsum board, and linear feet for conduit. Each type of material will of course require its own unique nonlabor resource. I also indicate the real unit of measure in the description, such as "Dirt (Cubic Yards)" to emphasize the point.

I also do not show the unit label for these nonlabor resources because Primavera P6 would put "hours" on all of my nonlabor resources (Edit > User Preferences > Time Units). One other thing. When printing resource charts I do not lump nonlabor resources together because they are not the same materials at all, but this would be true for equipment as well.

Ultimately, we must decide what level of detail is required when adding resources. Minor amounts of material may not warrant much scrutiny. The desired output determines the level of input required. For example, do we need to track different sizes of piping or can they be lumped together? Too much detail is often as bad as not enough detail. 



Primavera SchedulingProper scheduling requires an understanding of driving relationships. These are the most important relationships in the schedule because they drive the start and finish dates of the activities that follow. So it stands to reason that all critical path relationships are driving. In Primavera P6, driving relationships appear on the Gantt Chart as solid lines: red for critical path and black for non-critical activities. When “crashing” the schedule we must focus on driving relationships in order to move up the start dates of critical path activities, thereby shortening the project duration.

Now, if every activity had only one predecessor we could ignore talking about the counterpart to driving relationships: the non-driving relationships. After all, if there is only one person in front of you performing a task, how could they not be driving your work? Well, there is one possible exception. Activity constraints can, in some situations, drive activity dates. For example, if the successor wants to start on August 3rd because the predecessor finishes the day before (i.e. the classic Finish-to-Start relationship) adding an activity constraint that pushes back the start date means that the constraint is driving, not the predecessor.

Finish-to-Start relationships make it easy to separate driving from non-driving relationships. If Activity C is waiting for both Activity A and Activity B to finish, whichever predecessor finishes last is the driving relationship. (I am assuming that both relationships have zero lag, but it is considered bad form to use any lag other than zero days with Finish-to-Start relationships). Where it gets more interesting is when the predecessor relationships are Start-to-Start and Finish-to-Finish. So here is my favorite example from our P6 102 class:

  • The predecessor has a duration of 20 days
  • The successor has a duration of 15 days
  • There are two predecessor relationships coming from the same activity
  • One of the predecessor relationships is Start-to-Start with a lag of 8 days
  • The other predecessor relationship is Finish-to-Finish with a lag of 5 days

Which predecessor relationship is driving?

Keep in mind there is only one predecessor activity, but there are two relationships. I will always add a Finish-to-Finish relationship to a Start-to-Start relationship. It is my insurance policy. I doubt that most Primavera users realize that if you only have a Start-to-Start relationship, the predecessor can finish on the last day of the project without causing a delay. For this reason I consider the Start-to-Start relationship by itself to be an open end – even though technically the predecessor does have a successor.

To be clear, “open end” refers to an an activity that is missing a predecessor or successor. The Schedule Log will display activities that are missing predecessors or successors under the “Warnings” section.

Non-driving relationships appear as dotted lines on the Gantt Chart. Pro tip: the Time-Scaled Logic Diagram (TSLD) in Visualizer (Tools > Visualizer) allows users to choose different colors and line styles for driving and non-driving relationships. There is also the option to show only driving relationships. TSLD also has the unusual feature of placing more than one bar on the same row if the bars do not overlap. This reduces the number of rows in the printout substantially.

Getting back to my earlier question, the Finish-to-Finish relationship is the driving relationship, and the Start-to-Start relationship is non-driving. Here is a visual representation:

 

Note that all durations are in calendar days to make the ordinal days and working days match.

Let’s take a look at the math. The successor is scheduled to start 8 days after its predecessor. The successor has a duration of 15 days. So the successor finishes on day 23 (8 + 15) when only this relationship is considered. But the successor is also supposed to finish 5 days after its predecessor, and the predecessor has a duration of 20 days. As a result, the successor now finishes on day 25 (5 + 20). The Finish-to-Finish relationship adds two more days to the sequence between these activities.

We should also realize that the successor cannot start 8 days after its predecessor because the Finish-to-Finish relationship is dragging the successor by its tail. P6 has a dilemma. The successor’s 15 day duration must be contiguous (other than on specified non-work days according to the calendar). In order to meet both the Start-to-Start and the Finish-to-Finish requirements, the successor would need to be two days longer. In which case both relationships would be driving.

The original Primavera scheduling program, P3, had an option to allow non-contiguous durations. P3 would “stretch” the successor so that both relationships could be fulfilled. But the displayed duration of the successor would not change. I suppose this did confuse some people because the length of the activity bar was occasionally quite exaggerated compared to the displayed duration. P6 dropped this feature, perhaps for good reasons. We must now recognize that not all of our specified conditions can always be met.

Driving and non-driving relationships can also be identified in the Activity Details at the bottom of the Activities window. Select the Predecessors, Successors or Relationships tabs. The columns shown in these tabs can be customized to show the Driving box, which is found in the General category of columns. I always display this box. The example I provided is rather simple because there is only one predecessor activity. Imagine if there are several predecessors starting on different dates and more than one relationship type!

Schedules can get very complex rather quickly because of the available relationship types. Ah, the old days when all relationships types were Finish-to-Start, things were rather simple. What we called the “I-J” or “Activity-on-Arrow” method of scheduling basically disappeared in the mid-1990s. But I am still a big fan of Finish-to-Start relationships because they are the most conservative relationships. I try to make about 80% of my relationships Finish-to-Start.

Keep in mind that as logic and durations are revised, what used to be driving may now be non-driving, or vice versa. Schedules are never static. Out-of-sequence work can also create new situations not previously anticipated. Similarly, new activities representing scope changes or unexpected events can alter the importance of relationships. But ultimately, if the start date of a task just seems wrong, driving relationships must be analyzed first. Don’t let the non-driving relationships become a distraction.


Omnibus (adjective)

Comprising several items.

The most common Primavera export file is “XER” which harks back to the company that developed this enterprise scheduling software in the first place: Eagle Ray. Primavera Systems bought Eagle Ray, and then Oracle bought Primavera Systems. The very familiar “XER” file format in fact stands for “eXport Eagle Ray”.

XER files can only export project data associated with the current project, or all resources or all roles. For someone who needs to transfer all resources or roles from one database to another the XER file can be very useful, but I find this to be a rather esoteric function for the vast majority of users.

But there is another Primavera export file (XML) that can do so much more:

  1. Export all project layouts associated with the current project
  2. Export all (or some) baselines associated with the current project
  3. Import into any other version of Primavera P6

This might also encourage you to create project layouts. By default, new layouts are user-specific and can therefore be applied to any schedule to which the user has access. Project layouts are only available to the associated project (or a copy of that project) which is desirable when the layout has specific features (such as a grouping or filter) that would not be applicable to other projects. The header or footer might likewise contain wording that is specific to one project.


Primavera P6 EPPM users are more accustomed to this method of importing files because the P6 Web interface only supports XML file imports and exports. However, P6 Professional Client (sometimes referred to as P6 Optional Client) can be used to import XER files into a P6 EPPM database. Confusing, yes, but P6 EPPM databases can be accessed via a Web or desktop interface.


The following screenshots show the process for exporting P6 XML files. Keep in mind, you are not required to export any baselines and can also choose which ones to export. Likewise, you do not have to export project layouts:

Primavera Scheduling

Primavera Scheduling

Primavera SchedulingPrimavera Scheduling

 

 

 

 

 

Here is the sequence for importing P6 files. Notice that we can choose which baselines should be imported:

Primavera Scheduling

Primavera Scheduling

Primavera Scheduling

Primavera Scheduling

 

 

 

 

 

 

Pretty simple!

Hopefully you will not think of me as a hypocrite if I admit to sending XER files on a regular basis. But as a consultant I do not need to keep sending baselines to clients if they have already received those files previously. For example, if I sent my client the third update last month it is somewhat redundant to send them the fourth update this month with the third update as a baseline. I also do not need to keep sending project layouts unless I have recently created new ones.

Nevertheless, for the recipient, the XML file has everything needed to view the current schedule and make comparisons to previous versions of the schedule. I find that for my construction claims work it is a great way to transmit my entire analysis of a delay to the client. The only downside might be that XML files are not nearly as compact as the text-based XER files. Roughly speaking, XML files tend to be about ten times larger, which in some cases might exceed the maximum file size for email attachments. Not surprisingly, it also takes longer to export and import XML files.


Why Make Open-Ended Activities Critical?

Categories: Constraints, Critical Path, P6 EPPM, P6 Professional, P6 Tricks, Schedule Options
Comments Off on Why Make Open-Ended Activities Critical?

Primavera P6 Professional is obviously a very powerful scheduling program so naturally some of its features exceed the needs of the typical project. I have consulted on projects that span as little as 35 hours to as many as 50 years. Different industries have unique requirements for their schedules as well. Primavera P6 is designed to handle a wide variety of projects. Today I would like to address my reasons for using a feature in Primavera P6 that is rarely used by the typical scheduler: Make Open-Ended Activities Critical. You will find this feature under Schedule Options (Tools > Schedule > Options).

The concept of making open-ended activities critical was introduced many years ago in Primavera P3. And for the longest time I dismissed it as a quirky feature surely not applicable to me. After all, why would I promote an activity to critical status solely because it is missing a successor? That seems akin to me declaring myself the winner of a contest that no one else entered.

Some of my colleagues back in the 1980s figured it was an en easy way to identify activities that should not be critical. Okay, that seems backwards, but the idea was that if some task showed up as critical that did not seem “right” the scheduler would investigate further. But Primavera P3 had a report similar to what we call the Schedule Log in Primavera P6 that was a more definitive (and easier) way of identifying open ends in the schedule. With this in mind, making activities that are missing a successor critical did not seem like the best approach to finding open ends.

I started my scheduling career working solely on construction projects so my viewpoints towards Primavera P3 were based on a single industry. Years later, when I began consulting on a wide-variety of projects I realized another purpose for Make Open-Ended Activities Critical. For example, let’s say I am a manufacturer trying to track progress on several production lines. I would like each production line to have its own critical path, or what Primavera P6 refers to as Longest Path. But this would entail making each production line a separate schedule.

It would be a lot easier to track progress, however, if I incorporated all of the production lines into one schedule. That way I would not have to keep opening up another schedule to track progress. And P3 only allowed four schedules to be opened simultaneously. (Some of you P3 users undoubtedly remember the master and sub-project concept from P3 which was another alternative to what I am describing). But how could each production line have its own critical path without creating separate projects?

Yep. Make Open-Ended Activities Critical. See, by not linking the production lines to each other they would all have an open end at the end of their sequence. So every production line now has critical activities. The float values are not based on the longest of all the production lines. Each production line has activities with zero Total Float. Problem solved!

The concept I just described works the same in Primavera P6 as in Primavera P3. You might be thinking that each production line could have a constraint on the final activity to create zero Total Float and then link the final activity in each production line to some final milestone. Yes, that will work too, smarty pants! It also means that additional open ends do not need to be introduced into the schedule.

Another reason for Make Open-Ended Activities Critical is relevant to projects in any industry. One of my clients currently expects his project to finish early. Owners often don’t allow the original plan to show an early completion date because it might become the basis of a claim (“I planned to finish early and you stopped me”). In this situation the owner allowed early completion. So my client inserted two finish milestones in his schedule: “Projected Finish” and “Final Completion”. The latter milestone matched the contractual finish date.

The “Projected Finish” milestone had no constraint since the date could obviously slip without any ramifications. The “Final Completion” milestone had a Finish On constraint (Mandatory Finish also works) so the date could not move at all. But as you might have guessed, this meant that only the “Final Completion” activity appeared as critical in the schedule. The earlier milestone and all of the activities linked to it (directly or indirectly) carried Total Float values based on the later milestone.

A critical path consisting of just one (the last) activity) would obviously be acceptable to no one. But the solution was quite clear to me. While my client had linked the “Projected Finish” milestone to the “Final Completion” milestone (to avoid unnecessary open ends) we need the “Projected Finish” milestone to have no successor. Then, by choosing Make Open-Ended Activities Critical in the Schedule Options the Longest Path of activities leading up to “Final Completion” all had zero Total Float. Bingo.

Below is how the schedule looked with “Projected Finish” linked to “Contractual Finish”. Not having open ends means there is no logical critical path. Also, the “Projected Finish” milestone is a non-driving predecessor to the “Contractual Finish” milestone, as evidenced by the dotted relationship line:

Primavera Scheduling

By deleting the relationship between “Projected Completion” and “Final Completion” and choosing to Make Open-Ended Activities Critical under Schedule Options, the activities leading up to “Projected Completion” are now critical:

Make Open-Ended Activities Critical is not always a necessary feature, but as you can see, it certainly does have a purpose.

 


The Pit Stop Relationship

Categories: Activity Relationships, P6 EPPM, P6 Professional, P6 Tricks
Comments Off on The Pit Stop Relationship

Primavera SchedulingDuring our advanced Primavera P6 classes I like to tease my students with the “weirdo” activity relationship and challenge them to find a practical situation for applying it. This relationship type is not available in scheduling programs like Microsoft Project so most of my students have never seen it before.

I am talking about the Start to Finish relationship, whereby the predecessor must start before the successor can finish. Unless a very large lag is used, the successor will start before the predecessors starts. Think about that for a moment. The successor starts first! The following illustration will make that statement rather obvious:

The predecessor (yellow bar) starts on the same day that its successor (green bar) finishes. If we add a lag duration the yellow bar will start before its successor finishes, so they will overlap. For example, a one-day lag would cause the predecessor to start the day before the successor finishes.

Well, you can probably see why we do not unleash this relationship type on beginners!

Other than showing off, one might wonder why the Start to Finish relationship is used at all. My favorite example is the pit crew that services a race car. The pit crew is the predecessor to the car arriving in the pits (the successor).

No, that is not a typo. I am saying the pit crew is the predecessor. Put another way, the race car is not supposed to pull into the pit lane until the pit crew is ready. The pit crew is therefore logically the predecessor because they, not the car, must be ready first.

At this point I am sure you are thinking, “why not make the race car the predecessor to the pit crew and use a Finish to Start relationship?” The issue is that we do not want the car to arrive early. So it is logical to say that the successor’s start date should determine the predecessor’s finish date. Hence, Start to Finish.

While I wish that race teams used Primavera software (official scheduler for Ferrari would be a very cool job) the reality is that one of my clients was already using this relationship type before taking my class. They work at a nuclear submarine facility on the East Coast. Similar to my example, they do not want the sub to show up until they are ready to perform maintenance. So maintenance is the predecessor.

The downside to this relationship type is that you can end up with some strange looking float values, as the backwards pass algorithm seems to get confused by what almost seems like reverse logic. We expect relationship lines to always be pointing to the right, after all. Other activities tied to the ones with the Start to Finish relationship can likewise behave rather strangely.

An alternative would be to use a Finish to Start relationship and put an “As Late As Possible” (ALAP) constraint on the predecessor. This way, the race car can be the predecessor but it will not finish until the pit crew is ready. Schedulers often use this constraint to avoid having materials or equipment delivered to the jobsite too early. Sort of like Just In Time manufacturing.

Perhaps it comes down to personal preferences. Some people dislike using Start to Finish relationships and others dislike using constraints. Owners in particular view constraints as an artificial device to sequester float. The contractor is in theory suppressing float on certain activities to keep the owner from using it. Fine, but when the door hardware shows up a year early perhaps they will reconsider!

Personally, I prefer to use the ALAP constraint, albeit with discretion. A side-effect of this particular constraint is that the predecessor(s) will not be driving. This can confuse some people. While other constraints sometimes have the same effect, this always happens with the ALAP constraint.

Try the Start to Finish relationship for yourself and see what happens!


The Makings of a Complicated Schedule

Categories: Activity Types, P6 Calendars, P6 EPPM, P6 Professional
Comments Off on The Makings of a Complicated Schedule

Primavera SchedulingWhen does a Primavera P6 schedule become complicated? I realize that for new users it might seem like every schedule is hard; but their problem is a lack of training or experience, not the schedule itself. Schedules with thousands of activities take more time to assemble, but that alone does not make them more complicated. Besides, in nearly every schedule there is repetitive work, so we can often copy dozens (if not hundreds) of activities quickly and reuse them. If you do not already know how to do this, read Time-Saving Tricks in P6 You Must Use.

Having prepared hundreds of original plans and thousands of updates, I can say for certain that two characteristics in particular complicate a Primavera P6 schedule. There are other situations that make a scheduler’s life “interesting” but trust me, these two are the biggies:

  1. The schedule has more than one calendar
  2. The schedule is resource loaded

Having more than one calendar is, mind you, often a necessity. The project specifications may require that inclement weather days be added to the calendar. In other words, anticipated weather days must be blocked out similar to holidays and other non-work days. But not all activities will be affected by weather (shop drawings, permits, interior finishes, etc.) so we must also utilize a calendar that does not have weather days.

Another reason for more than one calendar would be that some activities can occur any day of the week without exception, such as concrete curing, or the project specifications identify certain tasks accordingly. So now we have a 7- day calendar in addition to a work calendar with weather, and a work calendar without weather. Just like that the schedule has three calendars!

Okay, but why is it such a big deal to have multiple calendars? To start with, strange things can happen as the schedule moves from one calendar to another. Here is one possible scenario:

The predecessor finishes on Saturday because it obeys the 7-day calendar. If the successor has a 5-day calendar, it cannot start until the following Monday. Even though both activities might be on the critical path, the predecessor will have one (1) day of Total Float while the successor has zero (0) Total Float. After all, the predecessor could have finished on Sunday and still not hold up the successor.

In Primavera P6, Total Float is relative to the activity calendar so two activities on the same path may not exhibit the same float value if they have different calendars. By the same token, activities with the same Total Float value may not be on the same path.

Here is another possible scenario: the predecessor has a calendar that is 7:00 am to 4:00 pm. The successor has an 8:00 am to 5:00 pm calendar. The relationship between them is Finish-to-Start. The successor will start the same day the predecessor finishes because there is still one hour left in the day (i.e. 4:00 to 5:00 pm). This can confuse a lot of people who never display the time of day on their schedules. They think the activities are overlapping somehow when in reality they are not.

Moving on the resources, there is a calendar issue here to consider as well. Resources cannot use project calendars. Only global and resource calendars can be assigned to resources. Our students know why we prefer to use project calendars on every project. But the moment resources are added we are stuck with global or resource calendars. There is some logic here on Oracle’s part. Resources are not project-specific and so only a shared type of calendar would be appropriate.

So think about it. We already had three calendars because of weather and the need for a 7-day calendar and now we have a fourth one! The schedule can get seriously weird at this point. What if the resource plays by different rules than any other calendar? Well, our strategy is to create a global calendar first, copy it as a project calendar, and also assign it to the resource. So the project calendar and the resource calendar are identical.

There are situations where the resource works different hours or different days and should take over in terms of calculating dates. Perhaps the resource is never available on Fridays. We have to consider whether the project or resource calendar is more important. This is why Primavera P6 offers Task Dependent and Resource Dependent activity types. There is no single right answer; it depends on the circumstances.

The question in my mind when it comes to resources is, “does the dog wag the tail or does the tail wag the dog?” If the dog is in charge then I want a Task Dependent activity. Then it won’t matter if the resource calendar does not align with the activity calendar.

Another consideration with resources is that we can allow Primavera P6 to change the activity duration – something that would never happen otherwise. Therefore, the Duration Type becomes a very big deal. Should we let this happen? It does introduce additional moving parts to a schedule that might be difficult to understand due to other reasons such as multiple calendars. Still, it does make sense that if I know the budgeted hours and the crew size, why not let Primvera P6 do the math?

And of course, if we resource-load a Primavera P6 schedule we can also resource level the schedule. I teach this in my intermediate and advanced classes, albeit with the caveat that it takes several iterations of resource leveling before we can be satisfied that the optimum answer has been found: finishing as quickly as possible using a reasonable number of resources. Not exactly something the Pharaohs worried about but for us mere mortals, time and resources are limited.

Sometimes, giving priority to the earliest activity that needs the resource yields the best result. Other times it is better to give priority to the activity with the least amount of float. If I want a very precise allocation of resources I will utilize the Activity Leveling Priority. Unless you know what all of this means then it would be unwise to resource level a schedule without guidance.

Owners may not like the idea of resource leveling because it reduces the Total Float that contractually is almost always shared between owners and contractors. But sequestering Total Float is not the idea. One of the best schedules I ever saw (that wasn’t mine) was a resource-leveled schedule on a project in Hong Kong. The owner thought it was madness but it definitely worked.

I have not touched upon everything to consider with multiple calendars and resources, but hopefully the point has been made. Complicated schedules are frequently unavoidable, often necessary, and must always be respected. Are you ready for the challenge?


Primavera SchedulingPigeons mystified Charles Darwin. He mentions them in the very first chapter of On the Origin of Species:

“The diversity of breeds of pigeons is truly astonishing. If one compares the English Messenger with the short-faced Culbutant, one is struck by the enormous difference of their beak, resulting in corresponding differences in the skull.”

There are as many species of pigeons as there are of dogs or cats. But today we are focusing on carrier pigeons and their cousins, homing pigeons. And what a noble history! Noah was the first to recognize a pigeon’s ability to carry a message. The Romans used pigeons to transmit the results of chariot races. Genghis Kahn and Charlemagne relied upon pigeons to carry messages to troops, as did the French in the Vietnam War.

Even today, pigeons are used to carry blood samples in remote parts of England and France. Not surprisingly, pigeons have also been dragged into nefarious duties. Drug traffickers in Afghanistan and Pakistan have utilized flocks of pigeons to deliver heroin, each one carrying 10 grams.

But let’s be honest. If rats could fly we might have used them instead. Pigeons deliver a message – right or wrong – from one party to another. They don’t (can’t) read the message or vouch for its accuracy.

Don’t be a pigeon. Too many schedulers are simply delivering information that is incorrect or incomplete. They fail to consider whether the current critical path makes sense, ignore activities that clearly should have had progress by now, and fail to analyze the potential impact of unforeseen events.

Not all information can be easily verified, of course. Unless the scheduler is posted to the field he or she can not independently verify actual dates, installed quantities, percent completes and the like. Still, there are times when the reported progress makes little sense, like my client who said he had started plumbing fixtures on the third floor of the building at a time when the structural steel to the second floor was being erected (he was taking credit for plumbing fixtures that had been delivered to the jobsite, but we had a procurement activity for that scenario).

That story involving the plumbing fixtures happened more than 25 years ago. Schedulers have long memories! More recently, I have been reviewing schedules on a 34-story apartment tower in the midwest for the owner. Ironically, plumbing is once again the issue.

A couple of months ago, installation of water heaters on nearly every floor showed up on the critical path. And with one week scheduled for installation per floor, we had water heaters occupying about seven months of the remaining critical path.

I understood how the water heaters wound up on the critical path. The contractor had added activity relationships between water heaters on each floor – something we were calling “crew restraints” way back in the early 1980s.

Here is the funny part. When I filed my report with the owner, the contractor accused me of modifying his schedule update! He had no idea these crew restraints existed or why they had been added. The reality is that the crew restraints had always been in the schedule but due to better progress on other paths, this water heater path had now been exposed.

If you are wondering why water heaters were such a concern, the fact is that most of the interior work (drywall, painting, etc.) had similar crew restraints. But only the water heaters assumed one floor at a time. I have no idea why. It is clearly a very conservative assumption, and as many of you who read my blog on a regular basis already know, I prefer The Schedule That Can be Beat.

Nevertheless, this project is behind schedule and letting the water heaters control the project completion date is not acceptable. Yet this trend continued for another month. Finally, the contractor revised the logic so that water heaters overlapped on some floors. The critical path is now starting to make a lot more sense.

That’s just it. A good scheduler should know what belongs on the critical path. Even when I am still building the baseline schedule I have an idea of what will be critical. During the monthly updates I believe I know what should be critical as well if my logic is still valid and the contractor makes sufficient progress.

Submittals tend to be ignored by the contractor because so many of them have large float values. Whenever a submittal pops up on the critical path after I make a preliminary run of the monthly update I get very suspicious. Most of the time, the contractor’s memory improves dramatically when I tell him a submittal is on the critical path (“oh yeah, we submitted those shop drawings weeks ago!”).

Schedulers cannot afford to be gullible. People gives us bad data all the time and expect a good result. Not going to happen! The guy who told me he was 75 percent complete last month will report that he is 60 percent complete this month. Which number is the truth? The reality is that we tend to get better information on the most critical activities because everyone more or less understands what “critical” means (fingers crossed).

So how do we avoid becoming pigeons? Here are a few things to consider:

  1. Never publish a schedule until the draft version has been reviewed by the project stakeholders. We do not want someone coming back and saying the logic is wrong, the durations are a fantasy, etc. after the schedule has been submitted to the owner.
  2. Use Activity Steps on complex tasks to make it easier to report progress. I think Activity Steps are one of the best features in Primavera P6 ignored by most casual users.
  3. “Gut check” the critical path. Even if the critical path seems acceptable to other project stakeholders, they are probably not scheduling experts and they certainly do not understand the details of the schedule nearly as well.
  4. Always use Retained Logic as the scheduling method in Primavera P6 for activities with progress. Nothing keeps you, and everyone else, honest like being confronted with out-of-sequence work.
  5. Avoid unnecessary logic changes. If the project is not going according to plan, why? If the owner is causing work to be performed out-of-sequence we need to preserve the logic to show the delay. But if the contractor has simply changed his mind, by all means modify the logic to keep it realistic.
  6. Educate yourself. If scheduling is not something you really understand, you need training or guidance. I studied CPM in college, but I really did not know how to apply it correctly until I started working side-by-side with professional schedulers.

There you have it. Spread your wings and fly! Okay, so perhaps that is not really the best metaphor.

 

 

 

 

 


The Future of Scheduling Software

Categories: P3, P6 EPPM, P6 Professional, SureTrak
Comments Off on The Future of Scheduling Software
Primavera Scheduling

Recently I read a blog by someone claiming that Primavera P6 will eventually disappear because there are much better scheduling programs now available. This is a great way to get people to read your blog, I suppose, but there is absolutely no reason to believe that Primavera P6 is a dinosaur happily living its life until some giant meteor program wipes it off the face of the Earth.

To begin with, none of us can accurately predict the future. There are the "unknown unkowns" (as popularized by former Wall Street trader Nassim Nicholas Taleb in his book, Black Swan) that are impossible to predict because we cannot even imagine that such a thing could happen. Might as well flip a coin to determine whether a program like P6 will survive because the results will be just as accurate.

Change is inevitable. I entered high school in 1974. My class was the first one not to learn how to use a mechanical slide rule, because hand-held calculators were becoming readily available. By the time I graduated in 1977 my calculus instructor had introduced us to a primitive desktop computer with a keyboard and no screen. When I graduated from college we were scheduling projects using a mainframe computer.

In 1983, Primavera Systems released its eponymous scheduling program, Primavera Project Planner (P3). Microsoft Project was released the following year. Microsoft does not like competition, to put it mildly. Here is just one example. Like many people, I used Netscape Navigator in the early days of the World Wide Web. Navigator was pretty cheap - I recall paying about $35 for the "Gold" version.

But when Microsoft released Windows 98 they included Internet Explorer for free. Internet Explorer was clunky compared to Navigator, but hey, free is hard to resist. Bye bye Navigator! (The irony is that Netscape Navigator started out as a free program to encourage its adoption, not unlike what Microsoft was doing).

My first spreadsheet program was VisiCalc. But unless you are over the age of 50 it won't ring a bell. Microsoft destroyed that product as well with Excel. Lotus 123 and Lotus Symphony were no match for Microsoft either.

So imagine you are little ol' Primavera Systems facing down the biggest software company in the world. Props for surviving even a few years! Granted, P3 was clearly a more robust scheduling program, but Microsoft Project was much cheaper. And it is not like P3 had a big head start. In the early days it would have been very tempting to just buy Microsoft Project.

Luckily, the consulting firm I was working for in the 1980s decided to buy P3 instead. It may have had something to do with the fact that Primavera's headquarters were right across the river from our offices. But the reality is that even back then it was not a two-horse race, and our firm did consider other alternatives before picking P3. We even hedged our bets by investing in an early competitor of Primavera.

Primavera has always had competition and responded accordingly. I still hear from Primavera users who pine for the days of P3. Really? I used P3 for nearly 20 years, starting with the DOS version and then Windows. It was like an old friend, my bread and butter scheduling program. But when Primavera P6 came along I kicked P3 to the curb and never looked back.

Oh sure, I griped a little during the transition to P6. It was different and required a learning curve. And when I was really busy that was sometimes annoying. I just wanted to get my work done! I am sure that most of us feel that way about technology, that sometimes change is not necessarily an improvement (Windows 8 comes to mind).

The thing is, P6 is better than P3 - demonstrably so. I became interested in selling P6 software several years ago for the simple reason that I was convinced it was much better than P3 and would become the new standard for scheduling software. It is ironic that people criticize P6 for both doing too much and too little. "I don't need all these features", some will say, while others will ask for more features. Oracle must think we are neurotic, or perhaps ungrateful.

Is P6 too complicated? Not really (pause for chuckles). Okay, so there is a lot going on with this software. I use about 70% of the features on a daily basis, which is why I have never really taught everything there is in P6. If someone like me, a professional scheduler for 33 years, cannot find reason to use some of these features I am pretty confident that most other users do not need them either.

Nevertheless, I mostly schedule construction projects. Primavera P6 was not developed for just one industry, and it certainly would not make much sense that software companies are going to develop scheduling software specific to each industry. There is one exception: linear construction such as tunneling projects does have its own standard-bearer, TILOS. This program schedules work based on time and location. P6 cannot match that.

I look at P6 the same way I looked at my first sportbike. Back in 1995 I purchased the most powerful 600cc motorcycle in the world: the Kawasaki Ninja. It was capable of a top speed of 155 MPH, which was serious velocity for an engine of that size. Redline was 14,500 RPM! Formula One race cars costing tens of millions of dollars were only reving to 16,000 RPM at the time.

Did I need that sort of performance? Obviously not. But if my bike was that good I knew the only limitation would be my skills. The bike would never let me down. The software will do more than I need it to, and that is the way it should be. Raise your hand if you use every feature in Microsoft Excel. My point exactly.

Last week I demonstrated to a manufacturer how to schedule and resource level one of their typical projects where the minimum duration for a task is two minutes and the maximum duration is only two and a half hours. That is not a level of detail I would ever see in a construction schedule. I don't schedule down to the minute of the day. But P6 can do that for people who do.

To those who believe that P6 has become stagnant, I would point out that Oracle has made 97 significant improvements since taking over Primavera Systems. How do I know this? Oracle has something called the Cumulative Feature Overview Tool. Enter the version of Primavera P6 you are currently using and the version you are thinking of upgrading to, and this tool explains what improvements have been made.

Getting back to the so-called demise of Primavera P6, I have a pretty good idea which program the author thought was the future of scheduling software. And like many of Primavera's competitors it is more expensive. In this case, you cannot just buy the scheduling module. Instead, you are buying an entire suite of programs related to planning, budgeting, cost and document control. So it is a little ironic this competitor would have the tag line, "Features Only Matter If They Get Used."

Sure, Primavera P6 can be integrated with other Oracle (and non-Oracle) programs, but it can also function as a standalone program. Many of my customers already have document control, estimating and other software. They just need a scheduling program, not a complete overhaul of their computing system.

Other competitors offer standalone scheduling programs, and I am certainly not going to debate the merits of each one here. I know my clients pretty well, and I do not believe they would feel insulted if I stated that I am better at scheduling than they are. After all, I have more than three decades of experience and I still work with this software every single day. I know what they need from a scheduling program. So here is my advice:

"Primavera P6 is your Ninja sportbike. Twist the throttle as much as you want. Fast or slow, it will take good care of you."

Software is a bit like evolution. The winners either adapt or die. Programs such as VisiCalc and Lotus 123 that were among the first to market did not last very long once competition arrived. Primavera has had competition since 1984. That is not to say that other products won't continue to steal some of Primavera's market share, but if it's my money that I'm playing with I will continue to put it on a winner. And Primavera is on a winning streak that has lasted more than 30 years.


Primavera SchedulingA simple word – certification – can create so much confusion. Nearly every day we are asked about this word. How do I become certified on Primavera P6? Or how do I become a certified Primavera P6 scheduler or trainer?

Let’s start with the highest level of certification: Oracle University. Yes, there really is an Oracle University. In order to sell Oracle software a company must become an Oracle Partner (which involves a lot of paperwork and payment of fees) and get a certain number of employees certified on the Oracle programs the company wants to sell. Oracle offers Guided Learning Paths (GLPs) to help its partners prepare for these certifications.

In order to view the GLPs, however, you must have access to the Oracle Partner Network. In other words, individuals who do not work for an Oracle Partner cannot review the training materials. The GLPs cover a lot more than just the software itself, so it is vital to access to this training. Moreover, this trainer is geared towards implementing software solutions in various industries, which goes beyond what most schedulers would be expected to understand.

The next step is to take a proctored exam. By “proctored” we mean an exam observed by a third party. Oracle offers some exams during OpenWorld in San Francisco (an annual event for Oracle Partners, programmers and devotees) but there are computer learning centers around the country who offer the same exams on a more frequent basis. A passing score is 70%.

Passing this exam (1Z0-535) establishes someone as a Primavera P6 Enterprise Project Portfolio Management 8 Certified Implementation Specialist. If you are wondering, the “8” refers to Release 8 of P6 EPPM. Oracle has not changed the certification process even though we are now up to Release 17.7 as of July 2017.


You can view my certificate here.


Wait a minute! What about Primavera P6 Professional and Primavera Contractor? Well, Oracle does not offer separate certifications for those programs. But the reality is that P6 EPPM is by far the most difficult version of Primavera to learn and there are many features common to all three programs.

In addition, there is a desktop component of P6 EPPM that is identical to P6 Professional with one exception; the Admin menu is missing. Administrators are required to use the web component. But this also means that users who understand P6 Professional understand P6 EPPM to some extent, and vice versa. No one other than the administrators are required to use the web component and most schedulers prefer the desktop component. 

I can promise you that just understanding Primavera P6 is not enough to pass this exam. There are questions related to the target markets for this software and how to implement various solutions. Companies who sell Oracle software are expected to be able to demonstrate why this software is the right solution. As you might imagine, P6 EPPM is the solution favored by Oracle.

In a nutshell, this is what it means to be “Oracle Certified”. Not all trainers are certified, and it should be rather obvious by now why firms that are not Oracle Partners are unlikely to have trainers who are certified by Oracle University. Being certified by Oracle University implies a pretty serious commitment to teaching Primavera P6. Oracle Partners also have access to resources unavailable to anyone else.

The next level of certification is by an Oracle Partner. While this may not sound as prestigious as being certified by Oracle University, the ultimate goal for non-trainers should be to learn the program, right? We are aware that job postings sometimes specify that applicants must be “certified” yet it is unlikely that the company posting the ad really understands the certification process. 

Certification by an Oracle Partner will vary depending on the class. For example, our online classes are either 8 or 16 hours of instruction, while our in-person classes are 8, 16 or 24 hours. Each class has its own certification. We also offer certification via our On Demand Primavera P6 Training. When someone asks us which class to take, we try to understand what their job function requires. We offer a variety of classes to accommodate everyone’s needs.

The fact is that we have certified more than 2,500 people and not one of them has been turned down for a job because they lacked the correct certification. Each certificate we issue includes our Oracle Partner logo, and these companies know they can call us to discuss our curriculum. We want our students to succeed and we want companies to accept our imprimatur.

Perhaps more importantly, the employers we talk to overwhelming support training provided by an Oracle Partner. They appreciate that Oracle Partners are accredited by Oracle University and maintain a formal business relationship with Oracle. Moreover, only Oracle Partners can offer software sales and training. Oracle Partners are the most qualified to recommend the right solutions.

Some companies are looking for certified trainers to teach other employees – someone often referred to as the Subject Matter Expert (SME). These individuals most certainly need to be certified by at least an Oracle Partner given their additional responsibilities. After all, they are setting the standards for the entire organization. Oracle Partners work with companies in many industries and understand the proper procedures for each.

Several people who have taken our classes were initially trained by non-accredited instructors at companies not affiliated with Oracle and learned that their prospective employers would not accept their certifications. Those classes might have been cheaper, but in the long run these people end up paying a lot more to get the proper certification. And keep in mind that just because the instructor knows more about Primavera P6 than you do does not make them an expert.

Of course, real-world experience is important as well. Our company has prepared more than 600 initial schedules and more than 10,000 periodic updates. Each of our instructors has at least 25 years of experience in project management. We are in fact often asked to teach Primavera courses offered by other training firms because they recognize that our level of experience is unrivaled.

Yes, you read that correctly: some of our competitors are willing to pay us to teach their classes!

A couple of years ago a gentlemen contacted our firm and said he already knew Primavera P6 very well and therefore did not want to take a class. Instead, he wanted to buy a certificate from our firm! Needless to say, we declined. We have had our share of “experts” who did not understand the program all that well.

Any questions? Hopefully not, but let us know!

 


Owning an Activity in P6

Categories: P6 EPPM, P6 Professional
Comments Off on Owning an Activity in P6
Primavera Scheduling

I was watching a crime drama on BBC television the other night where a rising young detective was explaining to his superiors during dinner the need for “bold delivery of sanctions to the stakeholders”.

“Stakeholders?”, one of his superiors asked.

“Five years ago we just called them criminals”, the young detective replied.

Big laughs all around the table. And I suppose sometimes we feel that project stakeholders are somewhat criminal in what they expect from us. Limited resources paired with unrealistic expectations can be a little maddening for the scheduler who is supposed to create a miracle in the project schedule.

So today we are going to discuss what it means to own an activity. Specifically, we call this the “owner” in Primavera P6. The owner of a task does not have to be a resource, which means that any schedule can take advantage of this feature.

So who exactly can be the owner of an activity? The owner is a Primavera P6 user. If only one person is maintaining the project schedule it probably makes little since to assign owners to activities. In a more complex schedule, however, this feature is quite useful, especially in P6 EPPM.

Knowing how to assign an owner to an activity is the only real trick. You need to add a column to the Activity Table. Owner is found under the General category of columns, as seen below:

 

owner_add-column

How we use the owner depends on which version of P6 that we are using. In P6 Professional the owner is primarily a way to filter out activities in the Activity Table. We can then give each user an idea of which tasks they need to take ownership of in terms of monitoring or updating progress.

In P6 EPPM we can go quite a bit further. To begin with, users can see the activities they own in the Dashboard. As we drink our morning coffee (hot chocolate for me) we can quickly scan all the activities we are responsible for – without having to open up the project schedules. For someone assigned to activities across multiple projects this is a tremendous tool.

Because the Dashboard is typically filtered to show only a portfolio of projects, we must keep in mind that not all of our activities will appear unless they are part of the portfolio currently being viewed. The Dashboard can take a long time to load if you have a large portfolio of projects, so I advise having one portfolio of projects limited to ones with activities that you own.

In the screenshot below you can see the My Activities portlet in the EPPM Dashboard, which is where the activities that I have been identified as the owner reside:

 

Primavera Scheduling

Here are two other benefits of P6 EPPM. When I click on the project in the portlet it automatically opens the project and takes me to the Activities page. When I click on one of these activities I am taken to a screen that shows me details of that activity. I can also edit progress on this activity:

 

Primavera Scheduling

The user will need access to the Projects module in P6 EPPM and have permission to edit activities. P6 Progress Reporter (a separate module in P6 EPPM) also utilizes owner to assign users to activities. This module is a simplified interface that can be run on tablets and much cheaper than a full P6 EPPM license.

Even on a smaller schedule we might have one person responsible for updating progress on submittals while someone else handles field activities. Quite a few of my clients have no desire to set up resources so this is an easy compromise for assigning activities to different people. Moreover, it may be practical to have just a few people reporting progress on activities without expecting every resource to provide this information.

Bottom line: if you do not want to assign resources to activities you can still use the owner field to track progress on activities.