1. When building project schedule and setting dependencies (FS, SF, etc) do you base that on the resources you have available or are the dependencies strictly related to activities and resources should not be considered?
Hi Robert. That is probably the one question that experts disagree the most, but I’ll give you my take on the two sides. The first step is to use dependencies that are required by the schedule activities. It’s the next step that is the challenging one. There are two general options for managing resource availability. The first and more complex is to use Microsoft’s resource leveling feature. The second is to use additional dependencies to level out resource availability. Resource leveling feature requires learning and a lot of Project knowledge. MPUG has a few sessions on using the feature but don’t forget the latter requirement. Generally speaking, use what you know and are comfortable using.
Pro for resource leveling: Once setup it requires much less work to maintain, especially for larger schedules
Pro for resource dependencies: Simpler solution, easier to setup, WYSIWYG
Hope that helps…
Re-reading Larry’s response, I now think I’ll agree with his take. Summarized, build the schedule based on task dependencies. For example you can’t put the roof on the house until the walls are constructed to hold the roof…even if the roofers are available already. One thing a schedule should help you do is to plan “when” you need resources. So in my example, the schedule might tell you that you won’t need to schedule the roofers until the 3rd week.
His next comments refer to “how” you apply resource constraints/dependencies, by either allowing Project to do it based on it’s internal resource leveling logic, or by you doing it yourself and adding additional non-task construction sequence specific dependencies. Another way of looking at that is that you’re adding prioritization to tasks. Meaning that when the carpenters are available, I want them working on Task A first, even though both Tasks A and B could be started at the same time. So you would add what is sometimes referred to as a false dependency simply to ensure that Task B follows Task A.
Additionally, here’s a link to an article that discuses task scheduling versus resource leveling that may help. Its also the start of a multi-part series on resource leveling if you wish to dig deeper.
Excellent advice already provided by Larry and Daryl, and Daryl’s series is very good reading. In my experience, resource logic can make sense only if it reflects both an optimal and enforceable sequence of work. If either one of these doesn’t hold then your schedule will require a lot of maintenance to avoid losing credibility during execution. This is one of the main arguments to limit preferential logic to larger-scale conflicts (e.g. building A before building B) and leaving the rest to the leveler.
Thank you all for sharing such great advice. I feel more comfortable now on how to approach. Thanks a bunch!