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 Critical Path

Giving Notice for Delays

Categories: Critical Path
Comments Off on Giving Notice for Delays

Primavera Scheduling

There’s a book on the shelf in my home office that I love to pull down every few months because it contains such great advice for construction projects. The title of the book, Sweet on Construction Law, might seem a little quirky until you realize that the author’s name is Justin Sweet. The book was first published in 1997, which is when I bought my copy. Mr. Sweet joined the Berkeley Law faculty in 1958 and taught there until the early 1990s. Interestingly, his bio on the Berkeley Law website fails to mention this book. What a shame. If you can find a copy you owe yourself to read this book.

And how can you not like a law professor who despises most footnotes and considers legal writing…”turgid, ponderous, and plain old ‘dull'”? Most of us never pick up another textbook after university, but this book reads more like a non-fiction novel. It strives to engage the reader, not pontificate.

One particular gem in this book is his interpretation of notice provisions. Mr. Sweet tells a story of how the California Department of Transportation (CALTRANS) wanted to overturn a California Supreme Court decision that basically invalidated all notice provisions. I presume this was in the 1960s as Mr. Sweet describes his involvement as being “over thirty years ago” when he wrote this book.

CALTRANS  approached Mr. Sweet because he had written a journal article criticizing the court’s decision. At this point you might be thinking – if you are a contractor – that Mr. Sweet is the devil himself. I have yet to meet a contractor who doesn’t loath notice provisions. But hang on to your pitch forks for just a moment.

Mr. Sweet was intrigued by the language of a proposed bill that would allow notice provisions as long as they were reasonable. The bill was being carried by an assemblyman on behalf of CALTRANS. But because CALTRANS was not well-liked by the legislature, the assemblyman disguised the bill as being his initiative. Mr. Sweet was asked by CALTRANS to testify in support of the bill, which he did. It passed and is now part of the Public Contract Code.

In most situations the courts have little interest in deciding was is reasonable within a contractual relationship. Two parties can agree to almost anything as long as it is not illegal. During my 40 years in the construction industry I have been perplexed as to why some of my clients signed “those” contracts. Were they naive, or perhaps cunning? Is it possible the contractor sees something in that contract he can exploit to his advantage?

Nevertheless, Mr. Sweet recognized that sometimes one party has the upper hand. Using CALTRANS as an example, if a highway or bridge contractor wants to perform work in California he doesn’t have much choice but to accept contractual language dictated by CALTRANS. Therefore, as long as all construction contracts (public and private) contain reasonable notice provisions, everyone is being treated fairly.

Let us focus on just time extensions. A contractor should be entitled to a time extension when the delay is obvious to the owner. I have negotiated many time extensions with nothing more than a handshake. Delay fragnet? Time Impact Analysis? Forensic Analysis? Nope, nope, and nope. Now, clearly the CPM schedule plays a part because it identifies critical versus non-critical work for all parties to see. If we all agree that an excusable delay is holding up a critical activity what revelation do we expect from a computer?

A few years ago I testified on behalf of a contractor suing CALTRANS. The “expert” retained by CALTRANS (actually, just one of their field engineers) argued that since CALTRANS never reviewed the CPM Schedules they could choose which activities were on the critical path. Not surprisingly, none of the critical activities that I identified as having been delayed by CALTRANS were on the mythical critical path imagined by CALTRANS. The Dispute Resolution Board – which included a former CALTRANS employee – ruled entirely in our favor. It was the dumbest response to a lawsuit I have ever seen.

Okay, there was one other situation, in Albany, NY. My client had remodeled a high school. Remodeling projects are notorious for hidden conditions and this was no exception. I prepared an appropriate delay analysis. The school district went cheap and demanded that the architect be their expert on all matters. The architect was still owed a lot of money by the school district and perhaps for this reason showed about as much interest in my analysis as a teenager. During my testimony he mostly stared at his hands and never asked a single question. My client won big.

Returning to notice provisions, nearly all contracts I have reviewed during my career include a time limit for giving notice – typically less than three days after the event. But a twist on the typical notice provision that I reviewed recently states that the contractor can only request time for the days that follow the date of notification. Seems pretty stingy to me to deny a contractor the first few days of a legitimate delay unless there is some action the owner could have taken the rectify the delay immediately.

What about an ongoing delay? Should the contractor continue to give notice each and every day? Possibly, depending on the specific contract language. In any case, when Mr. Sweet wrote his book email was not a primary means of communication. The consulting firm I worked for had one email account in 1997 for the entire office. Hard for anyone under the age of 50 to imagine that. But clearly with email it becomes pretty simple to keep firing off delay notices.

Mr. Sweet proposed in his book that contracts for small projects (under $500,000) dispense with notice provisions altogether. In his opinion all the various notices a contractor is required to provide per the contract become rather onerous on small projects. And small contractors are not as adept at navigating all the pitfalls of the typical construction contract. Makes sense to me. Consider that CALTRANS has more stringent scheduling specifications for large projects than small projects.

