There are situations in which milestones are linked to other activities in a project using SS (Start-to-Start) or FF (Finish-to-Finish) links.
Since the duration of a milestone is zero (that’s the definition of a milestone), there is no significance to SS or FF links with a milestone. Instead, we should use FS (Finish-to-Start) links.
For example, when a milestone triggers the start of other tasks, we place it before those activities and link them using an FS link (rather than SS, even though, on the surface, they may appear the same):
Conversely, when a milestone signifies the completion of other tasks, we place it after those activities and link them using an FS link (not FF, even though they may appear the same):
However, there are peculiar situations that arise in schedule Gantt charts, and let’s discuss them now:
Special Case (i): The Successor is a Milestone with a 'Start-to-Start’ (SS) Link
The scenario looks like this in the Gantt chart:
This situation is interesting, if not downright peculiar:
What’s the story behind defining a milestone that doesn’t trigger any activity but merely created from the start of one?
- If the goal is to get paid, the answer might be: Definitely! We’ve started!
- If the goal is to demonstrate efficiency and minimize task duration (and maybe earn extra for the acceleration), the answer might be: Wait… we haven’t started yet!
When, after all, do we encounter situations where a milestone is connected to the preceding activity with an SS link?
1. Suppose we have Activity C that precedes Activity A, and Activity A precedes Activity B in an SS Link, as shown here:
During an update, we realize that Activity B is canceled. Therefore, we reset the duration of Activity B, creating a situation akin to a “pseudo milestone”: (Why not use the “inactive” button? The answer is here.)
In the HCP-Go report, we will receive a comment regarding activities A and B – that they need to be corrected.
To correct it, we disconnect B from A (which was incorrect anyway) and link C (as predecessor) to B (the successor):
2. Another possibility we may encounter in this situation is the definition of project planners.
As we’ve seen earlier, this definition isn’t ideal because defining the start of an activity is quite challenging. Even in this case, my recommendation is to disconnect B from A and link B as successor to C.
Special Cases (ii): The Predecessor is a Milestone with a 'Finish-to-Finish' (FF) Link.
The scenario looks like this in the schedule Gantt chart:
In this case, we have Task/Activity II, which we want to complete execution by the milestone’s end date. Therefore, the activity must start before the milestone, so it needs to precede the milestone. The result in the schedule: a milestone that precedes (i.e., comes before the activity) in an FF link.
Logical, right? Not at all.
When do we encounter situations where a milestone is linked to a successor?
When does this happen? It occurs when we think about the project from the end to the beginning and construct links accordingly.
When we say, “I need to complete this activity by the milestone,” we link the milestone as a predecessor to the activity in an FF link.
However, a word of caution: While mental flexibility is excellent, in reality, we can only execute the project from today onward.
The activity must occur before the milestone, so it needs to precede the milestone.
It’s impossible to go back in time by 10 days because we need to complete the milestone in 5 days, and the activity requires 15 working days. Therefore, it’s a mistake to construct the Gantt chart this way.
In other words, if such a situation occurs in a project, there are two possible solutions:
- The activity needs to finish before the milestone. In other words, we should change the link: the activity should precede the milestone in an FS Link. We need to ensure that the activity has true predecessors based on the execution sequence.
2. If there is no logical connection between the milestone and the task, but we simply want the activity to finish by a specific date and decide to link it to the milestone in an FF Link, then in this situation, it’s better to link the activity to a preceding activity that genuinely triggers its start and disconnect it from the milestone.
the project successfully.
Want to talk to Tal Levanon about it?
If you answered 'yes' - then we have a solution for you!



This Post Has 14 Comments
I am still trying to understand project management tools. What does 4SS mean
Hello Sheila,
4SS means –
The number is the ID line number. So 4 means task number 4.
SS is Start to Start connection.
I use the SF when I am building a schedule for multiple channels. Construction runs on a chronological timing, but Marketing only starts their work 20 weeks prior to Grand Opening – which I don’t know…and can change over the time of the construction – so I use the SF -100 to create the start date for them, based on the finish date for construction.
Just because the tasks get number in the order you enter them…doesn’t mean the # matches the chronological needs of the team or project.
Amy,
The use of SF means that you think from a later date to an earlier one. As you wrote it – “20 week prior to”.
To think from the future to the past – this is a flexible thinking – which is perfect! But unfortunately, we live only from now to the next minute, and we can’t go back.
Schedules should describe reality – so schedules should be created from the beginning to the end. There is no room for SF connection in a realistic schedule.
The answer to your Marketing task – is to define what really should be the trigger to start the Marketing activity. It should last for 20 weeks and then you can have the Grand Opening.
You’ve made some good points there. I looked on the web for
more info about the issue and found most individuals will go
along with your views on this website.
SF relationship is being criticised due to lack of reasonably good examples. I think aviation industry can use this relationship.
Let ‘Boarding of plane’ be predecessor activity
Let aerobridge door close represent Finish of the successor. This time is dictated by airport authorities since they have to coordinate many such landings and take offs.
Let’s presume the time to board is 45 minutes .
Here SF relationship with 45 minutes duration should be used.
Note FS relationship is not useful because that will mean only after all the passengers board the door can close which is not the case.
The door closure is not linked to completion of predecessor.
‘Hope I am clear
You are right, but please notice – you are thinking from the future to the past.
The future: Aerobridge door close
Before that: Boarding.
When you use flexible thinking – then you can think from the future to the past.
But, you can live only from the past to the future.
First – you need all the people to board, then, you can close the doors.
So, real life is boarding – FS – closing doors.
For calculating your project from the finish point to the start – you can write it as reversed project with SF. To perform it – you need the other way around. 😊
Thanks for your prompt feedback.
Hi, thanks for providing clarity on task dependencies. However , i did not understand the last part where in situation 1, you could have just given predecessor to activity ‘c’ as 1 right (activity a to ensure c doesn’t start before project date)? Why the mention of 1FS+4days?
Hi Sumanth,
The difference between writing 1 and 1FS+4 days is when ‘c’ can start.
If it is written “1” then the duration of task c could be longer, ‘c’ can start earlier and finish 2 days after b ends.
If it is written “1fs+4 days” this means task ‘c’ can only start 4 days from the end of task ‘a’, and if it will last more than 3 days – it will end later than 2 days from the end of ‘b’.
Please remember, all the links, when they are translated to the math behind them (in the software), they are not “=” but they are “>=”.
Is there a field in MS Project that I can open and view in the, say Entry table, that shows which tasks are FS, SF etc? I’m guessing no since multiple setups can exist for each task but thought I’d ask.
Please let me know.
Dan
Hello Dan,
Yes there is –
In ‘View’ go to ‘Split View’ and Mark ‘Details’ with V. Then, take the cursor to the grey area, right click on the mouse and choose ‘Predecessors and Successors’.
Per each task you’ll be on – you’ll see the Predecessors and Successors.
Did that help?
Tal.
I looked this up on Google and I must say that you made my understanding of FS and SF quite simple. Also, I got one key thing into my head, “to not use SF in scheduling”. Understanding these relationships requires a lot of flexibility in thinking. Thanks, Tal
Glad I could help. Thank you for sharing that with me! 😊