Outbuild Circular Link Handling

This article will review a key topic: circular links. We will explore what they are, why they are problematic, and how Outbuild responds to them.

What are Circular Links?

A circular link occurs when two or more activities are interconnected in such a way that they form a cycle. For example, activity B depends on activity A to start, and activity B, in turn, depends on activity A to start (See image). This creates a loop in the sequence of activities.

Why are they problematic?

Circular links generate a "loop" in the sequence of activities. This can cause the program to freeze and automatic reschedules are not executed, since the tasks involved can never be rescheduled due to the mutual circular interdependence. It's like riding a roller coaster that never ends: Exciting at first, but soon you feel trapped in an endless cycle.

How circular links are generated (Cases)

Circular links can arise in different scenarios. Here are some examples:

  1. Linking a task to itself: For example, if the task "Design Review" depends on itself(The task has itself as a successor or predecessor).



  2. Cross dependencies between activities: For example, if the task "Excavation" depends on "Foundation", and in turn, "Foundation" depends on "Excavation".



  3. Connection of the end of a task sequence with the start task: For example, if a task sequence is started from "Start", ends at "Delivery" and finally links back to "Start".


ℹ️ When these cases described👆 are generated, OUTBUILD:

  1. Will automatically detect the generated circular sequence.
  2. It will automatically remove the link that generated the circular sequence.
  3. OUTBUILD will display a message communicating the generated case and the action taken to avoid the circular link.