Can you give me an example of a Start to Finish dependency? Wikipedia describes it like this:

  • Start to finish (SF)

    A SF B = B can't finish before A starts

    "A SF B" dependency diagram

  • 1
    That's a very good question that I'd +1 twice if I could...
    – Tiago Cardoso
    Commented Mar 13, 2013 at 14:33

23 Answers 23


I don't think I have ever used this, but I have generally thought of a Start - Finish dependency as being used where an agree period of handover is required between two activities.

Consider the following scenario:

In a system implementation project, it would be quite normal for project personnel to provide a level of support for a system for a settling down period after go-live. At some point, responsibility for support must transfer (in our hypothetical example) to an in-life support team. For a defined period - let's say two weeks - both the project resources and the in-life resources are delivering support, while a handover takes place from one to the other.

This is a Start - Finish dependency, because the In-life team have to start to support the system before the Project team can finish.

  • 1
    This example is more clear than mine...+1. This makes it clear how SF dependencies work. Commented Sep 17, 2011 at 20:05
  • This example What logic then drives the start of the in-life support? Would you not normally use a SS dependency with lag? Note that the logic direction needs to be triggered by the task predecessor. In this case the start of in-life support is dictated by previous events and the start date should have the necessary dependency.
    – rapscalli
    Commented Jan 7, 2019 at 10:18

A SF dependency will look exactly like a FS dependency with a lead in units of time if you are looking at the network diagram (notwithstanding the arrows). The difference comes down to the logic of the constraint. For example, the FS dependency with a two day lead is saying that task 2 is scheduled to start two days before task 1 is scheduled to finish. The assumed logic with this schedule is task 2 can start within two days of task 1 finish, but it can start earlier if resources allow and can start later if you are slipping for other reasons.

In a SF dependency with a two day lead, task 2 must start two days before task 1 finishes; else, task 1 cannot finish. The assumed logic here is a must versus a can.

A rough example might be the use of a crane to hoist a heavy object onto the 35th floor of a building under construction. The work package that contains the resources--human and equipment--to operate the crane is task 1. It successfully hoists the object up to the 35th floor and has successfully positioned itself for transfer. However, the next work package, task 2, which contains the receiving resources--both equipment and personnel--are not there and are not ready to start. Task 1, although it has completed it target action on time and is ready to transfer, will remain "active" until the next package starts. The output of package one and the input of package two must occur together.

  • 1
    +1 for the example itself and I'd +1 again for offering an example coming from outside the IT!
    – Tiago Cardoso
    Commented Mar 13, 2013 at 14:31
  • @TiagoCardoso I'm happy to add the additional +1 for the non-IT example. Great one!
    – Ray
    Commented Jan 27, 2015 at 13:27
  • What drives the start of task 2. A benefit of scheduling with dependencies is the ability to dynamically move the schedule when needed. Lets say the delivery of "heavy object" is delayed by one month, the relevant tasks should then slip. If task 1 has a SF dependency on task 2, task 2 will not slip. If you add in a dependency to drive task 2 from previous tasks you will likely add in a logical loop that the software will not allow.
    – rapscalli
    Commented Jan 7, 2019 at 10:28
  • @rapscalli, Other packages could trigger task two. It was a complex job. There were many other predecessors taking place simultaneously. Commented Jan 7, 2019 at 12:34

Both David and Iain have given good examples.

As David said, it's the logic that's driving the dependency. Most tasks are FS - task B can't start until task A is complete, and task dependencies are looked at as straight hand-offs. SF simply inverts the logic - task B can't be considered complete until task A has started (the hand-off has occurred.)


I think that a FS dependency is useful when you have an activity that can't finish before the dependent starts. Imagine: a watchman is hired to take care of a building during nights and the manager tells him that his activity can't finish until the building administrator comes in the morning. The arriving time can vary every day but the watchman cannot finish his activity until the administrator comes and starts working.

