Robert 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.