Regardless, Mr. Sweet noted that courts are still inclined to accept claims for time extensions even when the notice provisions are not strictly adhered to as long as the delay was obvious to the owner. Oral communications are often acceptable if they are followed up in wofriting. Again, email makes it much easier to say “I told you so.” Moreover, if the contractor is required to submit daily reports to the owner, and the daily reports mention delays, then surely the owner has been notified.

I have heard the argument that strict compliance with notice provisions by the contractor can be a bad thing. The reasoning is that the contractor is acknowledging his responsibility to give timely notice, so the first time he fails to do so he is acutely aware of his mistake. I like this approach given how hard it is to always be in compliance on any project. Minor infractions should not result in a legitimate time extension being denied. Contractors are hardly the only ones who are imperfect. Change orders are often corrections to the contract documents.

At the same time, I dislike seeing “TBD” listed on change orders next to the requested time. How is the owner supposed to interpret an unspecified request? Will the contractor make a subsequent request not just for time but also for time-related damages? The owner might also decide to forgo extra work if it will delay the project. Conversely, the contractor needs to know whether the project end date will be extended to avoid unnecessary acceleration costs. “To Be Determined” leaves everyone in the lurch.

Thoughts? Fee free to email me.


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.


What Dollar General Tells Us About Planning

Categories: Critical Path, Planning, Total Float
Comments Off on What Dollar General Tells Us About Planning
Primavera Scheduling

Those of you living in the United States are probably familiar with Dollar General stores. Mostly found in small towns, Dollar General stores sell a wide-variety of lower-priced items. But there is big money in this market. Dollar General currently has 14,000 stores pulling in $22 Billion a year. The CEO of Dollar General, John Vasos, received a lot of press recently on comments he made to the Wall Street Journal that caught my attention as well.

Most commentators seized upon Mr. Vasos’ comments that the U.S. economy was creating more of what they consider to be their core customer – someone making less than $40,000 a year. Dollar General is planning to build thousands of new stores and is moving into metropolitan areas that were not previously identified as their demographic (i.e. the arrive of a Dollar General store in some communities could be considered a backhanded compliment.)

There has certainly been a lot of debate in this country about the percentage of Americans who are unemployed or underemployed (working fewer hours than desired) and how to solve this problem. The disappearance of good paying manufacturing jobs has resulted in many individuals working somewhere else, but for a lot less money. The new job is also far less likely to offer a pension.

Dollar General and other similar “dollar” stores thrive by selling small quantities of items to lower-income households at prices they can afford. These households do not buy in bulk even though it would result in savings. Hence, they are more likely to run out of something and need a replacement quickly. I can buy a 32-pack of bottled water for about the price of three individual bottles at my favorite store so clearly buying in bulk makes a big difference.

But here is the quote by Mr. Vasos that really caught my attention. He was describing Dollar General’s typical customer:

“Doesn’t look at her pantry or her refrigerator and say, ‘You know, I’m going to be out of ketchup in the next few days. I’m going to order a few bottles.’ The core customer uses the last bit of ketchup at the table the night prior, and either on her way to work or on her way home picks up one bottle.”

In other words, the typical Dollar General customer is not a planner. They wait until they are out of something before they buy more. They overpay without thinking. This is not how we manage projects. We do not (CAN NOT) let ourselves run out of resources needed to complete a project. That would be an inexcusable delay. We figure out what we need and make sure sufficient quantities are on hand when it is needed.

The critical path of the project in particular is a difficult taskmaster. We must complete the amount of work we planned each and every work day. It is not good enough to complete tasks totaling 19 days during a 20-day work period. That puts us one day behind schedule. The critical path keeps us honest. I see a lot of arguments at the end of the month when the final tally is taken. “But we did so much work this month”, they will invariably say. “Not enough”, I will reply.

It takes a different mentality to be a planner. We have deadlines based on expectations of quality and scope of work. A bad plan leaves us uncertain as to where we should be at any given time. Every day is a deadline of sorts, because what we did not finish today becomes something else that must happen tomorrow. Granted, we have some leeway with non-critical activities but a recurring problem that I see on many projects is that the amount of float on a secondary task is exaggerated, thereby diminishing its importance. We reap what we schedule.

Planning is all about opportunity. We have many options during the planning stage. Some options are more attractive or feasible, and hopefully the least-expensive option generates the best result. But it can certainly be more complicated than that. The California Department of Transportation (Caltrans) utilizes an “A + B” approach on larger projects: each bidder must specify a contract duration and a price. Both numbers are considered when awarding projects. Caltrans’ experience is that A + B bids result in lower prices and fewer road usage delays.

The longer we wait to make decisions the fewer options that remain. Projects finish on time because we monitor our progress on a regular basis and implement mitigation strategies whenever slippage does occur. We do not use up float for bad reasons but rather to give ourselves flexibility. We do not allow ourselves to run out of ketchup.


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.

 

 

 

 

 


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:

Activity-on-Arrow

 

 

 

 

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?