modelSoftwareReleaseProject

Causal loop example given by van Zijderveld (MARVEL)

Extends from BusinessSimulation.Icons.Example (Icon for an example).

Information

This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.

In 2007 Erik J.A. van Zijderveld introduced what he coined a "Method to Analyse Relations between Variables using Enriched Loops (MARVEL)" [24]. He made the following observations:

  • A causal loop diagram (CLD)—or impact diagram—is a good tool for integrating information from different stakeholdes and a modeling paradigm, which people with different backgrounds can easily relate to.

  • While quantitative data may be hard to obtain quickly and reliably, stakeholders and decision makers can often reach consensus on speed and strength with regard to impact relations.

  • Decision makers can typically identify pressure or intervention points and relevant performance indicators in such diagrams.

  • Often to come up with relevant insight it will suffice to show initial dynamic behavior, i.e., we do not need the kind of long-run validity that a fully fledged simulation model provides—given that the effort building such a model will usually be 10 to 100 times higher.
In section 5 of his paper van Zijderveld gives an illustrative example for the application and utility of MARVEL. The MARVEL diagram for that illustrative application is given below. The problem at hand is a software release project, i.e., a new software is to be introduced in a company, which has great impact upon procedures and organization, while resistance against the software endangers the project. The resistance stems from dismissals, low software quality and poor management [24, p.13].

MARVEL Diagram for a new software release project [24, p.14]
CausalLoopDiagram.png

In the diagram, the thickness of an arrow indicates the strengh of impact whereas length and number of "barriers" at their tips indicate the speed of impact propagation. These attributes are assigned qualitatively using weak, average, strong, very strong to rank strengths and low, average, high, very high to rank speeds.

The model diagram below illustrates how such a model can be built using the →CausalLoop package. Impact relations between variables are encoded using the →ProportionalityDelayed component with global parameters for strength (wk, av, st, vs) and speed (v1, v2, v3, v4) in place, the latter being transformed to delay times, which are inversely related to speed.

Diagram View
ModelDiagram.png

In accordance with the MARVEL version there are four control or intervention points, which can be turned on or off for a simulation run:

  • c1 : budget control with setpoint = 0.8

  • c2 : mandate control with setpoint = 0.7

  • c3 : management knowledge level control with setpoint = 0.5

  • c4 : management quality control with setpoint = 0.6

These controls mean that whenever there is a deviation between setpoint and actual level of the variable under control, then corrective action will be taken, i.e. a flow to the stock, in order to erradicate the deviation within the chosen adjustment time, whcih is set to 1 yr for all controls.

There are three main performance goals: cost effectiveness (costs), production quality (quality), and software usage (usage). In this example the normalized stock values pertaining to the goals are simply mapped upon the linear scale [0,1]. The graph blow shows the development for these performance indicators over a period of 10 years with just the budget control (c1) activated.

Performance Evaluation (c1 active)
PerformanceC1.png

In order to better combare different scenarios we can use a weighted average performance and calculate the mean over the simulation period (→totalPerformance). Using this measure we can compare different combinations of interventions and it turns out that a combination of c3 and c4 shows best average performance albeit withouth considering the control effort (see Notes).

Performance (basis points) for different control combinations
ControlCombinations.png

Notes

  • The parameters in the model are set to the values specified in van Zijderveld's paper whenever possible.

  • The model by specification is set up in equilibrium as there are not processes of exogenous growth in the model and all motion is triggered by changes. If at least one control is activated the model will show dynamic behavior.

  • Since control elements (optionally) report their rates, i.e., the control effort, one can readily expand the evaluation of scenarios by comparing performance gains to the required control effort.

See also

HealTheWorld

Parameters

TypeNameDefaultDescription
Performance
RatiowCost1Weigth for cost performance
RatiowQuality1Weigth for quality performance
RatiowUsage1Weigth for usage performance
Strength of Influence
Ratiowk0.2Weak influence
Ratioav0.5Average influence
Ratiost1Strong influence
Ratiovs1.2Very strong influence
Speed of Influence
Timev40.25Very high speed
Timev30.5High speed
Timev21Average speed
Timev13Low speed

Connectors

TypeNameDefaultDescription
Interfaces.Connectors.DataOutPortmodelOutputThe model's performance output

Components

TypeNameDefaultDescription
Thetatheta
ModelSettingsmodelSettings

Contents

NameDescription
ThetaStructural parameters
AccumulatedPerformanceWeighted average performance per period

Revisions

  • Added in v2.0.0.