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 tagged Primavera P6

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!

A Project That Will Save Lives

Categories: P6 Professional, Primavera Training
Comments Off on A Project That Will Save Lives

Primavera SchedulingIt is not very often that we can say that a project will save lives. But a project in San Francisco that started in February of 2017 is intended to do just that. The project has a rather long title: Golden Gate Bridge Physical Suicide Deterrent System and Wind Retrofit Project.

Our firm provided a 3-day Primavera P6 training session last week to employees of the Golden Gate Bridge Highway Transportation District and the general contractor, Shimmick/Danny’s Joint Venture. After the first day of training I drove up to an observation area on the Marin County side of the bridge to take the photo you see here.

Stainless steel netting will be strung along both sides of the 1.7 mile long bridge. The netting itself will be 25 feet below the bridge deck to avoid obstructing the view from what is of course one of the most iconic bridges in the world. Yet the sad reality is that roughly 1,600 people have chosen this location to end their lives since the bridge opened in 1937.

Suicides can be prevented. A 1978 study by University of California – Berkeley clinical psychologist Richard Seiden tracked 515 people who were restrained from jumping off the Golden Gate Bridge between 1937 and 1971. Years later, 94 percent were either still alive or had died of natural causes.

This $204 M project is expected to take nearly four years to complete. Existing paint will have to be removed, and contained. Crews will be working from the underside of the bridge some 250 feet above the water. Field measurements will have to be taken for all of the struts that support the netting. Altogether, enough netting to cover seven football fields will be hung.

Various groups and individuals lobbied decades for some sort of deterrent system. Yes, this is an expensive project but the original 4-foot high railing was hardly any deterrent at all. As one suicide note stated, “Why do you make it so easy?”



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.

Claim Digger Limitations

Categories: Claim Digger, P6 Calendars, P6 EPPM, P6 Professional, P6 Tricks
Comments Off on Claim Digger Limitations

Primavera SchedulingClaim Digger is a convenient tool inside Primavera P6 for comparing schedule files to determine what changes have been made. But there are limitations to what Claim Digger can tell us about a revised file. Experienced Primavera users will recall that Claim Digger used to be a third-party program used to analyze Primavera P3 files. When Claim Digger was incorporated into Primavera P6 several years ago the functionality changed in ways that were both good and bad. Being able to export to HTML format is nice, but having the durations (including float and lags) displayed in hours is inconvenient on schedules with durations that are shown in days.

There are third-party software programs that can do much more than Claim Digger. Still, if you think that Primavera P6 costs as much as having a baby then anything that is “free” will be the most desirable option. So most of us will have to get by with Claim Digger until money starts growing on trees.

Note: in Version 16.1 of Primavera P6 Claim Digger is now called Schedule Comparison and is accessed from the Visualizer program. You will find Scheduler Comparison in the same location (Tools) as Claim Digger but clicking on this button will launch the Visualizer program.

The biggest limitation in Claim Digger has to do with calendars. Here are two scenarios where Claim Diggers will let you down:

  1. Changes made to a calendar, such as revisions to the number of hours per day, days per week, holidays, etc. are not picked up by Claim Digger
  2. Changing the calendar on an activity from Global to Project (or vice versa) is not picked up if both calendars have the same exact name

Indeed, Claim Digger will tell us nothing about calendars other than whether the name of the calendar is different. To demonstrate this for myself I created a Project calendar called “Standard” that is a copy of a Global calendar with the same name. I assigned the Global calendar to all of the activities in a sample project. After creating a baseline (copy) of this project I switched the calendar on the activities in the current project to the Project calendar. Claim Digger did not report any changes to calendars.

I then changed the name of my Project calendar in the current project to “Standard Days” and re-ran Claim Digger. As I expected, Claim Digger reported that I had changed the calendar. Yet other than the name, it was still the same Project calendar. I hadn’t changed anything else. In other words, a false positive.

Owners often run Claim Digger (or ask for the results) so anything that suggests a change when in fact no change was made creates unnecessary confusion. Conversely, a sneaky scheduler could block out additional days in the calendar to coincide with an owner-caused delay in order to exaggerate the impact. An experienced scheduler should be able to figure out if there are any shenanigans going on, but the reality is that P6 is chock-full of hidden traps for the uninitiated.

