"Things derive their being and nature by mutual dependence and are nothing in themselves.”- Nagarjuna
In my previous post on scheduling basics, I listed the essential requirements to have a well-formed schedule, which is also the sequence for developing them:
- Dependency chain
- Task effort estimates
- Resource assignments
- Resource leveling
- Risk buffers
A true dependency relationship between two tasks is when a work product output of one task is necessary to start or complete a second task. When that condition is true, there is a dependency from the second task on the first task. What this excludes are artificial or convenience “dependencies” to accommodate resource availability, resource leveling, or the PM’s view of “reality.”Assuming you are using a decent scheduling tool, the tool has features to effectively address resource availability (calendars) and resource leveling. Thus, if you use dependency chains instead of the appropriate features, you are diminishing the effectiveness of the tool to support your scheduling efforts and you are introducing complexities when conditions change (as they always change) and you have to reschedule. To restate that: if you follow the best practice, then you maximize the effectiveness of the scheduling tool and enhance your flexibility to respond to changing conditions.
As you will see over the next few posts, we will continue to build on the foundation of the WBS, now with the dependency chain, to develop the well-formed schedule.Do you agree that task dependencies should be based on work products (including deliverables)? Is there ever an occasion to base a dependency on anything else?