Guidelines for linking tasks in MS Project

How do you link tasks in MS Project? Does your schedule look like spaghetti? Then this post is exactly for you. We have the best guidelines for linking tasks in MS Project for you:

Our top 5 guidelines

To have a complete and correct network logic:

  1. A project has 1 start and 1 end – this will help MS Project to determine the critical path between these points
  2. No circular relationships are allowed in the schedule – just like a circular reference in Excel, you do not want your schedule to become inflexible
  3. 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
  4. Relationships are only allowed on lowest level tasks in the schedule (activities), not on summary tasks
  5. All tasks must have a successor and a predecessor (be linked on both sides)

Guidelines for linking tasks in MS Project1

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 to link tasks. The different types can all occur in a schedule at the same time. These will be discussed in another blog post.
  • 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.

Task modes

MS Project 2013/2016 has two scheduling (task) modes: manual and automatic. Manual means that the user schedules by determining start and finish dates; in automatic mode MS Project does the scheduling. Automatic scheduling mode is required for a dynamic schedule. Therefore, it is not recommended to use manually scheduled tasks.

For example, this is how tasks look by automatic schedulling:

Guidelines for linking tasks in MS Project2

This is how tasks look by manual scheduling:

Guidelines for linking tasks in MS Project3

Experienced schedulers might argue that there are reasons why deviating from these guidelines is justified. Follow your own instinct in this recognizing that the end goal is a dynamic schedule.
Share your thoughts in the comments below:

Read More
, ,

What exactly is a baseline?


The baseline of a project is a copy of the project schedule as it was the last time your schedule was agreed upon. Saving this information allows you to compare the actual project progress against the planned project progress at any stage.

Once the project schedule has been baselined, all information that is entered (i.e. your actual information) will be compared to the original information. What MS Project actually does, is making a copy of all the values in the left column in below table, and copying it to their baseline equivalents.

Baselined information

What exactly is a baseline?1

In MS Project you can use different types of baselines:

  • Current baseline (BL) – The latest agreed baseline is set to reflect the latest agreed project plan as agreed with your customer (or +1).
  • Initial baseline (BL 1) – The initial baseline is taken in line with the initial PID approval and is set at the start of the project. This is the historical starting point. Note that when you start a project these baselines are the same, but if you encounter the first big change and you agree on a new plan with your customer (or +1), these will start to deviate.
  • Baselines 2-9 (BL 2-9) – After your first big change when you agreed to set a new baseline, you will start from baseline 2 onwards. Each time, you should also reset the current baseline, as this baseline will then be ‘current’. Your baselines 1-9 will then become a ‘track record’ of approved schedules at a given moments in time.
  • Tracking baseline (BL 10) – We also recommend to use a ‘tracking baseline’. This baseline can be set and updated at any time and provides a tool that helps to track changes over the next planning period. It is an ‘unofficial’ baseline that you can use as a means to see changes quickly. That is why we will use this baseline every time at the end of the step, when you just completed an improved and more mature schedule. This way you can easily see if (and where) the matured schedule deviates from the previous version after you have incorporated more intelligence.

What exactly is a baseline?2

How to set and show the baseline?

The video clip below shows how to set the baseline and how to show the baseline in the Gantt chart. Please note that the grey bars in the Gantt chart represent the current baseline (BL) and the blue bars represent the actual information of the tasks. Obviously, in this example there is no deviation between the BL and the actual information. When you hover with your mouse over these bars in MS Project (in the Gantt chart), you see which information is displayed by the bars.


Read More

Do you know all link types in MS Project?

Do you know all link types in MS Project? The most common link types are finish to start tasks. But there are some more and it’s important to know them and to apply them in your planning.

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.

MS Project knows 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.

Do you know all link types in MS Project?1

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.

Do you know all link types in MS Project?2

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.

Do you know all link types in MS Project?3

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.

Do you know all link types in MS Project?4

A task can also have multiple relationships to other tasks. This way parallelism is introduced into the schedule. For example:

Do you know all link types in MS Project?5

Read More
, ,

How to set a deadline in MS Project?

Before we explain how to set a deadline MS Project, let’s first define what a deadline exactly means. A deadline is a date by which a certain task/deliverable/milestone must be finished. For instance a need date or any other date you want to manage. Adding deadlines can give valuable scheduling information as it will calculate the days left to this date or signals when the item will be late.

There are two ways to set a deadline

Option 1

You can add a deadline by typing the date directly in the column ‘Deadline’*:

How to set a deadline in MS Project?1

Option 2

You can add a deadline by double clicking on a task, summary task or milestone > Advanced > Deadline > select a date:

How to set a deadline in MS Project?2


In the Gantt chart a deadline is displayed as a little green arrow. When you hover over the green arrow the deadline date is shown.

How to set a deadline in MS Project?3
If the deadline is not met, the red exclamation icon will be displayed in the Indicator column. See example below. Hovering over this icon in MS Project will give you information about the issue at hand.

*) To add a column: with your pointer go to the headers of the columns > right mouse click > Insert Column

Read More

What is a milestone?

