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 P3

When P6 Late Dates are Early

Categories: Constraints, Late Dates, P3, P6 Professional
Comments Off on When P6 Late Dates are Early
Primavera Scheduling

Primavera Systems introduced a novel concept when it released Primavera Project Planner in 1983. Having just graduated from university two years earlier with my first CPM Schedule already under my belt, I assumed I understood basic scheduling concepts pretty well. I then spent several years using a proprietary software program owned by the consulting firm that hired me as a scheduler. But when my employer switched to Primavera Project Planner in 1987, well, I learned another approach to CPM Scheduling.

All of my early schedules relied upon a floating project end date. That is to say, the project end date changes depending on progress. Not knowing better, I did not consider that the early dates were not very helpful. On the critical path, the early start/late start dates are identical. Likewise, the early finish/late finish dates are the same. So how do we get back on schedule once there are delays?

Primavera Project Planner (or "P3") allowed constraints to be placed on individual activities or the project overall. This created "hard stops" in the schedule. The late start and late finish dates became fixed dates, more or less (I say "more or less" because progress and logic changes mean that the late dates will often change over the life of the project). But in particular I was intrigued by the idea of the last activity in the schedule being held in place.

Those of you familiar with forward and backward passes understand that the forward pass determines the length of the project - hence the phrase "longest path" that is used in Primavera software in lieu of "critical path". The backwards pass determines the float on each activity. Absent any constraints, the longest path will always exhibit zero days float because both the forward and backward passes generate the same result. For example, what exhibits as Day 70 going forward is also Day 70 working backwards. 70 - 70 = 0.

But on a project that is behind schedule we might see that what is Day 70 going forward is Day 65 working backwards. We have -5 days of float. And we need to reach that point in the schedule by Day 65 if we want to get back on schedule. This assumes of course that we have constrained the last activity in the schedule. In today's Primavera software, "Finish On or Before" is the preferred constraint. If we are on track to finish early, the float will be zero days because the backwards pass starts with the finish date of the last activity in the schedule. When we are behind schedule, the constraint date is the starting point for the backwards pass. 

What I really like about "Finish On or Before" is the zero days of float when we are on or ahead of schedule. I have a basic philosophy about projects. You have to plan to finish early in order to finish on time. We might insert a contingency or buffer into the schedule to reinforce this concept, but projects rarely just stay "on" schedule. Subcontractors and vendors see activities with zero days float coming up, which makes those tasks seem very important. The general contractor, and presumably the owner, know otherwise. 

One of the biggest criticisms of constraints in general is that they sequester float for the benefit of the general contractor. True, we can create an artificial late start date for any activity by assigning a "Start On or Before" constraint. The general contractor is literally choosing a late start date for the activity irrespective of the longest path. Manipulating the float in this manner is certainly frowned upon, for good reason. The float displayed on an activity should accurately reflect how this task affects other tasks downstream. 

Unfortunately, some owners fail to appreciate the nuances of constraints and instead restrict their use altogether. Yes, we can compare the current project finish date to the date in the previous schedule, but that is a cursory examination that does not address where we need to be in the next few weeks. We may have dozens of activities that are behind, some more than others. The worst of the worst need to be addressed first, what I think of as a "whack a mole" game where negative float is being hammered.

But I am not advocating unrestricted use of constraints. A question I present during my advanced P6 training classes is based on the following observation:

"An activity has just one predecessor but it is not a driving predecessor. How is that possible?"

Under normal circumstances there must be at least one predecessor task that drives the start or finish date of the next activity. Otherwise, what exactly is driving the successor? Granted, it could be affected by resource-levelling or mismatched calendars. But the most common explanation is that the successor is being driven by a constraint. This can break the critical path so that the path now starts with the constrained activity.

We speak of the critical path as being a contiguous, or unbroken, string of activities from the current Data Date to the end date of the project. The only nonwork days would be those defined by the activity calendars. Therefore, we must make progress along the critical path each and every work day. The critical path is a difficult taskmaster, as it should be.

A few years ago an engineering firm in the (San Francisco) Bay Area asked me to meet with them to review one of their schedules. "We can't find the critical path", they told me over the phone. Hmm. That sounded like a challenge. How on earth can the critical path be all that difficult to locate? But I did not need to know much about their schedule to presume that too many constraints were being used.

Now, you might have a different definition of "too many" but I think we can all agree that 150 constraints in a schedule is a bit much. So I patiently explained why 99% of them were not necessary. The engineers refused to trust the logic, or fix it for that matter. A typical example was a predecessor with a Friday finish constraint followed by a successor with a Monday start constraint. Um. Finish to Start relationship?

On nearly any project I can live with just the "Finish On or Before" constraint, placed on the last activity. Any other constraint should be justified by a contractual requirement, such as an intermediate milestone that can generate liquidated damages. There are often quite a few milestones in a CPM Schedule but I am only interested in constraining the ones that cause pain for the contractor. We don't want to miss those dates.

The U.S. Army Corps of Engineers probably reviews more CPM Schedules than any other agency in the United States. So it seems rather safe to say that the USACE understand software settings as well as anyone. The USACE require two constraints on each project: a "Start On" constraint on the first activity, and a "Finish On or Before" constraint on the last activity. Additional constraints require approval.

Now, I personally don't feel that a start constraint is necessary on the first activity if the Data Date matches the start date of the project, so I could live with one constraint, on the last activity. But since I am using the start constraint I will move the Data Date up a couple of weeks so that the start milestone is not obscured by the Data Date line. It just looks better.

So, to wrap this up, when the project end date is constrained, activities that are behind schedule flip the script when it comes to dates. The late dates are earlier than the early dates. I spent quite a lot of time explaining this to doubtful contractors and owners back in the 1980s. Surely the software is broken! But the logic is sound. The late dates, being constrained by the last activity, are indicative of how to get back "on" schedule. Following the early dates would be a mistake, as they would maintain the status quo.

This scenario introduces the inverted cash flow curve, which I always find interesting. In the graphic below you can see the late curve rises above the early curve: 

Primavera Scheduling
Based on everything I have discussed, these curves make perfect sense. We need to perform more work than required by the "early" dates. Otherwise, we finish late. Which means we also need to display the late dates to avoid landing on the "early" curve and therefore finishing late. Yet it still confuses people nearly forty years after I issued my first schedule with negative float.

The Primavera P6 Feature We Added

Categories: P3, P6 Professional, Suspend and Resume
Comments Off on The Primavera P6 Feature We Added
Primavera P6 contains a feature that I can take some responsibility for recommending. Read more

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.