While we are on the subject, I often refer to myself as a “Primavera P6 Scheduler” because there are in fact specific techniques to scheduling projects with Primavera P6. Case in point: Microsoft Project does not allow two relationships between the same two activities, while in Primavera P6 this is perfectly acceptable. A good scheduler with poor Primavera P6 skills can still make a lot of mistakes because of their unfamiliarity with the program. For the same reason, I tend to be very cautious in Microsoft Project because it is not my bread and butter.

I started using Primavera software in 1987 so in my mind the rules that I observe have almost always been specific to one particular program. Prior to 1987 the software I used was proprietary and followed basic Critical Path Method rules. But CPM does not teach you about Activity Codes, Resource Leveling, and so many other things that are now possible because of software any more than an accountant would automatically know how to create a macro in Microsoft Excel.

“Old-school” schedulers who refuse to stay current on scheduling software get no sympathy from me. I started with proprietary scheduling software, learned Primavera P3, followed by Primavera SureTrak, Primavera Primavera P6, Primavera Contractor, and Primavera P6 EPPM. Not to mention all of the other programs like Microsoft Office that I have had to learn over the years. I had to learn WordPress just to type this silly blog!


My wife and I recently participated in a group hike to see the new land acquisition by our homeowners association. We own property in a 7,000 acre resort in the Sierras and the new parcel adds several hundred more acres of wilderness that will prevent development near our resort. The problem was, our group leader had told us in no uncertain terms that the last bus back to the resort would be leaving at 5:15 pm. Yet here we were at 4:00 pm still hiking in the wrong direction and realizing we had at least an hour of strenuous hiking uphill to the staging area. So we turned around and headed back. Our group leader was clearly cutting it a little too close.

I feel the same way about scheduling. Yes, there will always be critical activities, but they are of course only critical because other activities are, well, less critical. But if the longest path of activities are themselves quite aggressive then we are only setting ourselves up for failure. So my preference is to have a schedule that can be beat.

I am not talking about sequestering float. You may have heard about strategies to hide float in a schedule. This all started several years ago because nearly all construction contracts in the U.S. state that float belongs to the project and is therefore not for the beneficial use of just one party. The contractor or the owner can use the float, with dibs belonging to whoever grabs it first.

Contractors who felt more entitled to the float began devising ways to hide some of the float by tying activities to unrelated work that starts sooner than the more obvious successors. This removes float from the schedule and makes it more likely that an owner delay to a task will also delay the project. A non-critical activity can quickly become critical because it has very little float. For this reason, the sequestering of float is often prohibited in construction contracts.

In my case, however, I am only trying to avoid being too aggressive with activities that are on the critical path and for this reason I choose the least ambitious type of relationship for the majority of my activities: Finish to Start. My goal is to make roughly 80% of the relationships in my schedule Finish to Start. This percentage can be checked using the DCMA checklist available in P6 Web. DCMA stands for the Defense Contract Management Agency. This checklist – called Check Schedule in P6 Web – can be seen below:

Primavera Scheduling










You set up the parameters of the schedule in this menu. Once Check Schedule is run, the results appear in a separate window, seen below:


Primavera Scheduling







At a glance I know whether I achieved my goal of making 80% of the activity relationships Finish to Start. Other goals include managing durations and relationship lags. Anything in green is in compliance while red indicates not in compliance with the specified parameters.

My strategy of primarily using Finish-to-Start relationships is a direct result of the early years of CPM scheduling, when Activity-on-Arrow (AOA) was the dominant scheduling technique. In those days, the arrows represented tasks, whereas the nodes (circles in most cases) were the activity identifiers. Because of this technique, each task had two nodes referred to in this order: the I-Node and the J-Node. So you would see something like Activity ID 1000-1005. This technique was also referred to as the Arrow Diagramming Method (ADM).