A milestone marks a project event, such as a need date or plan date, a delivery, the fact a (sub)-deliverable is ready, or as a start or finish for project events. A milestone should not be confused by a deadline.

Know the difference!

  • Milestone: marks when a project event WILL take place, based on project progress.
  • Deadline: marks when a project event SHOULD take place, based on (contractual) agreements with project stakeholders.

In the screenshot below you see several milestones. You can recognize a milestone in the Gantt Chart as a little black diamond. A milestone can be added via the tab Task > Milestone > name the milestone, or by entering the name of the milestone directly in the Task Name column and make the duration ‘0’.

What is a milestone?1


In the screenshot above, deadlines have been added on the first four milestones (see little arrows pointing downwards in the Gantt Chart). You will learn more about deadlines in this post.


Milestones can slip while a deadline cannot (unless you make a new agreement with your stakeholder). Below you can see an example of a milestone that is too late for the agreed deadline.

What is a milestone?3

lets us know if we are late or on time and how much slack we still have until the deadline (slack = the amount of time that a task or milestone in a project network can be delayed without causing a delay).

Watch here how  to add a milestone

TIP: do not plan too many milestones as this induces a level of detail that is not necessary. Ask yourself if the project event is big enough to celebrate it.

Milestones as connection points

In a multi-project environment (or program) milestones can also be used as cross-project deliverables, thus acting as ‘connection points’ between schedules to indicate a delivery from or to another schedule. These milestones can be linked; this is described in Maturity Level 3 ‘Critical Path Management’: link between projects.

What is a milestone?2

Read More

What is a slack in MS Project?

An important term in critical path analysis is the term slack. What is a slack in MS Project? Maybe, you have also heard about the term float, these are different words but mean the same.

Total slack

The Total slack field contains the amount of time a task’s finish date can be delayed without delaying the project’s finish date and is calculated as the difference between the ‘early finish’ and the ‘late finish’.

Free slack

The Free slack field contains the amount of time that a task can be delayed without delaying any successor tasks and is the difference between the dates in the early finish and late finish against the successor.

What is a slack in MS Project?1

Tasks that cannot be delayed without affecting the project finish date are the critical tasks. In a typical project, many tasks have some slack and can therefore be delayed a bit without delaying other tasks or affecting the project finish date.

When is a task critical?

A task is critical if it meets any one of the following conditions:

  • It has no slack (or float) – delaying it will delay the project
  • It has a Must Start On (MSO) or Must Finish On (MFO) date constraint – because you have indicted it is ‘critical’ that this task is done on a certain date, which means that delaying is not an option
  • It has an As Late As Possible (ALAP) constraint in a project scheduled from a start date (project options in project information window)
  • It has an As Soon As Possible (ASAP) constraint in a project scheduled from a finish date (project options in project information window)
  • It has a finish date that is the same as or beyond its deadline date

STOP being critical

A task stops being critical when it’s completed, because it can no longer affect the completion of successor tasks or the project finish date.

A critical path can be of negative Total Slack value. This happens when using Task Constraints or by adding deadlines to the schedule.

Read More

Why is knowing the critical path so important?

The critical path – at home

If you want your kids to be at school sooner, you need to get them dressed faster – drinking your coffee faster while driving the kids to school will not help since this is not on the critical path.

Can you already sense the importance of knowing the critical path in an every-day family situation? It can make a huge difference. And so it does for your projects. Do you know the critical path in your schedule and do you know the benefits you get from managing the critical path?

Why is knowing the critical path so important?1

The benefits of investigating and managing the critical path

  • It helps reduce project duration – Critical Chain Project Management (CCPM) is a technique with which up to 33% of total project duration can be saved
  • It helps reduce project costs – If durations are shorter, there is a shorter need for expensive resources
  • It helps improve project efficiency – When focusing on a short critical path, tasks are better examined for efficiency, such as agreeing on specs before you start a task, which reduces rework
  • It helps schedule, monitor and control projects – Reporting on progress on the critical path is reporting on the progress of the total project duration
  • It reveals all the dependencies in the organization – It helps making your stakeholders understand why the project needs to take a certain duration, because of certain processes that have to be followed or certain items that need to be delivered by other projects first.

Read More
, ,

How to remove a constraint?

I bet that if you would open a random schedule, you would see all little calendars in front of the tasks. These appear when you have entered a start or finish date manually, and will add a serious amount of manual labour for you when you update your schedule. So you want to have as little constraints as possible and remove all unnecessary ones.

Remove a constraint

You can easily remove a constraint by double clicking on a task > task information > advanced > constraint type > as soon as possible.

In order to remove a constraint it is not necessary to edit the constraint date field, once you select ‘As Soon As Possible’ MS Project will automatically reset the date according to the task’s predecessor.

Watch the video to learn how to remove a constraint in MS Project:

When updating tasks (for instance through Update project > reschedule all remaining work to start from <date>), MS Project will create task constraints when the execution of a task is ongoing and the project is being rescheduled as from this date. These constraints are necessary and do not need to be removed. By the way, these are all in the past, and any remaining work cannot take place before these past dates anyhow.

Read More