Task Dependency

Tasks can have different type of dependencies.

The most common type of dependency a finish-to-start (FS) dependency.  The second task in the relationship can’t begin until the first task finishes. So, for example, if you were planning a project to make a wedding cake, you might use a finish-to-start dependency between the “Bake cake” and “Decorate cake” tasks. When the “Bake cake” task is finished, the “Decorate cake” task begins.

Start-to-start (SS) dependencies are used when the second task in the relationship can’t begin until after the first task in the relationship begins. Start-to-start dependencies don’t require that both tasks start at the same time. They simply require that the first task has begun, in order for the second task to begin. Going back to the wedding cake example, let’s say you had planned to make the icing for the cake while the cake is baking in the oven. You can’t start making the icing until the cake has started baking, so you might use a start-to-start dependency between the “Bake cake” and “Make icing” tasks.

If one of your tasks can’t finish until another one finishes, you can use a finish-to-finish (FF) dependency between them. Finish-to-finish dependencies don’t require that both tasks be completed simultaneously. They simply require that the first task be finished, in order for the second task to finish. The second task can finish any time after the first task finishes. In our wedding cake example, let’s say there are some finishing touches to the decorations that you can’t finish until the cake is delivered. You can use a finish-to-finish dependency between the “Decorate cake” and “Deliver cake” tasks. When the “Decorate cake” task is finished, then the “Deliver cake” task can be completed.

Finally, the start-to-finish (SF) dependency is a little tricky. When you use this type of dependency, you are saying that the second task in the relationship can’t finish until the first task starts. However, the second task can finish any time after the first task starts. Going back to our wedding cake example, let’s say you have a task for billing the customer. It begins when the customer requests the cake, but it can’t be completed until after the cake delivery has begun. You can use a start-to-finish dependency between the “Deliver cake” and “Bill customer” tasks, so that when the “Deliver cake” task has begun, it is okay for the “Bill customer” task to finish

So when you put the entire plan together, with these dependencies intact, the plan might look something like this:

Next:  Task Dependency Quiz