The Activity-on-Node (AON) method became very popular in the early 1990s and was certainly spurred along by Primavera Systems’ decision to drop Activity-on-Arrow altogether when the first Windows-based version of Primavera Project Planner (P3) was released in 1994. Ignoring this brief history of scheduling software for a moment, consider that if the arrow represented the activity, then all relationships were Finish-to-Start. The J-Node of the predecessor was also the I-Node of the successor. Leads and lags were non-existent. The predecessor(s) always had to be complete before the successor could start. This can be seen in the following Activity-on-Arrow diagram:






We used to split activities into percentages so that, say, the first 25% of drywall hanging could start as soon as 25% of the walls had been framed. This effectively became the lag that we use today with Start-to-Start and Finish-to-Finish relationships. Otherwise, it was fully expected that some work would start out-of-sequence, meaning the successor starts before the predecessor is finished.

By the same token, Finish-to-Start relationships are far more likely to generate out-of-sequence progress in today’s precedence schedules. And my response is “great!” You are beating my schedule! I have set you up for success, not failure. Now, I realize some people are bothered by out-of-sequence progress, but unless there is truly a “bust” in the logic or the result of unexpected delays I see this as a positive sign.

There is another benefit to the Finish-to-Start relationship. It is more likely our resources will not become over-allocated. Older schedulers like myself used logic to limit the number of resources required because the scheduling software was too primitive to do this. We called this type of logic “crew restraints” and I still use this technique today. The resource leveling feature in Primavera P6 is not always the best option for controlling the allocation of resources. And besides, if the schedule is not resource loaded then leveling is not an option.

My attitude often comes down to this: prove to me you can get ahead of my schedule and I will modify the logic accordingly. Until then, my logic assumes a more linear progression of the work and is therefore more forgiving. And everyone will feel better because the project end date does not keep slipping. What could be better than that?

My Least Favorite Activity Type

Categories: Activity Types, Level of Effort, P6 EPPM, P6 Professional, WBS Summary
Comments Off on My Least Favorite Activity Type

Primavera SchedulingWhile I consider my self pretty adventurous when it comes to Primavera P6, I admittedly have little use for one particular activity type, the WBS Summary. To review, the WBS Summary calculates its Start and Finish date (and therefore, duration) from all other activities that have the same WBS code. On the surface, this seems like a great idea because logic is not required. The WBS Summary is the only activity type in Primavera P6 that works sans logic. And this is what I do not like about it.

I always check the Schedule Log before I publish a schedule. As you should know, the Schedule Log has a topic called “Warnings” that discusses, among other concerns, the number of activities that are missing predecessors or successors. The correct number of “open ends” would of course be two; the first activity will not have a predecessor and the last one will not have a successor. No other answer is acceptable. Owners will also be checking the Schedule Logs during their reviews. Open ends are an easy way to get a schedule rejected.

Because the WBS Summary does not want or need logic, it creates what appears to be a de facto mistake in the schedule. If the person reviewing the schedule figures out that the open ends are due to this particular activity type, then perhaps they would accept the schedule regardless. But it has been my experience that owners do not want to hear any excuses as to why some activities have logic and others do not. Open ends are an unnecessary distraction from other items (sequences, durations, coding, etc.) that need to be checked.

It is possible to add relationships to a WBS Summary to make the open ends disappear, but this basically defeats the purpose of having them in the schedule in the first place. Why not use the Level of Effort instead? The Level of Effort also calculates its dates and duration automatically, but requires logic. Therefore, the Level of Effort does not create any concerns in the Schedule Log. Both of these activity types can also have resources assigned, so nothing is lost by switching to the Level of Effort.

Logic can be added to a WBS Summary without affecting the way it calculates its dates and duration, but again, why not use the Level of Effort instead? While they may seem interchangeable, the Level of Effort demands logic, and therefore forces us to add proper relationships. The WBS Summary is a little too accommodating. I want my activity types to enforce good habits!

Better still, the Level of Effort can transcend more than one WBS code which makes it far more flexible than the WBS summary. If I really need to see the dates and durations for WBS codes I can Group by WBS and choose to Show Group Totals. This saves me the trouble of adding a bunch of WBS Summary activities to my schedule for no other purpose than seeing summary dates and durations.

In the screenshot below, the WBS Summary activity is purple. Yes, this activity tells me the Foundations start on May 17 and finish on June 28, 2016 and have an overall duration of 30 days. Yet the same information appears in the Group Totals:

