An Information Supply Chain might contain loops for one of two reasons:

  • A rework loop resulting from a Quality Assurance pass/fail Action
  • An iterating loop where the quality of an Information entity is improved until it meets a quality threshold

Rework Loop

A simple rework loop might look like this:

The actual loop is shown in bold.


One characteristic of a loop is that it will equalise all values in the loop and therefore a loop will always be contained within a LINQset - a loop can never straddle more than one LINQset.  Where the loop is small, as in this case, the impact is minimal.   However, where a QA process occurs after many Actions have been conducted and results in a long loop, this can create extremely large LINQsets.  Fortunately, this situation is quite rare.


But we need to think about what we're wanting to depict in LINQ.  We're trying to identify the flow of information from Source to Business Outcome.  Rework really doesn't participate in that flow - rework represents Information Waste and we want to identify that more clearly.  So best practice for rework activities is not to create a loop but rather to end in a Information Output representing waste.


This would look like this:

It is now obvious that the 'Fail QA' 'recapture' Action represents Information Waste since it has no value.  Note also that the sketch has split up into separate LINQsets - each representing different connectivity.

Iterating Loops

Iterating loops are slightly more challenging to consider.  This is where an Information Asset is gradually improved until it satisfies a quality criteria.  A simple version of an iterating loop might look like this:


In this case,  a loop would be a valid option to depict what's going on and most iterating loops tend to be short loops.  


At present however, LINQ's Cost Allocation functionality does not support looping of any type.  For that reason, it is necessary to remove the connection from the 'not good enough yet' Information node to the 'Improvement Process' Action node.  That results in this depiction:


Although not ideal, this depicts cost and value in a satisfactory way.

Identifying Loops

In a large sketch, it can be challenging to manually identify where loops are occurring.  At the Cost Allocation release, the Hints and Warnings Panel now identifies any loops that occur in the Sketch:


Clicking on the Loop will select the edges of that Loop:


Identify the looping edge (Downward pointing connection arrows are a sure sign of a loop but the arrow can be obscured by the label) and reroute that edge to eliminate the loop using one of the strategies identified above.


Over time, we will be developing approaches that will allow loops to be handled in Cost Allocation.