Another example for a fixed date of starting date: I have to place the forms for a column after these are removed from another already poured and cured. I know what the starting date to start forming the new column is (fixed date) and need to install the rebar for that column previously. Therefore, I can link column formwork installation (b) and rebar installation (a) with a SF relationship meaning that activity b must start for activity a to be considered finished.


I always liked the example of the the baby sitter, who wants to finish minding the child but cant finish until a parent returns ( and starts minding the child).


This is the term most confused and misunderstood. Even the latest edition of PMBOK makes a mess of it. Rather, it makes a laughing stock when, while giving the example of security shifts, it says that the "first" security shift is a SUCCESSOR ACTIVITY and the "second" security shift (which is to come after the first shift) is a PREDECESSOR activity. And then they examine people for PMP!!!

I am a strong believer of the KISS (Keep It Simple Stupid) Doctrine. Take the example of a generator which is online and providing power to a building. Call this activity A. The generator will not stop until electricity from the main grid comes on. Call the activity involving power from the mains B. So, the predecessor activity A will not end until the successor activity B starts.

In the network diagram, this dependency will be represented as follows:

a. Box B to the right of Box A, to represent correct chronological order. b. Arrow from the start of Box B (to represent activity start) to the end of Box A (to represent the activity end).

This will be exactly opposite to the Finish to Start dependency.

This is how I have understood the issue.


Consider this simple example which you can test in Microsoft Project to see how it works practically. To explain the use of a start to finish (SF) dependency I will also explain how it differs from a FS dependency

You have two tasks, Prepare for Store Opening and Opening Day. Opening day is planned for a Friday and you need 2 days to prepare. The task Opening Day cannot move and must happen on the Friday.

Finish to Start: Prepare for Store Opening runs over Wednesday and Thursday and is linked (FS) to Opening Day which is on the Friday. If you realise that you need 4 days to prepare and change the task Prepare for Store Opening duration to 4 days it will push the Opening day task into the following week which you cannot have happen.

Start to Finish: The same scenario, you set the tasks up using a SF dependency and then realise that you need 4 days instead of 2 days to prepare. With the SF relationship, when you update the duration to 4 days it keeps the Opening Day on the Friday and rather moves the Prepare for Store Opening task start date earlier as it adds to the duration. This will mean that you now need to start preparations on the Monday in order to be on time for the Opening Day.


The best example of Start to Finish implementation involves the following analysis, which for the sake of simplicity I provide the URL: Start to Finish Example

  • 1
    We use SF in the construction industry when sibling tasks (such as formwork and reinforcement) need to be removed from the parent activity of pouring the concrete. Using SF allows concrete pouring to remain affected by delays, but not necessarily formwork and re-enforcement which are both labor intensive and delivery sensitive.
    – hellenica
    Commented Jan 31, 2013 at 14:42
  • 2
    SF is an invaluable tool to protect the integrity of the critical path in large projects where the contractor is assuming larger than normal risks, as in BOT projects. It allows us as planners to remove "clutter" tasks from the critical path, making our critical paths more reflective of the real world effects of predecessor delays.
    – hellenica
    Commented Jan 31, 2013 at 14:44
  • 1
    This is a link-only answer. Please consider adding a relevant extract from the referenced blog post into your answer here, as information on PMSE should be largely self-contained.
    – Todd A. Jacobs
    Commented Feb 1, 2013 at 13:23

A concrete example from a construction project

The babysitter example is good. However, here is a concrete example (pun intended!) from a construction project:

Let us say you are buying a pre-fab shed. The pre-fab company sent to you the drawing for the concrete foundation and the location of the foundation bolts to set the shed on. The foundation with the bolts is ready and cured and the truck carrying the fully assembled shed has arrived on site. Now you have the following tasks in your schedule:

  • Unload the shed
  • Install the shed

You might have hired a crane from one vendor to unload the shed and a separate installation crew. The unloading task can start - you can mount the wire ropes and prepare the lifting points. However, can you let the crane complete the work of unloading the shed even though the installation crew has not yet started work?

No, the unloading task cannot be completed until the installation task starts. This is a start to finish (SF) dependency.


