Three methods for linking tasks in MS Project:
- Selecting the tasks you want to link and use the Link button
- Enter the number of the Predecessor in the Predecessor column
- Select the bar in the Gantt Chart and drag the link to its successor
In some cases the next task cannot start directly after the previous task has finished, for instance when you have completed a task like 'painting' which requires drying time. When you want to create a delay (lag) or a lead-time (negative lag) you double-click the black arrow in the Gantt chart between the respective tasks and enter the number of days of lag you want to have for this relationship.
You could also have a negative 'lag', which is called 'lead'(time). An example of lead-time is to start with review when the document has been written for 20%. To enter lead-time, you will add a negative number of days in the
link window as just described.
Network logic guidelines
To have a
complete and correct network logic it is important to adhere to the following guidelines:
- A project has 1 start and 1 end - this will help MS Project to determine the critical path between these points
- No circular relationships are allowed in the schedule - just like a circular reference in Excel, you do not want your schedule to become inflexible
- As few as possible date constraints are set - constraints will be discussed later in this course but in short, these limit the dynamic character of your schedule
- Relationships are only allowed on lowest level tasks in the schedule (activities), not on summary tasks
- All tasks must have a successor and a predecessor (be linked on both sides)
Always remember that your project schedule is a closed circuit, i.e. every task has a predecessor and every task has a successor. Tasks that are not part of the circuit are called ‘danglers’.
There are different types of relationships that can be used for linking tasks in MS Project. The different types can all occur in a schedule at the same time. These will be discussed in a next section.
Do not try to link everything that might be a dependency. We do not want 'spaghetti' or a 'bar code' in our schedule. In case of a delay, we want good readability of the schedule to track back what caused the delay all the way back to where it starts.
A
robust schedule can handle different scenarios and accommodates that the changes are reflected in the right direction. However MS Project talks about
predecessors and
successors, but we feel that it is easier to think about 'driving tasks' and 'driven tasks' instead. In the below examples the arrow goes from the
driving task into the
driven task, meaning the driven task will be rescheduled based on the move of the driving task.
For linking tasks in MS Project, there are four link types:
-
FS: Finish to Start. Task A must finish before Task B can start. Example: the supporting walls must be ready before the roof can be placed.
-
SS: Start to Start. Task B cannot start unless Task A starts, irrespective of when they finish. Example: When writing and reviewing a lot of documents, the writing task starts and when it starts the reviewing task starts as well. This one can also be used with a lag or lead time.
-
FF: Finish to Finish. Task B cannot finish unless Task A finishes, irrespective of when they start. Example: supervising a task is a task that can only finish when the task it supervises finishes.
-
SF: Start to Finish. The start of task B determines the end of task A. Example: The start of my exam determines when I will end my preparation.
A task can also have multiple relationships to other tasks. This way parallelism is introduced into the schedule.