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!