Primavera Scheduling
So there is no additional benefit to adding the WBS Summary activity if the only information being provided are the summary dates and duration.

I know some users are adding WBS Summary activities as a simplified way of cost loading a schedule from the top down. They put all of the costs in the WBS Summary activities rather than the actual work tasks. But Primavera P6 has a tool called Top Down Estimation that is better suited for that purpose. While it is possible to specify a non-linear distribution curve for resources, the reality is that you are still treating every day as having the same value. That is simply unrealistic.

A Primavera P6 compatriot did mention to me a reason why he uses the WBS Summary activity on a temporary basis. When Microsoft Project schedules are imported into Primavera P6, the summary bars are imported as activities. He uses the Microsoft Project summaries as temporary placeholders for checking logic and durations. Similarly, I will use the descriptions of the Microsoft Project summary activities to build my WBS codes before deleting these superfluous tasks,


3 Strategies for Weather in a Schedule

Categories: P6 EPPM, P6 Professional, P6 Tricks, P6 Web, Primavera P6
Comments Off on 3 Strategies for Weather in a Schedule

protectionUnless you are working indoors, weather is always a consideration when building a CPM schedule. Somehow, normal weather must be addressed for any work that can be impacted by inclement weather. Our only concern should be normal weather; unusual weather is an excusable delay. This of course raises the issue of how do we determine what exactly is normal weather? Contracts often mention that time extensions will only be granted for abnormal weather without defining normal weather. It is easy to find weather data: in the United States the best source of historical weather conditions would be the National Oceanic and Atmospheric Administration. The NOAA has records for thousands of weather stations around the country that in some cases go back a hundred years or more.

Even so, there is not a single standard for applying NOAA data. Should we take the average for the past four years to determine what is normal? Five years? Six? Federal contracts generally rely upon an average of the last ten years to determine normal weather conditions. (As a personal aside, I have lived in California for 11 years and the weather during the past four years has been radically different than what I first encountered in 2004). Most private construction contracts are unfortunately silent as to what sort of average might be considered reasonable.

The U.S. Army Corps of Engineers is probably the best example of how to specify normal weather. The USACE typically tells contractors how many days of inclement weather to include in the CPM schedule each month. NOAA data would only tell us the average temperature and precipitation, which leaves open to interpretation how a day with, say, 0.1″ of precipitation should be treated. For good or bad, the USACE specifications leave no doubt how many days should be blocked out for weather – not including weekends and holidays. Contractors can not claim they thought it would only rain or snow on weekends!

Some State agencies use a methodology similar to the USACE. Last year I was teaching a highway contractor in Minnesota how to schedule projects using Primavera P6. Someone pulled out the specifications for an upcoming project. Glancing down to the weather provisions, I was not surprised to see that the Minnesota Department of Transportation expected contractors to block out 20 days for inclement weather in January beyond weekends and holidays. In case you are wondering, that wipes out the entire month! I was there in March and it was still below zero degrees in the morning. Winter work is nearly impossible outside unless you are ice fishing.

Sometimes, the contractor does not have to address inclement weather at all. The California Department of Transportation (CalTRANS) specifies contract durations in working days. As the project moves along CalTRANS tallies only the days the contractor is able to works. Bad weather days are not counted. As you might have guessed, this means the project end date shown in the baseline schedule assumes perfect weather and therefore is unlikely to be maintained.

Once we have established some sort of standard for normal weather, we can then move on to a strategy for incorporating this weather into the CPM schedule. Below are the three basic strategies that I use, in my order of preference:

I. Add Normal Weather to the Work Calendar

If the owner has already told me how many days of normal inclement weather to anticipate, it is logical to block out this number of days as if they were holidays. While it is not possible to distinguish a weather day from a holiday in Primavera P6, I try to put my weather days on any Tuesdays, Wednesdays and Thursdays to avoid Monday holidays like Labor Day, Memorial Day and Presidents Day. Obviously Thanksgiving is always on a Thursday but otherwise this works pretty well. NOAA data can even tell us which days of the month typically have the most precipitation if we want to find the best candidates for weather days. I also have a Project Notebook Topic I created in Primavera P6 called “Weather” that I use to list the weather days included in the schedule. This removes any doubt as to why these days were blocked out.

