Emerging Tech

Look at four ways to set precedence relationships in your schedule


Part of the process of building a project schedule involves breaking down the work into smaller activities (the Work Breakdown Structure) and then sequencing the activities. When you sequence the activities you should make sure that every activity is related to at least one other activity. In many cases, the relationships will involve two or more activities.

There are a couple of ways to represent these relationships. Perhaps the most common technique is called Precedence Diagramming Method (PDM). (This technique is sometimes called Activity on Node (AON).) In the PDM technique, the activities themselves are placed in boxes and the boxes are connected with arrows that show the precedence relationship.

The most common precedence relationship is when one activity cannot start until another activity has finished. In most schedules this is the relationship that exists in almost all (if not all) cases. This is referred to as a Finish-to-Start relationship. However, there are three other ways that one or more activities can be related to another one. All four are described below.

First, let's assume we have two activities - "A" and "B". It does not matter what the exact activities are. It only matters that there is a relationship between them. There are four possible relationships.

Finish-to-Start

This means that Activity B cannot start until Activity A has completed. This is by far the most common relationship between multiple activities. In most schedules, all relationships will be finish-to-start. Example:

  • Activity A is "Create the Project Charter."
  • Activity B is "Obtain Project Charter approval from the Project Sponsor."
  • This finish-to-start relationship would say that we must create the Project Charter before we obtain Project Charter approval from the Project Sponsor.

Start-to-Finish

Start-to-finish means that Activity A must start before Activity B can finish. This is a very rare relationship.

Example: Let's assume that you want to fertilize your garden, but the plants must all be wet when the fertilizer is applied.

  • Activity A is to "fertilize the garden."
  • Activity B is to "water the garden."
  • The start-to-finish relationship says we need to start watering the garden (activity B) first to get the plants wet. This activity must continue until the fertilizing starts (activity A). This will ensure the plants remain wet until the fertilizer is ready to be applied. Note that you can start watering at any time and you can finish fertilizing at any time. The relationship only ties the start of activity A to the completion of activity B.

Start-to-Start

This means Activity A must start before Activity B can start.

Example: Assume that you are having your walls painted in one room and wallpaper is being hung in another room. You want to minimize the total disruption and so you want to make sure both activities happen at the same time.

  • Activity A is "Paint the walls."
  • Activity B is "Hang the wallpaper."
  • The wallpaper hangers may be ready to go (activity B). However, the start-to-start relationship says that they cannot start until the painting starts (activity A). This relationship is based on the activity start times. The end times of each activity are not related and, in fact, one activity could end at a much later time than the other.

Finish-to-Finish

This means Activity A must finish before Activity B can finish.

Example: Assume you're cooking dinner and you want the turkey to finish cooking before the potatoes.

  • Activity A is "Cook turkey."
  • Activity B is "Cook potatoes."
  • The finish-to-finish relationship says that the turkey must finish cooking (activity A) before the potatoes finish cooking (activity B). This relationship is based on the end times. They can each start whenever they need to, as long as they finish in this order.
19 comments
patrick
patrick

A good book on scheduling with MS Project is "Dynamic Scheduling with Microsoft Office Project 2003" by Eric Uyttewall, PMP. It also explains how to use the task type and effort driven selection efficiently

mikifin
mikifin

You can make it look like code trying to lend the hard edge of a hard skill to a soft skill area.

casey
casey

1) Title of article puts undue emphasis on "precedence"; "dependencies" consisting of predecessors and successors is more accurate. 2) Tim UK - Yes MS-Project has a mind of its own and is a pain when it changes things for no apparent reason. However, I've found in a vast majority of times, the changes it makes are logical based on how the tool was built and consistent with the documentation. The fact that the logic is often counter-intuitive leads to frustration. 3) Kurt Sampson's comment about the authors use of the word "before" rather than "at the same time", at a practical level is correct. When you want two dependent tasks to start at the same time, you would define a Start-Start relationship. However, if you check the MS-Project doc, the logic is explained with the word "before" - consistent with the authors usage. From a computational perspective, adjustments to a plan's schedule will follow MS-Project's logic, and process according to the rules, which may again lead to some counter-intuitive behavior.

kurt.sampson
kurt.sampson

I already know about all of these different relationships, and I found it confusing to read because the author used 'before' several times where 'at the same time' was actually more appropriate.

dave.greenwood
dave.greenwood

Start-to-finish is probably the most difficult to grasp. I read this example somewhere which I think makes it a bit clearer than the plant watering/fertilising thing: Both start-to-finish and finish-to-start relationships look the same on a timeline - one task follows on from the other. The difference is in the direction of the causal relationship. Suppose you have an examination upcoming which you need to study for. First the study will happen, then the exam. But it isn't (study)finish-to-(exam)start because it's the date of the exam which determines the scheduled completion of the study activity. So the precedence relationship is (exam)start-to-(study)finish.

tim uk
tim uk

Does anyone else find that setting this up in MS Project is a pain? Firstly there's the constraint type to decide on, then the slightly mysterious choices for fixed units/duration/work and for effort driven. Furthermore, it sometimes seems that I look away & the setting for a task has changed by itself, throwing the schedule, but maybe that's my imagination. BTW Tom, what's with all the "code" in the article? You really think PMs read code?