Baby sitter and hadover, both are the best examples to make a learner understand the meaning of SF. If the work is completed, handover can not be started untill the take over team starts... and so the work can not be considered complete as the hand over is not started...


An example of SF relationship.

Successor activity - Night is settling down in Newyork for 12 hours Predecessor activity - Daylight is rising high in Newyork for 12 hours

If it is assumed that 12 hrs is the lead time of each activity, Successor continues for a duration of 12 hrs until the Predecessor wakes up on the verge of Completion of the Successor and proceeds for 12 hrs OR vice versa. This takes place in a Cyclic Process everyday.

All Cyclic Processes formed by 2 activities ( One Successor and the other Predecessor) share SF Type relationship. This is a rare type of relationship utilized in Realtime Projects as majority Realtime Project Networks are having activities which have a Forward Pass or a Backward Pass but not cyclic in nature.


The Start-Finish dependency from start of activity A to finish of activity B enforce that activity B finishes after activity A has started. Predecessor (activity A) and successor (activity B) refer the CPM logic, i.e. timing of activity B is computed after and relatively to timing of activity A although activity B may end up before activity A from the calculation.

Start-Finish can model the following:

  1. A relay: e.g. team B supervises a site until team A arrive.

    Note: if activity B has a fixed start date, it is better modeled with a hamoc activity.

  2. A period of handover: e.g. team B trains team A during its last week of work.

    Note: lag is given as a positive duration to have an overlap.

  3. Plan as late as possible when the software enforce as soon as possible planning for the whole programme: e.g. activity B is a delivery which finishes just in time for the installation in activity A.

  4. Enforce continuity: e.g. activity A and B are just one continuous task which had to be split for accounting purpose and which is planned after activity C with a Finish-Finish dependency. Activity A (the latest part) is correctly planned after activity C but a Start-Finish from A to B is needed to consider them as one task.

Note: in order to be scheduled as expected, activities should be planned as soon as possible and activity B must have float greater or equal to 0.


Suppose you are rock climbing. You have to start holding with one hand to finish holding with the other in order to move on.

Suppose you are guarding something. Replacement team should start their work in order for your to finish yours.

Suppose you are going to change the energy cables of a critical system. UPS should start working in order for you to cut the electricity.


Start-to-Finish relationship is used to schedule the timing of the successor task. i.e when task B should start so that to finish with the start of task A.

For example: in this project, critical tasks are design, construction, assemble and deliver. But there are 2 non-critical tasks that need to be "ready" exactly on the day when the assembly task starts; those 2 tasks are (purchasing electric components and purchase fasteners).

Those 2 tasks should be scheduled to start early enough, so that to finish (and be ready) on the day assembly starts - not sooner or later.

Purchasing tasks should not finish too early, so that not to waste resources on inventory costs to store those components, but also those components should not arrive too late, because they are needed for the assembly. So the purchasing those components should finish just the day construction starts.

The Purpose of this type of dependency: is to schedule tasks in order to finish relative to the start of the predecessor task.

In this example, purchase electric components: should start on May 13th in order to finish on May 15th purchase fasteners: should start on May 12th in order to finish on May 15th

On the timeline: The pink tasks are critical tasks, while the two dark tasks are non-critical, and their dependency on the task "Assemble" is defined as Start-to-Finish, as shown.

Purchasing tasks should Finish-to-start construction task

  • upvoted because of the screenshot/diagram of how this actually looks like with a good example
    – user27307
    Commented Feb 17, 2017 at 16:11

My project has a fire pump. I can start the electrical work for the fire pump but I cannot finish it until the fire pump installation has started, but the fire pump does not have to be complete for the electrical to finish, i,e, start to finish.


SF is not a common, but can be a useful relationship under certain conditions.

It's primary use is when there is a requirement for continuity.

In the case of a 24 hour operation there must be at least one shift on duty at a time; Shift 1 could be linked to Shift 2 using a SF relationship. If shift 2 is delayed, shift 1 must continue to work past the initially scheduled time.