II. Create a Contingency Activity for Normal Weather

I started using this strategy in the 1980s as a way to show early completion. The contractor would plan to finish the project early so we needed an activity to bridge the gap between the early completion milestone and the contractual completion milestone. Not all owners would accept the contractor’s right to finish early. In some cases the owner would issue a no-cost change order to modify the contract completion date. Basically, the owner was calling the contractor’s bluff. If the contractor figured he could finish early then why not make that the new contract completion date? Otherwise, the contractor might submit a delay claim based on not being able to finish the project early even though the owner never requested the earlier completion date.

On some projects the bid documents are held in escrow; if a delay claim is submitted the bid documents can be reviewed to see if the contractor based his overhead costs on the shorter project duration. A CPM schedule that shows early completion is often viewed with suspicion unless there is further proof. But in some cases the contract documents specify that early completion is not allowed. The contract effectively becomes a professional services agreement with a fixed time frame.

Normal inclement weather can also be treated as a contingency. The number of expected weather days are added up and inserted into an activity between early completion and contract completion. In this case, however, we are not really expecting to finish early; the contingency will disappear if the total amount of normal inclement weather is realized. During each update we reduce the remaining duration of the contingency activity by the number of actual weather days incurred. In theory, there will be no more weather days once the remaining duration reaches zero days. Otherwise, the contractor is entitled to a time extension.

Both the first and second strategies require an analysis to determine how many weather days are to be expected over the life of the project. Unless the number of weather days are specified in the contract there could be disagreements as to how many days should be included. A smaller number helps the contractor with delay claims while a bigger number protects the owner against the very same claims. Activity durations should be based on perfect weather, as normal weather is accounted for by either the calendar or the contingency.

III. Add Normal Weather to the Activity Durations

This is the oldest strategy and does not require as much effort as the other strategies. The contractor simply adds additional time to the activity durations based on the expected weather. I list this strategy last because it is nearly impossible to verify how much time was added for weather unless the contractor keeps detailed notes (such as using an Activity Notebook Topic in Primavera P6 to explain where the days were added). Moreover, the contractor needs to know what time of year each activity will take place before he can add the right amount of time. For this reason schedule logic is needed first so that the start and finish dates are reasonably accurate. But the reason I list this strategy last is that if an activity is delayed the added time for weather may now be too much or too little. Constant monitoring is required to ensure that activities have not moved into a time frame with different weather conditions.

Update: a member of the Association for the Advancement of Cost Engineering took exception to this third method after my original post was published. He felt this method should never be used and referred to the AACE’s Recommended Practice for addressing weather in a schedule. But he was missing the point. I have used this third method for years without any issues. Keep in mind that if the weather days are shown on the calendar or as a contingency activity the contractor has boxed himself into a corner. He cannot later claim he expected fewer normal weather days.

The contractor may very well want to give himself some “wiggle room” to clarify his understanding of normal weather once a dispute arises. And who can blame him if the owner does not specify the number of weather days either? The owner is legally responsible for any ambiguities in the contract documents. Conversely, if the contractor feels he has been treated fairly by the owner on all other matters, he may be willing to concede a few weather days that he otherwise felt entitled to claim.

Let’s use liquidated damages as an analogy. Liquidated damages clauses have been around for decades. A contractor is put on notice that a specific amount of money will be withheld by the owner for each day he is late. Liquidated damages are an approximation of the financial impact caused by the project being delivered late. As such, liquidated damages cannot (and are not required to) be proven. The contractor may think the liquidated damages are outrageous, but this is not a matter for negotiation.

Yet the same owner has no clue how many days should be included in the schedule for normal inclement weather? There are multiple sources of historical data to help him make this decision. So perhaps the owner wants a little “wiggle room” as well. He has the information necessary to make a decision; he just decided to leave the contract ambiguous. Shame on him.

The bottom line is that most construction contracts do not adequately address the definition of normal weather. AACE’s Recommended Practice is not the solution either since it still leaves this matter open to interpretation.

What is your favorite method of addressing inclement weather? I can be reached here.