griffonconsulting
griffonconsulting

The start to start relationship is one that indicates that one task must start before another can start. If you want both tasks to start at the same time, you are also placing a constraint on the depedent task to "start as early as possible." This will drive the task to start at the same time as the predecessor. I sugest that one should be very careful when using constraints as part of schedule planning. Now, the default for MS Project is for all tasks to start as early as possible. That is why it looks like a start to start relationship drives the two tasks to start at the same time. Ted

mick10
mick10

Every text I've read has described the Start-to-Finish dependency / relationship as confusing. The most succinct, and memorable example ever provided was in Bonnie Biafore?s introductory text ?On Time-On Track-On Target? (Microsoft Press, 2006). ?The confusion arises because, in most cases, the predecessor occurs after the successor. For example, if you start evaluating requests for proposal (RFPs) on December 1, that date controls when vendors stop working on their RFPs. They deliver their documents in whatever state they?re in and hope for the best.?

donstrayer
donstrayer

It isn't your imagination. The more features you use the more of a pain it becomes, and the more likely that MS Project will change things in a 'friendly' attempt to resolve apparent conflicts. Keep it simple at first. Here are some tips: - Use the defaults when you create a new task. - Do not enter dates -- just durations. Put the date for the project start in project info. and that's it. - Create a WBS (outline) by indenting subtasks. - Use the link button on the tool bar to link dependent tasks. (It's Finish to Start, but that's most common.) - Link tasks only to other tasks within the same level, at least at first. - Try using the PERT view. It let's you move task boxes around and link them into a flowchart without the jumble of arrows in the GANTT view. After you've defined the basic WBS and precedences you can get into resource assignments, task types, constraints, etc. The more you try to micromanage the more complicated it gets. In that way MS Project models the real world!

Navy Moose
Navy Moose

I'm a PM with a small defense contractor and I'm using Open Workbench. I've got familiarity with MS Project from previous jobs. I've spent some time trying to figure out how to make tasks precedents to other tasks without success. Navy Moose

paul.laberge
paul.laberge

When estimating tasks and using your project schedule to plan, effort must be used as an attribute to tasks. This is done by assigning the 'work' task type. duration may be used for very high level planning but is useless for a development schedule with dependencies that you want to track by using leveling. using duration may cause many 'holes' that you won't notice until it's too late... Note: managing a schedule takes some effort but it pays off in the long run by having control over the work.

Martinigue
Martinigue

The 'code' looks to me as xml snippets, most probably it's a buggy page code in places where they intended to put some pictures (I believe); fixed units/duration/work - gives the creeps to me as well... Mac

casey
casey

Ted - I agree entirely with with your post, especially the caution about using constraints for scheduling. But, in reality and as you point out, every task is initially constrained by the "As Soon as Possible" default. IMHO the real constraint danger comes when arbitrary dates are paired with the constraint type. Unfortunately, the forcing of dates, plus the lack of any defined dependencies are the two biggest misuses of project planning tools I've seen (and continue to see) over the years.

griffonconsulting
griffonconsulting

This is not as difficult as it appears. When planning you do need to understand the nature of the work to set the task type. Now, MS Project has its own logic as to which type of task will result in what type of changes. You need two of the three factors to determine the outcome. Fixed Duration. As an example take a scheduled progress meeting. The duration of the meeting is fixed and adding resources will not change it. So if there are three people attending or if there are eight people attending the duration will not change. Fixed effort. Think of this one in terms of the availability of the resource assigned. If you know that someone will only be available to you 30% of the time, then using a fixed effort task may be appropriate. Once the total work is identified, the duration will be calculated. Of course, MS Project gives you another way of doing this too by settings specific to a resource. Fixed work. A good example for this type of task is painting a room. A painter will estimate the amount of work that is required. Adding a second painter will cut the duration in half (the assumption here is that the second painter is as productive as the first). Now, you will certainly reach a point where adding an additional painter will not realistically reduce the time required. Sixteen painters cannot paint an area in one hour if one painter requires sixteen hours of work. Determine the nature of the task, set the type of task, assign the resources, set the second attribute (work, effort, duration) and the software TOOL will do the calculation.

jonathan.202518000
jonathan.202518000

This actually looks like c code for creating the link type instead of xml, for 1 if it was xml it would look something like this A This actually looks like the code one would need to put in inside MS Office itself to create this format of link.

paul.laberge
paul.laberge

Work is effort driven by default. You can create a task that uses units (resources) as a measure and also have it be an effort driven task. This has the effect of reducing the remaining work based on the work recorded by any of the resources assigned. I don't recommend using units because with project server the recipients will keep seeing their task (assigned to them and other resources) even though it has been completed. When using Project server, the Web Access view is critical to successfully gain buy-in from users. Otherwise it is just a list of tasks with no specific order.

ronspublic
ronspublic

I understand the above bu can we explain the difference here between work and effort driven in this context.

Editor's Picks