Sunday, May 30, 2010

Dependencies

In most cases, the tasks in a project are related to each other, and the relationships between them drive the schedule for the project. The relationships between the tasks are called "dependencies."

There are four kinds of task dependencies:

Dependency Meaning Figure Example
Finish-to-Start [FS] (Task A) FS (Task B) –> (Task B) doesn't start before (Task A) is finished Dep-FS (Foundations dug) FS (Concrete poured)
Finish-to-Finish [FF] (Task A) FF (Task B) –> (Task B) doesn't finish before (Task A) is finished Dep-FF (Last chapter written) FF (Entire book written)
Start-to-Start [SS] (Task A) SS (Task B) –> (Task B) doesn't start before (Task A) starts Dep-SS (Project work started) SS (Project management activities started)
Start-to-Finish [SF] (Task A) SF (Task B) –>  (Task B) doesn't finish before (Task A) starts Dep-SF (New shift started) SF (Previous shift finished)

There are three kinds of dependencies with respect to the reason for the existence of dependency:

1. Causal (logical)

  • It is impossible to edit a text before it is written
  • It is illogical to pour concrete before you dig the foundations

2. Resource constraints

  • It is logically possible to paint four walls in a room simultaneously but there is only one painter

3. Discretionary (preferential)

  • I want to paint the living room before painting the dining room, although I could do it the other way round, too

Traditional critical path-derived schedules are based only on causal (logical) dependencies. The critical chain method necessitates taking into account resource constraint-derived dependencies as well.

Time related information can be used in conjunction with any of the relationships for any of the reasons outlined above. This is called "float". There are two types of float: leads, and lags. For example: When building two walls from a novel material, one might start the second wall 2 days after the first so that the second team can learn from the first. This is an example of a lag in a Start-Start relationship.

It is also useful to specify float time when tasks are performed in parallel in a Finish-Finish relationship. For example: The document for 'Activity A' should finish 5 days before the document for 'Activity B' so that the reviewers have time to read each individually. Although Document A and Document B may take different times to write, they will be planned to finish 5 days apart.

No comments: