Hi Senior Schedulers,
I have a specific advance level question regarding Resource Leveling. Dealing with a $1.2B large scale highway project here and we have multiple bridges (construction of Abutment Walls and Bents) and a lot of highway widening work containing adding 2 lanes on each Northbound and Southbound outer lanes. In order to add 2 new outer lanes (widening work) we need to demo existing bridges to get their existing abutment walls and Bent out of our way of highway widening, do the widening add new lanes, stripe and then rebuild bridges and their abutments/bents. That being said, have a situation caused by tight Right of Way where I only have enough physical space (while live traffic is going) to either build bridge bent columns OR do outside widening work such as excavation or concrete work. Trying to use P6 Resource Leveling to prioritize bridge bent column work over the widening work so assigned same resource (8hrs per day) to all bent work and all widening work and put cap as 8 hrs per day and set higher priority for bridge work and medium priority for widening work and leveling criteria is first the Priority and then the Total Float, which works fine. PROBLEM is P6 start leveling and push out Widening work to accommodate Bridge Bent column work until Bent work is done BUT if too much widening is stacking up will continue leveling widening and push Widening work also, assuming it is conflict; I do NOT want widening work to be levelled cause it’s not a conflict, the only conflict is performing bridge work and widening work at same time, not btw widening work itself. How can I set a condition for leveling in P6 to STOP leveling once it has leveled bridge work with widening and STOP leveling after bridge Bet is levelled and do NOT continue leveling among widening work itself. Does this make sense? Any ideas how to set extra condition for leveling to stop after certain point? Simplified explanation is btw 2 type of activities you want to only do type A at any time (not type B concurrently with it) but once all type A is performed then having too much concurrent type B is not a problem and should stop leveling.
Thanks, Sean
Automatically adding to max units/time if using activity resource production when it is needed on different timeline might be part of the solution but not all what is needed. It is an iterative process that can be handled by computer algorithms that can search for shorter schedule possible schedule that P6 do not have.
Spatial resources might also be required to be modeled.
Renewable and Consumable Resources
P6 is not capable of dealing with activity resource production to follow some scheduling logic; it is not capable to deal with spatial resources other than by manual methods. Due to P6 limitations consider manual leveling on every update.
Good Luck
Gentlemen,
Thanks for everyone's feedback and suggestions; I see a lot of emphesis on adding to max units/time when its needed on diffrent timeline, altough I am fully aware of this condition, unfortunately when to add that remains to be a live factor in schedule and leveling, therefore can't be set properly; idea would be to increase that cap for outside widening resources when bent work is done (so the conflict of having bent work at bridges while doing both north and southbound widening)
THe timeline when bent work is done is a live date adn can be changed with the overall leveling operation so there is not way to add hard logic or do anything to determine that date to immediately increase cap on outside widening reources so leveling gets stopped...
Hi Sean
I see a couple of suggestion
I have some nice examplels of resource leveling on my blog https://praktijkgerichtplannen.nl/nl/
Trust this helps
Johannes
Sean, what you are asking is fair; I would also like to see how P6 users deal with it.
It is possible that David Kelly workaround might work if after pass 1 you increase maximum/units per time for Type 2 activities with effective date after all Type 1 activities finish, use a milestone or a filter to get the date and then run second resource leveling. Upon every update before all Type 1 activities finish the date all Type 1 activities finish might move and therefore the availability profile might need re-adjustment.
The following figure I got from the web might help to figure out how P6 adjust the availability profile.
Good luck
Sean,
As you've seen, resource leveling seems to be "not widely used" among P6 users on Planning Planet. Have a look at Ron Winter's paper: http://www.ronwinterconsulting.com/Reviewing_Resource_Leveled_Schedules.pdf.
Ron's website also includes two other papers on "Implementing" and "Managing" resource leveling, though they appear to address P3 rather than P6 schedules.
Good luck, tom
Hi Schedule Experts,
I see a lot of ideas from schedulers for my original post which is very helpful however, I need the capability explained in original post in P6, not in Spider or MSP or other applications. Thanks, Sean
Multiple team assignments for a single activity, each team a fixed amount of work is not rare in construction work.
It is better practice to keep the teams on a single activity, this avoids unnecessary activity clutter that can add hundreds/thousands items to your schedule, this avoids unnecessary activity links clutter that can add more than two links per additional activity, this shows work is not finished until all teams finish their assignment, it avoids the resource leveling spreading apart the sub activities in uncontrolled way.
Usually different teams have different production rates, when you do not have fixed work distribution, the most common scenario, you might not know in advance how work is to be distributed among the different teams working on different shifts on same activity. In such case splitting of activity will not make it.
Rafael,
Sorry to say that the scenario you are trying to presents would not be applicable to construction projects specifically the large Projects.
I guess it is most likely applicable to manufacturing production lines.
Regards,
Reviewing Resource Leveled Schedules Using P6™
P6 Automatic Resource Leveling Limitations
This is why P6 users must look elsewhere to define criticality.
How you figure out which resources are critical if P6 cannot display resource assignment floats?
Assignment float can be defined as the amount of time that resource assignment may be delayed without delaying the project finish date. In case of resource assignments when resource teams can execute the same activity independently of each other, resource assignments may be critical even on non-critical activities. An example of such project is shown in the Exhibit 6.
This project consists of only two activities, there are no hard links among the activities. Activity 1 should be performed by resources A and B independently of each other. Resource A is assigned for 5 days, resource B – for 3 days. Duration of Activity 2 is 10 days and it needs resource B to be performed. The project duration is 13 days, so the start of activity 1 can be postponed for 8 days but its finish cannot be delayed without delaying project finish date. In this schedule activity 2 is critical though it finishes earlier than activity 1.
Shift work on same activity is a common case where resource teams can execute the same activity independently of each other.
When you have 3 teams an activity not start and not finish critical might have a critical resource assignment. Such is the case of Activity 1 in the following scenario.
Reviewing Resource Leveled Schedules Using P6™
The process does not allow P6 to automatically substitute one resource for another.
We manage hundreds of generic resources in our jobs. Among them: Boilermaker, Carpenter, Cabinet Maker, Millworker, Cladder, Framer, Joiner, Roofer, Drywall installer/lather, flooring installer, pile driver, millwright, diver, diver tender, Carpet layer, Dredger, Lead Dredgeman, Dredge Operator, Leverman, Licensed Tug Operator, Derrick Operator, Spider/Spill Barge Operator, Engineer, Electrician, Chief Welder, Chief Mate, Fill Placer, Maintenance Engineer, Licensed Boat Operator, Certified Welder, Mate, Drag Barge Operator, Steward, Assistant Fill Placer, Welder, Boat Operator, Shoreman, Deckhand, Rodman, Scowman, Cook, Messman, Porter/Janitor, Oiler, Electrician, Linemen, Digger Machine Operator, Groundsman (laborer waiting for apprenticeship), Elevator mechanic, Fencer, Glazier, Painters, Heavy equipment operator such as Bargeman, Brakeman, Compressor operator, Elevator operator, Engineer Oiler, Forklift operator, Generator, pump or compressor plant operator, Signalman, Switchman, Conveyor operator, Fireman, Skiploader operator, Helicopter radioman, Boring machine operator, Boxman or mixerman, Asphalt plant engineer, Batch plant operator, Bit sharpener, Micro tunnel system operator, Pavement breaker operator, Drill Doctor, Drilling machine operator, Rotary drill operator, Canal liner operator, Canal trimmer operator, Concrete boom pump operator, Insulation installer, Ironworker (or steel erector), elevated platforms, scissor lifts, power tools, manual tools, Metallic Lathers, Laborer, Landscaper, Mason, Brick Layer, Block Layers, Stonemason, Marble setter, Marble Polisher, Tile Setter and polisher, Terrazzo worker and finisher, Millwright, Pile Driver, Plasterer, Plumber, Pipefitter (or steamfitter), Sheet metal worker , Safety officer, Mechanical Worker – HVAC, Waterproofer, Welder, and many others I might be missing. If some trades work on different shifts they must be identified as separate resources adding a substantial quantity to an already long list.
Investigating resource overloads by looking at their histograms makes no sense in most jobs. Please be reminded that P6 resource histograms are unreliable. P6 allows weird things such as resource finish latter than activity finish.
Do you mean that resource histograms is the best P6 can do?
Materials (consumable resources) are another resource type we must level and make sure they are not overloaded. If you are installing floor tile and you run out of material the tile installation activities are delayed/stopped until the consumable resource are replenished. Same as the common renewable resources these can make a huge list. This count usually is not that big as there is no need to include materials that can be replenished fast. Cement might be such a material if locally available such tracking is not necessary, if working on a remote island where you bring the materials by barge then cement inventories must be tracked and leveled.
How do you keep track of consumable resources overloads in P6?
The pragmatic approach for client and contractor to make sure no resource is overloaded is to include them all as leveling resources and make a resource leveling run.
I can model in P6 the scenario in your example. P6 can show overloaded or overallocated as well as the limits in histogram.
Histograms are generated from units of resource allocation.
With the use of automatic skills replacement there is no need to make the resources non-leveling. Create a Skill for Carpenters, include Carpenters A (10ea) with high priority and Carpenters B (2ea) with low priority within the skill and level. In this way only the special hire will be used when 10 is not enough.
Special hire are not uncommon and you must take control on their assignments. For some activities it might be a good idea to make use of the special hire as an option, for other activities it might be mandatory while for other activities it might not be an option. At times it is necessary to replace one regular with two special or vice versa. If their production rates are different this can increase or shorten activity duration, this should also be considered for the schedule be reliable.
If your tool cannot model such need then resort to manual leveling on every update as to decide to which activity you are to assign the special hire resources and use a reliable overload reports other than looking at resource histograms.
What overload reports do P6 provide?
Currently i have available 10 carpenters distributed to 8 activities throughout a total duration of 10days. But the planned schedule shows overallocation of 2 carp at day 6, so in actual event i can bring in the required 2 carpenter at day 6.
If the resource will be required only for some specific activities and you do not want it to interfere with the resource leveling of other activities then make it a separate resource code and load it to the activities that will require it. This should satisfy the valid need to know when and by which specific activities it will be required to be available. Overloaded schedules are not acceptable; it is the equivalent to assume resources are unlimited.
Searching for overloads using histograms is a no-no, is error prone, no one should rely on it. Overload reports that are concise are essential.
What if the overload span is 15 minutes, are you going to scale the chart at 15 minutes intervals and scroll the chart looking for occurrences in a 2 years long schedule. That there are overloads means your schedule is not resource leveled. The overloads report is essential when doing manual resource leveling. It would be insane and unreliable to depend on the scale of some chart to figure out overload windows and which specific assignments are causing the overloads. The best way to look for overloads is to use a report for this purpose.
What overload reports do P6 provide?
This option to make some resources non-leveling is useful to assist you to make the determination of how to deal with resource peaks and overloads but shall not be within the submitted schedule. For it to be a reliable tool it must be used with a reliable overload report that is concise, you should look for an empty report, meaning there is not a single overload occurrence.
P6 reports and shows alarm whenever there is overloads or over allocated resources. This schedule shall not be rejected at once but rather used to say... hire a labor at the specific period it is required.
Whenever resources are not available the schedule will be delayed until enough are available it is a no-brainer, a schedule model that does not meets this requirement should be rejected.
The reviewer is responsible to make sure this is enforced and that the scheduler did not cheat the schedule by toggling on and off if a resource matter or not. If the software does not provides any warning some resources are set as non-leveling then he can figure it out if there are overloads by looking at the overloads report, if there are overloads the schedule is not leveled and should be rejected.
A full staffing plan is a basic scheduling requirement. Leaving out of consideration a single relevant resource either by omission or by toggling it off in the schedule calculations can (and most probably will) render the schedule invalid for any claim in court, no matter who benefits from such omission.
Construction Delay Analysis Techniques—A Review
5.2. Resource Loading and Levelling Requirements
…. For instance, in the UK case of McAlpine Humberoak vrs McDermott International [29], the judge disapproved of the plaintiff’s delay claim submissions on the basis of not giving consideration on how resource usage was planned for and how they were actually utilized during construction. Wickwire [43] also reviewed legal decisions in the US and noted that “in any analysis of project delays, the contractor is required to take into account realistic resource levelling”.
In P6 constraints are respected when levelling of Resources.
Why level some and leave some of the Resources? Let us be specific of the REsources (Materials, Labor, Equipment).
In Construction, a Contractor make all possible efforts that all Resources are available at anytime prior to start of execution of any Tasks but sometimes some of the Resources failed to reach the Project due to some reason. In this regard, a contractor can create a schedule and assigning the immediate available Resources.
For a schedule to be feasible all constraints must be satisfied. This includes all resource constraints as well as all date constraints.
The option to leave out some resources is meant for what-if - otherwise why level a schedule?
There are other options such as mandatory constraints that are also meant for what-if.
It is not uncommon for some software to model constraints using wrong algorithms that interfere with critical path calculations.
Just select the Specific Resources to be levelled.
Assign a Resources differ from Every Task, then when performing Resource Levvelling, select Specific Resources you requires to be levelled.
Hope this will help.
If you opt for a manual method keep in mind that the date the condition is met can change upon every update. If the date changes, then you will have to manually adjust the resource availability profile.
Please be reminded that these manual adjustments similar to manual resource leveling cannot be executed in Monte Carlo Simulation.
During a (e.g. Monte Carlo) simulation tasks can join or leave the critical path for any given iteration. The Criticality Index expresses how often a particular task was on the Critical Path during the analysis. Tasks with a high Criticality Index are more likely to cause delay to the project as they are more likely to be on the Critical Path. If a task does not exist for some iteration (e.g. it is probabilistic) then it is marked as not being critical. For example, a task that existed for 50% of the iterations and was critical 50% of the time it existed would have a Criticality Index of 25%.
The Criticality Index allows you to identify tasks that are likely to cause delays to the project. By monitoring tasks with a high Criticality Index a project is less likely to be late. If a task has a 100% Criticality Index it means that during the analysis no matter how the task durations varied, the critical path always included the task. The task is therefore likely to be key in completing the project on time. Conversely tasks with a low or zero Criticality Index are much less likely to cause a delay in the project finish date.
I rather pay more attention to the probabilities of success. By targeting for an early completion the probabilities of success are increased, this is basic schedule risk theory you can verify with your own model. If from the beginning you target to finish at the date of project delivery you will not make it.
never works as you think it should do it manually
Sean,
As you have discovered, P6’s levelling does exactly what it is supposed to do. Unfortunately, the bar is set somewhat lower than P3 in 1988.
Rafael demonstrating that Spider is at least one generation ahead of P6 doesn’t help a lot.
You can’t level only part of the schedule (P3 could) or trigger it stopping the level.
All I could recommend is after the first pass at levelling, increase the availability of the dummy resource to allow parallel widening activities. and run a second pass.
Easy if using resource leveling and activity resource production to increase resource availability by activity resource production instead of using fixed dates to define availability.
You can set any resource availability by fixed calendar or by activity resource production; the initial availability can be 0 and then increased/decreased by calendar dates or resource production.
so easy!