< Previous | Next >

Lesson 4: Assigning dependencies between project activities

In this lesson, you will learn how to create Finish-to-Start dependencies between project tasks. A Finish-to-Start dependency means that the start of the successor activity depends on the completion of the predecessor activity.
This task is performed in the WBS Schedule Gantt viewlet. Navigate to or add the WBS Schedule Gantt viewlet to your view.

Show me

Dependencies are links between project activities, which can be used to sequence tasks in time and in a logical order. Dependencies are also used to create relationships between tasks or other project elements that are dependent on each other. When you use dependencies to create an activity sequence and schedule for your project, you create a project that is not bound by specific dates and can easily accommodate changes in schedule.

To create dependencies:

  1. In the WBS tree, expand the "Develop Work Management module" project. First, we will create a Finish-to-Start dependency between the first two tasks. This would mean that the second or successor task can start only after the first or predecessor task is complete.
    1. In the Schedule Gantt viewlet, click the splitter bar to open the Gantt chart view. Click the Dependency icon Dependency icon to enable the dependency creation mode.
    2. Click the predecessor task, "Create vision and scope document" and then click the successor task, "Create test plan". An arrow indicates the dependency relationship. Click Save.
  2. Now, create a dependency between the task, "Create test plan" and the milestone, "Preparation complete".
    1. Ensure the Dependency icon is highlighted. Click the predecessor task "Create test plan", and then click the successor milestone, "Preparation complete".
    2. Click Save. Review the effect of the steps that you completed. The schedule dates of the tasks and milestones are changed to incorporate the dependencies. Task 2 starts a day after Task 1, and the milestone is reached on the day that Task 2 completes.
  3. Now, create a Finish-to-Start dependency between the milestone, "Preparation complete" and the iteration, "Iteration 1: Infrastructure and project creation framework". This means that the tasks under the iteration can start only after the milestone achievement. To create the dependency:
    1. In the Gantt chart view, with the dependency icon highlighted, click the milestone, "Preparation complete", and then the iteration, "Iteration 1: Infrastructure and project creation framework". Click Save. With this change, the start dates for the iteration tasks are the same as the Iteration start date.
  4. You do not need to make any changes to the first task in Iteration 1, "Set up infrastructure" because that is scheduled to start after the milestone. However, you do need to move out the second task, "Develop project creation framework" to start after the previous task is complete.
    1. In the Gantt chart view, with the dependency icon highlighted, click the "Set up infrastructure" task and then click the "Develop project creation framework" task. Click Save.
  5. Now, create another dependency to schedule the task, "Run unit tests" after the completion of the task "Develop project creation framework". You can do that by creating another Finish-to-Start dependency:
    1. In the Gantt chart view, with the dependency icon highlighted, click the "Develop project creation framework" task and then click the "Run unit tests" task. Click Save.
  6. Continue to define Finish-to-Start dependencies for the remaining tasks. You will end up with dependencies as shown in the following table:
    Table 1. Dependencies
    Element ID Element Predecessor
    1 t - Create vision and scope document  
    2 t - Create test plan 1
    3 m - Preparation complete 2
    4 i - Iteration 1: Infrastructure and project creation framework 3
    5 t - Set up infrastructure  
    6 t - Develop project creation framework 5
    7 t - Run unit tests 6
    8 Iteration 1 build delivered 7
    9 i - Iteration 2: Project scheduling service 8
    10 t - Develop scheduling algorithm  
    11 t - Implement scheduling algorithm 10
    12 t - Run unit tests for scheduling algorithm 11
    13 t - Integrate project creation and scheduling 12
    14 t - Run unit tests for integration 13
    15 t - System test for project creation and scheduling 14
    16 m - Final module build delivered 15
    t = task, m = milestone, i = iteration
Look at the schedule dates for your project now. The project duration will now be aggregated from the individual project tasks, which will be 30 days. The end date of the project will be the final milestone date. The start and end dates for the project tasks will be calculated based on the predecessor tasks and the assigned task durations. Also, notice that the end dates are calculated to keep up with the project calendar and the designated working and non-working days.

The advantage of having a schedule based on dependencies is that any changes to the work breakdown structure, or in duration, are automatically adjusted by the dependencies, and no manual refactoring is required. For example, if you change the duration of a task to 3 days from 1 day, the ensuing project schedule is automatically adjusted as the dependent tasks are moved out to accommodate the change.

This lesson marks the end of the tutorial; you now have a project structure ready, and can assign resources to work on the project tasks.

Lesson checkpoint

In this lesson, you learned about the following concepts:
  • What dependencies are
  • How to create dependencies
  • The effect of dependencies on project schedules
Related concepts

Feedback