Task Dependencies
Task dependencies enable one to decide when a task can be started. Actually, a task can be associated with one or several predecessors, which must be completed before it can be started. Plus, lag time can be set between predecessors and successors, in order to accommodate for required delays.

This page aims to provide all details about this tricky project management feature.
Page Content:
What are Task Dependencies?
The Finish-to-Start Dependency Type
Lag Time
- Mandatory Vs Non-Mandatory Dependency
Changing Task Dates
Changing Task Statuses
Other Things to Know
What are Task Dependencies?
In most projects, certain tasks cannot begin unless another is completed. This can become difficult to manage when a project is complex and contains many tasks that depend on the completion of others. These complex projects demand structure. This is where task dependencies come in as a life and time saver.

Task dependencies let you decide when a task can be started. For example, lighting can only be installed once wiring is done. AceProject enables you to set one or several predecessors for a task, to deal with such situations efficiently.

Moreover, lag time, i.e. an interval, can be set between dependent tasks, to accommodate for required delays. For example, in a construction project, you need to let the foundations set before building the walls. In this case, lag time should be set for concrete to set. Lag time is set in hours. As a result, the successors can only start once the defined lag time has passed.

Finally, the successors' dates are automatically adjusted when its predecessors dates are changed. That means less work for you!
The Finish-to-Start Dependency Type
To ease readability, we will use a convention for this section: Task A being the predecessor and Task B being the successor.

In project management, there are four kinds of dependencies: Finish-to-Start (FS), Start-to-Finish (SF), Finish-to-Finish (FF), and Start-to-Start (SS). At present, AceProject supports the Finish-to-Start type only, which is most used. We plan to offer other dependency types eventually.

An FS dependency means that one or several tasks (predecessors) must be completed before a task can be started. In AceProject, this means that task B will not be allowed to start unless task A is marked as "Completed", except when the dependency is non-mandatory.

Circular dependencies cannot be created, which means that a task cannot have the same task as a predecessor AND a successor (Task A-->Task B-->Task A).

The graph below illustrates the basics of the FS dependency:
Task Dependency Exemple
Lag Time
Lag time is the delay between the end of a task and the beginning of its successor. Lag time is expressed in day hours and NOT work hours. For example, 24 hours in lag time will last from Monday 8 AM to Tuesday 8 AM.

Additional information:
  • Changing lag time does not affect task dates.
  • A negative value cannot be set.
Mandatory Vs Non-Mandatory Dependency
When linking two tasks together, the dependency can be made mandatory or non-mandatory. A mandatory dependency requires a predecessor to be completed before its successor can start. On the other hand, a non-mandatory dependency enables you to start a successor even if its predecessor is still incomplete. According to the PMI, a mandatory dependency has a hard-logic while a non-mandatory dependency has a soft-logic.
Changing Task Dates
  • When creating a dependency between two tasks, both must have a Estimated Start Date and an Estimated End Date. If dates are missing, a popup window will propose dates to you accordingly.
  • Task B's Estimated Start Date must be on the same day or later than task A's Estimated Start Date. If lag time is set between both tasks, task B's Estimated Start Date must be set accordingly. For example, if the dependency includes a 24-hour lag time, task B must start at least 24 hours later than task A.
  • Changes to task B's dates has no effect on task A.
  • Task B's Estimated End Date cannot be moved beyond the project's Estimated End Date.
  • Date changes with a cascading effect (successors and their successors) will create an entry in every affected tasks' history trail.
  • The task's last update date is never adjusted when a task dependency is created or broken.
Changing Task A's Estimated Start Date or Estimated End Date
  • The interval between task B's estimated start and end dates (in working days) is not affected by date changes on task A. Task B's dates will be moved back or forward, but the time period separating task A's due date and task B's Estimated Start Date (in working days) will remain the same.
    • You can choose to include or exclude weekends when adjusting task dates. This option can be set on the "Edit Project Information" page or in the task itself through the "Weekends Allowed" checkbox. The task's "Weekends Allowed" value overrides the project's "Including / Excluding Weekend" value. If the project is set to "Including Weekend", all tasks within it will automatically be set to "Weekends Allowed".
  • Changing task A's Estimated Start Date will not affect task B's dates, as long as task B's Estimated Start Date is later than task A's Estimated Start Date. If task A's new Estimated Start Date is later than task B's Estimated Start Date, task B's Estimated Start Date will be moved forward in order to be on the same day as task A's new Estimated Start Date. If lag time is configured, it will also affect task B's Estimated Start Date.
  • Changing task A's Estimated End Date will move back or forward task B's dates accordingly. However, if task B has other predecessors, it will only be moved back as early as the latest Estimated Start Date of its predecessor tasks. If lag time is set, it will also affect task B's Estimated Start Date.
Changing Task Statuses
  • Task dependencies cannot be set unless at least one status of each type exist in the project (Waiting, In Progress and Completed).
  • A predecessor cannot be added to a completed task, as completed tasks cannot be edited unless they are reopen (i.e. marked as "Waiting" or "In Progress").
  • A completed task can be added as a predecessor to a task. If the successor is "In Progress", it can only be linked to a "Completed" predecessor.
  • A completed task that includes task dependencies can only be reopen when all its successors are marked as "Waiting", except when the dependency is non-mandatory.
Other Things to Know
  • Task dependencies are ignored when importing tasks. They must be re-created once the import process is finished.
  • When a task is moved from one project to another, all its dependencies are broken.
  • When a project template is copied and tasks are included in the copy, all task dependencies are retained.

Copyright © 2001-2012 Websystems, Inc. All Rights Reserved.