Similarly if you had to transition from an old to a new system in an environment which required continuity, for example a large bank was making changes to its online banking system. A Start to Finish relationship could be used to link the operations of the systems; I.e System 1 could not finish until System 2 had started.

This article goes into greater depth https://scopetraining.com.au/project-management/finish-start-relathionships/Start to Finish Relationships


Night shift will finish when Day shift starts. B will finish when A starts.


Here is my take on this.

I think SF is simply a relationship constraint that describes what shouldn't happen.

"Second task cannot finish before first task starts"

The second task needs some kind of input from the first task and can start early if that input is gotten sooner. Let's say 8 hour Task-1 has that input ready by 9am of day-1, Task-2 can start on day-0 (instead of day-2) and finish as soon as that input is available(considering task-2 require that input before it finishes), let's say by 10am day-1. There must be that overlap. Task-2 finishing before Task-1 even starts means basically Task-2 doesn't need anything from Task-1 and breaks the SF constraint. In that case, they both should run parallel and not sequential.


I've always looked at this from the perspective not of "process flow" but rather "what's the logic that drives the scheduling?". The simple example I've seen previously is that of revision for an examination. You can say "I can't sit the exam until I've done the revision" (revision finish drives exam start) or "I have to plan my revision such that it finishes in time for the exam" (exam start drives revision finish). In this example it's quite easy to understand since in practice exams are usually fixed and it's the completion of the preparatory work that needs to be scheduled to fit in with the date of the exam. If the exam moves or the time needed for revision changes, the finish-start relationship keeps things aligned as they should be.


My understanding of a S-F relationship is that the "predecessor cannot finish until the successor starts." Much like the "guard shifts" example many people use: The finish of the predecessor (Shift 1) is driven by the amount of delay in the successor (Shift 2) starting. My example is: a contractor must provide preventative maintenance (predecessor) for an aircraft until the customer takes possession to do their acceptance testing (successor). If the customer delays acceptance testing, the predecessor preventative maintenance by the contractor must continue - which can drive up the cost of that predecessor activity. [Can have the opposite effect: The start of preventative maintenance is receipt from Final Assembly Test; so if the customer decides to do acceptance testing immediately after the contractor's Final Assembly Test, the finish date of preventative maintenance is still driven by the start of customer acceptance testing. In this case, however, the preventative maintenance start date (driven (F-S)by Final Assembly Test) and finish date (driven by the start of customer acceptance testing), would be the same date - in this case making the cost of preventative maintenance virtually "0"]


The only time i have seen this used correctly is when an event - that has a specific date - drives completion of previous preparation tasks.

E.g. an exam preparation work package, two tasks
1 - exam study
2 - sit exam

"sit exam" is a hard coded date - e.g. 1st december. when this task starts, it triggers the end of exam study. if the date of the exam moves, this changes the dates of exam study.

(IN MS Project at least) If the whole project is driven off an end date, then you will be better to "schedule from" "Finish Date" in project information and use FS dependencies.
If you just want to set up a part of a schedule to run from a milestone date, mark the relevant predecessors "as late as possible" in task information > advanced and again use FS dependencies.


I think coffee making steps could be an excellent example here. Imagine about you getting up in the morning, yawning, and going to the kitchen and find that you forgot to preset your coffeemaker to brew automatically. Now it all depends on you, whether you shake off the sleep and start the coffee brewing. You will also be knowing that you will have to go through the following steps:

Adding water Grinding coffee beans Measuring coffee into filter Adding coffee filter Placing carafe on heating tray Pressing the brew etc. etc. I'm not sure but I think this article "Basic Principles Of PMP" can help you! Hope you find facts easy to understand via my answer. Thanks!


In construction we use this very often.

An example: a piece of equipment is being lifted from ground and needs to be erected on the 4th floor.

There are two different teams: one that lifts equipment from the ground floor to the 4th floor vertically, and one that pulls the equipment horizontally from the 4th floor's outside columns to inside the structure.

So, the second (successor) task of pulling the equipment inside on 4th floor cannot finish unless the predecessor task (equipment lifting) has finished.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.