 |
Task dependencies can be a tricky thing. However, with AceProject,
you are on the path to simple task dependency management. Read on to
learn all about AceProject's task dependency system. |
1. What are
Task Dependencies?
In most projects, certain tasks cannot begin unless another is
completed. This can be difficult to manage when the project is complex
and contains a high number of tasks that depend on the successful
completion of others. These complex projects demand structure and
AceProject has the perfect solution.
This is where task dependencies come in. Task dependencies let you
decide when a task can be started. For example, testing on a software
bundle can only start after building the application file is completed.
With AceProject, you can specify that a certain task can only start after
one or several other tasks are completed.
Moreover, you can set time intervals (lag time) between dependent
tasks, to accommodate for required delays. For example, in a construction
project, you may need to let the foundations set before building the
walls. With AceProject, you can set this lag time (in hours) so that the
second task can only start a set number of hours after which its
predecessor is completed.
The interesting feature of task dependencies in AceProject is that dates are automatically adjusted. This means that if a task is completed 2 day earlier than planned, its successor task will be set to start earlier as well!
2. What you Need to Know About Task Dependencies in AceProject
Important things about dependencies:
- You cannot create circular dependencies. This means that a task
cannot have the same task as a predecessor AND a successor (Task
A-->Task B-->Task A).
Important things about lag time:
- What is a lag time? Click Here.
- Lag time cannot be set to a negative value.
- 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.
- Changing lag time does not affect task dates.
Important things about tasks:
- All changes in a task's dependencies are logged in the task's
history trail, if it is enabled.
- Adding a predecessor creates an entry in the history trail for both
the predecessor and the successor tasks.
- Date changes with a cascading effect (successors and their
successors...) will create an entry in the history trail of all tasks
affected.
- The task's last update date is never changed when a task dependency
is created or deleted.
- A task with dependencies cannot be deleted. You must first sever
all its dependencies.
- When a task is moved from one project to another, all its
dependencies are severed.
- When a project is copied as a template and tasks are included in
the copy, all task dependencies are retained.
Important things about task statuses
- You cannot use task dependencies if you don't have at least one of
each 3 task statuses (waiting, in progress, completed).
- If you are using task dependencies, AceProject will not let you
delete the last task status of any type. This means you must have at
least one Waiting status, one In Progress status and one Completed
status.
3. Task Dependency Types
There are many ways to link tasks together in a project. These are
task dependency types. The main task dependency types found are:
Finish-to-Start, Start-to-Finish, Finish-to-Finish, and Start-to-Start.
In the current version, AceProject supports Finish-to-Start task
dependencies. We chose this type because it is the most used and useful
task dependency type. Other task dependency types will be supported in
subsequent AceProject updates.
A Finish-to-Start (FS) dependency type means that one or several tasks
must be completed before a task can begin. In AceProject, this means that
a task with an FS dependency type will not be allowed to start unless its
predecessor task's status is set to "completed."
4. 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.
For example:
- You have a Finish-to-Start dependency between task A and task B,
meaning that task A must be finished before task B can start.
- You set a 24-hour lag time between task A and task B
- This means that task B's can only start 24 hours after task A's
status is set to "completed."
5. Predecessors & Successors
When dealing with task dependencies, there are two parts in the relationship: predecessor tasks and successor tasks:
- Predecessors are tasks that must be completed before the
current task may be started.
- Successors are tasks that can only be started after the
current task is completed.
6. Changing Task Dates
To ease readability, we will use a convention for this section: Task A
is the predecessor; Task B is the successor.
- When creating a dependency between two tasks, both must have a
start date and an end date.
- Task B's start date must be the same day or later than task A's
start date. If there is a lag time between both tasks, task B's start
date must also respect that. For example, if the dependency includes 24
hours of 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.
- If task B's end date is "pushed" beyond the project's end date, the
project's end date will be adjusted accordingly.
- Important things to know when changing task A's start or end date:
- The time interval between task B's start and end dates (in working days) is not affected by date changes on task A. Task B's dates will be moved earlier or later, but the time period in between will remain the same.
- You can choose to include or exclude weekends when adjusting
task dates. This option is set from the project configuration
window.
- Changing task A's start date will not affect task B's dates, as
long as task B's start date is later than task A's start date. If
task A's new start date is later than task B's start date, task B's
start date will be moved to be on the same day as task A's new start
date. If there is lag time configured, it will also affect task B's
start date.
- Changing task A's end date will "pull" or "push" task B's dates
accordingly. However, if task B has other predecessors, it will only
be "pulled" as early as the latest start date of its predecessor
tasks. If there is lag time configured, it will also affect task B's
start date.
7. Changing Task Statuses
To ease readability, we will use a convention for this section: Task A
is the predecessor; Task B is the successor.
- Task B cannot be started unless task A's status is set to
Completed.
- If a lag time was entered, AceProject will not let you start task B
until the lag time have elapsed.
- You cannot use task dependencies if you don't have at least one of
each 3 task statuses (waiting, in progress, completed).
- If you are using task dependencies, AceProject will not let you
delete the last task status of any type. This means you must have at
least one Waiting status, one In Progress status and one Completed
status.
- You cannot add a predecessor to a completed task, since a completed task cannot me modified.
- You can add a completed task as a predecessor to a task. If the
successor task is In Progress, it can only be linked to a Completed
task as its predecessor.
- You can only "reopen" a completed task (changing its status from
Completed to Waiting or In progress) if all its successors have the
Waiting status.
|