When scheduling tasks, there are times when starting to work on a task depends on the completion of another task. If both tasks are supposed to be completed by you, then setting dependencies will help you schedule your tasks in the right order. However, if you’re waiting for someone else to complete a task before you get started on your task, use the ‘waiting for’ method.
Also, make sure you’re familiar with sequential scheduling before you set any dependencies for your tasks. Using sequential scheduling is far easier than setting up individual dependencies between sub-tasks.
Another important feature in SkedPal is prioritization which helps schedule more important tasks earlier. You should not be using dependencies to force a more important task to get scheduled first. This is done much easier by prioritization.
How Dependency Works
When you start the update-schedule process, SkedPal will consider all dependencies you have set up between your tasks before producing the schedule. So, if you can only start working on task B if task A is complete, SkedPal ensures task A is scheduled before task B.
Setting A Dependency
To set a dependency, open the line menu, and select ‘Add dependencies …‘. This will open a form for adding a new dependency:
You may choose your task to get scheduled before, or after another task. You may also choose a fixed event on your calendar. This is particularly useful for situations when you need to plan a task to complete some sort of preparation before a meeting. So, you can set this dependency to ensure your task gets scheduled before the meeting. This dependency will be retained even if the meeting time changes.
When you choose an event to be dependent on, you will have more options:
- right before: If you choose this option, your task will schedule right before the event. When the event moves, so do your task.
- right after: If you choose this option, your task will schedule right after the event. When the event moves, so do your task.
- during: If you choose this option, your task will schedule in parallel with the event. When the event moves, so do your task.
The Gap
If you would like some gap between the dependent tasks, use this field on the dependency form. The gap does not block scheduling for other tasks. It’s just some gap between these two dependent tasks.
Editing or Removing a Dependency
When a task has a dependency, you will see this icon on the line:
You will also see the dependency shown in the line detail:
To remove the dependency, hover the mouse over the dependency line and click on ‘x.
You will not be able to ‘edit’ the dependency. So, if you need to change it, first remove the current dependency and then add a new one.
Sequential Projects And Dependency
Make sure you’re familiar with sequential scheduling before you set any dependencies for your tasks. Using sequential scheduling is far easier than setting up individual dependencies between sub-tasks. Adding dependencies is most useful when the dependent tasks are under different parent lines.
Templates and Dependency
If you have templates for your projects, duplicating your project will also duplicate the dependencies inside the project. However, dependencies on tasks outside the project or on events will continue to point to the same tasks or events even after duplication.
Avoiding Circular Dependency
You should be using dependency sparingly and carefully. It’s easy to create a complicated mesh of dependent tasks. In case you create a circular dependency, SkedPal will ignore this dependency during the update-schedule process. Here is an example of a circular dependency:
Task A must get scheduled before Task B
Task B must get scheduled before task C
Task C must get scheduled before task A