none
How to set up an "OR" dependency with multiple tasks RRS feed

  • Question

  • I have three tasks, A, B and C. I want to show that C can start when either A or B (or both) has finished. Normally, if I say C is dependent on A and B, both have to finish (it's an "AND" dependency). How can I set up an "OR" dependency?
    • Edited by MS123 User Tuesday, January 31, 2012 5:37 PM
    Tuesday, January 31, 2012 5:36 PM

Answers

  • This can be done with a little bit of trickery.

    1) Set up a new summary task "working area for OR calc".

    2) Within this put two milestones driven in the normal Finish-Start way, one "Finish of A" and the other "Finish of B".

    3) Outside of the new summary are set up a new milestone "Trigger milestone for C" and paste link from the Start of the summary task "working area..." to the start of this new milestone

    You now have a trigger milestone which is driven by the earliest event of either A or B finishing.  Use this to drive the start of C.

    Note that

    1) your users will be presented with a message asking if they want to update linked items - always answer yes

    2) Your critical path could be affected by this - if these tasks are on the critical path that CP will stop at the "trigger for..." milestone

    3) It is always good practice to annotate in the notes fields what task is paste linked to what (and don't use the ID for this note as this will change causing confusion!)

    Hope this helps

    Miles

    Thursday, February 9, 2012 1:41 PM

All replies

  • Hi,

    You can't achieve this with tasks planning alone.

    If you assign the same resoruce to all three, then specify (via Max Units) the resoruce can only work on 2 tasks simultaneously, Resource Leveling will neatly plan C once A or B are finished.

    Ad BTW, the only time I concretely encountered this "constraint" was because of a resoruce limitation..

    Greetings,

    Tuesday, January 31, 2012 8:02 PM
    Moderator
  • MS123 User,

    Well, you can't unless you use VBA. There is no "OR" function on Project task dependencies. Your best bet is to go ahead and set it up task C with a finish-to-start relationship with both task A and B. Then when either is complete, break the dependency line to the other and let task C start.

    A lot of project management is continuously reviewing the current schedule for viability. As reality happens, adjust the schedule accordingly. But remember to save a baseline so you can track how the current plan is doing against the original plan.

    Hope this helps.

    John


    Tuesday, January 31, 2012 8:05 PM
  • I saw this post and thought at first that exploiting the inactive tasks feature might address the requirement but then decided this was not exactly what was required. Task C can start when either A or B are finished. So Task C has 2 predecessors, A and B both linked Finish to Start with no Lag, there is no indication as to how long A & B might take.

    Problem with this is that if either A or B take longer than the other task there will be an impact on the scheduled Start of Task C, if this is not what is wanted it suggests that either A or B drives task C, which one is it?

    Ask the question, what do I need to do in order to Start C, do I need to have Finished A or B, finished them both, progressed them both but not finished either of them or none of these.

    Project is a scheduling tool that relies upon crude logic rather than an autonomous control mechanism with its own in-built branching logic.

     


    Dominic Moss MAPM Microsoft Certified Technology Specialist Wellingtone Ltd - Your Project Management Partner - Certified Microsoft Partner Specialising in EPM/PPM - Corporate Members of the Association for Project Management [APM] - Members of the Recruitment & Employment Confederation [REC] www.wellingtone.co.uk http://www.wellingtone.co.uk/blog Subscribe to The Wellingtone Project Management Newsletter Join the thousands of project management professionals who receive practical, straight forward advice, templates, tips and expert articles every month.
    Friday, February 3, 2012 9:35 AM
  • John, Dominic, and others,

    What's wrong with the solution I propose?

    If nothing, why continue telling it's impossible?

    Greetings,

    Friday, February 3, 2012 10:52 AM
    Moderator
  • Jan,

    The question made no reference to resource constraints - resource levelling would not answer what the question poses. The question itself is indicative of an expectation which is not native functionality in Microsoft Project and alludes to the solution employing branching logic which cannot be achieved.

    My answers were intended to focus upon what truly influences the scheduling of tasks, this in turn will hopefully lead to a more relevant use of the tool by the person asking the question.

    A previous answer pointed to continually monitoring the schedule once it is underway and making informed decisions to direct the project which I agree with - the project plan is a guide as to what might happen and once underway should be referred to and updated, updates can include editing or removing dependencies as a result of changed circumstances.

    Resource levelling has its applications but this scenario to my mind is not one of them.


    Dominic Moss MAPM Microsoft Certified Technology Specialist Wellingtone Ltd - Your Project Management Partner - Certified Microsoft Partner Specialising in EPM/PPM - Corporate Members of the Association for Project Management [APM] - Members of the Recruitment & Employment Confederation [REC] www.wellingtone.co.uk http://www.wellingtone.co.uk/blog Subscribe to The Wellingtone Project Management Newsletter Join the thousands of project management professionals who receive practical, straight forward advice, templates, tips and expert articles every month.
    Friday, February 3, 2012 11:06 AM
  • This can be done with a little bit of trickery.

    1) Set up a new summary task "working area for OR calc".

    2) Within this put two milestones driven in the normal Finish-Start way, one "Finish of A" and the other "Finish of B".

    3) Outside of the new summary are set up a new milestone "Trigger milestone for C" and paste link from the Start of the summary task "working area..." to the start of this new milestone

    You now have a trigger milestone which is driven by the earliest event of either A or B finishing.  Use this to drive the start of C.

    Note that

    1) your users will be presented with a message asking if they want to update linked items - always answer yes

    2) Your critical path could be affected by this - if these tasks are on the critical path that CP will stop at the "trigger for..." milestone

    3) It is always good practice to annotate in the notes fields what task is paste linked to what (and don't use the ID for this note as this will change causing confusion!)

    Hope this helps

    Miles

    Thursday, February 9, 2012 1:41 PM
  • Interesting solution from Miles, had forgotten about the option to link cells using the paste link option - whilst this works it does come with some baggage as alluded to by Miles and is quite an involved answer to the simple question of having an "or" option in the predecessors.

    Dominic Moss MAPM Microsoft Certified Technology Specialist Wellingtone Ltd - Your Project Management Partner - Certified Microsoft Partner Specialising in EPM/PPM - Corporate Members of the Association for Project Management [APM] - Members of the Recruitment & Employment Confederation [REC] www.wellingtone.co.uk http://www.wellingtone.co.uk/blog Subscribe to The Wellingtone Project Management Newsletter Join the thousands of project management professionals who receive practical, straight forward advice, templates, tips and expert articles every month.

    Thursday, February 9, 2012 2:05 PM
  • Jan,

    Nothing wrong with your approach. You will note that my reply was 3 minutes after yours. Before I responded there was no other reply, we were essentially responding simultaneously. You just happen to hit "submit" before I did. This happens every once in a while. I've even had some cases where someone submits a response that essentially says the same thing I did but several hours later.

    John

    Thursday, February 9, 2012 4:41 PM
  • Sorry John, as usual I reacted a bit emotionally.
    Thursday, February 9, 2012 8:28 PM
    Moderator
  • Jan,

    No problem. You and I are both perfectionists. Emotion shows that you have passion for your work and there is nothing wrong with that. Keep up the good work. I read the threads and I know a lot of users appreciate the help you give them. If I'm only half as helpful as you are, I feel I'm doing okay.

    John

    Friday, February 10, 2012 12:08 AM
  • Jan

    The health warning on your solution is that unless the 200% max value is tightly controlled to the time of the potential overlap the resource could then be over allocated for the rest of the project which could cause some confusing schedule results.  It does also rely on using Resource Levelling which many people shy away from (probably due to poor experiences in 2003 and below with the slightly crude levels of priority leading to logical task chains breaking up).

    Having said that it is a nice neat solution to the question posted and I feel very odd offering any critique of your solution :) :)

    Regards

    Miles

    Friday, February 10, 2012 7:03 AM
  • Hi Miles,

    Thanks for the kind words.

    I 'd stll like to add that I didn't only think of leveling because it calculates what he man wants, but also, as I said, that in my experience this question mostly arises in a resource-constrained situation and that the resource levels necessary to make "my" solution work are there anyhow. OTOH, lots of people do not resourc etheir plan at all and then enterin "artificial" resoruces to ake this work don't harm.

    Greetings, 

    Friday, February 10, 2012 7:35 PM
    Moderator