Diagrams of Effects are similar to Causal Loop Diagrams (CLD), but it is slightly different in notation and is more powerful in modeling human interventions in the system. A diagram of effects consists primarily of nodes and arrows. Each node corresponds to a measurable quantity. Easy arrow corresponds to an effect (whether positive or negative) which the source node exhibit on the target node. This is a description of the diagram elements:
Element | Notation | Description |
Node | A measured quantity. It can be actual measurement, or deduced from observation or by experience | |
Cloud Node | A measurable quantity, although actual measurement may not be done. Or, it may represent a conceptual measurement (like stress, pressure, etc.) which may be too expensive to measure, or just not worth the trouble. | |
Natural Positive Effect | ||
Natural Negative Effect | If A moves in one direction, B moves in the opposite direction. This effect is natural (without human intervention) | |
Positive Human Intervention | ||
Negative Human Intervention | Indicates a human intervention which makes the affected measurement move in the opposite direction as the movement of the cause. | |
Human intervention with open choice of Effect | Indicates a human intervention which makes the affected measurement move either in the same direction or the opposite direction, depending on the intervention. |
Reinforcing & Balancing Loops:
What is interesting about Diagrams of Effects is that they reveal Reinforcing loops and Balancing loops. Reinforcing loops are cycles of effects which reinforce each other and may drive the system to failure. In the following example, more bugs lead to higher levels of stress which leads to more bugs. Also, it works in the other way as well, less bugs leads to less stress which leads to less bugs:
Another type of feedback loops is the Balancing loop, in which one effect balances another. In the following example, in case bugs increase, team exerts more effort in code review which leads to less bugs, which balances the effect of increasing bugs:
Such dynamic is not possible to be studied using 2-dimentional graphs. This is why Diagrams of Effects is an excellent tool for analyzing complex systems.
Another type of feedback loops is the Balancing loop, in which one effect balances another. In the following example, in case bugs increase, team exerts more effort in code review which leads to less bugs, which balances the effect of increasing bugs:
Such dynamic is not possible to be studied using 2-dimentional graphs. This is why Diagrams of Effects is an excellent tool for analyzing complex systems.