The longer it takes…

Causes, effects, balancing and reinforcing loops around work-in-process (WIP) and cycle-time.

Bruno Baketarić
5 min readDec 22, 2023

Having a lot of work in parallel — called a high amount of Work-in-Process (WiP) in kanban terms — causes these work items to take longer to complete: the average Cycle-Time raises. People usually get this simple fact quite quick, no matter their role in an organization.

But that's very often not the whole story. High WiP and long Cycle-Times are causing other effects, which again are a cause of something else. At some point loops may form which are either of a balancing or reinforcing nature. Per se, this is neither good nor bad. A loop that reinforces a beneficial change is great; in other cases, one would prefer to break such a loop.

A naturally arising question is: Which loops do exist and what’s their type? Only once this is known, one can effectively try to change the system for the better.

The whole model, as of May ‘23

To visualize such systems, where variables can change quantitatively over time are linked together in a cause & effect chain, Causal-Loop-Diagrams (CLD) were invented. Various sources exist that explain how to consume or create such Diagrams¹. For now, it should be sufficient to know, that a connection of two variables by a blue arrow means that these change into the same direction: If the source raises (or declines), then the target also raises (declines). A red arrow means, the connected variables change in opposite directions: if one goes up, the other goes down².

simple reinforcing loop

Let’s tell the story of the loop in the image above: If WiP raises, Cycle-Times get longer. The more time is needed to deliver a work item, the higher the probability that requirements or even the strategy changes, which in turn leads to rework (which includes additional work in this case) on a particular work item, which contributes to raising WiP. It’s a reinforcing loop.

Let’s look at another.

another reinforcing loop

We start with WiP again and, in contrast to above, now assume it goes down. Then the Cycle-Times would also go down, leading to less pressure to deliver from stakeholders, which will reduce the likelihood of patchwork, taking shortcuts and similar. If the amount of that goes down, quality will go in the opposite direction; it will go up. Higher quality will result in less rework, leading to less WiP. Again, a reinforcing loop.

And an example for my earlier statement that loops per se are neither good nor bad.

Let me also introduce a balancing loop before I get to some closing words and let you explore the whole model yourself.

a balancing loop

You already know this part of the model from the former story. I just skipped the fact that taking shortcuts doesn’t just impact quality, it also has an immediate effect on WiP: it’s lowered.

Now we’ve seen enough examples so I can tell you how to distinguish between reinforcing and balancing loops. If the number of opposite-direction edges in any loop is even or zero, it’s a reinforcing one.

Explore yourself!

I’ll not tell all the stories that can be found in the whole Model. Head over to Kumu.io and explore it yourself. I may add more variables over time, so expect the model to evolve.

In one of my examples, I assumed a decreasing WiP. This is all but a typical observation in organizations, and therefore it will be easier for you to start by assuming a raising WiP, because you can connect that to your day-to-day observations. And of course, every observation you make that is represented by a variable in the model is a valid starting point.

Once you digested the whole model, connected it to your context, start to think about actions that may change the dynamics into what you believe to be beneficial. Don’t forget side effects of your actions!

In case you want to contribute to the model itself, have questions or want to discuss it, contact me on Mastodon or LinkedIn.

Spoiler: My conclusions

Once your WiP starts growing, you’re doomed. Not necessarily immediately, but due to the multitude of reinforcing loops, chances that one of them gets out of control, are high. Also, a gradual deterioration, which goes unnoticed for quite some time is possible.

The three best options to get out of the mess, if you’re already in it, are (in this order):

  • Try to remove pressure to deliver and let the teams catch up on everything they missed. Easier said than done, I know. I failed more often than I succeeded. Either way, a good relationship to those that want their needs met, so one can say No! or at least Not now! is something to aim for.
  • Dependencies contribute heavily to Cycle-Time. And once this is long, a lot of loops get going. Therefore: Relentlessly try to reduce dependencies and actively manage those you cannot get rid of. Please note that predictability often trumps speed here.
  • Make people working in teams aware and constantly remind them, that helping each other, working collaboratively on work items is better than starting something else in case of often inevitable waiting times.

[Note: initially published on Substack on May, 14th 2023, but since then, I decided to leave that platform.]

[1] The Systems Thinker — Causal Loop Construction: The Basics

[2] I used colors since the tool I used supports them, but formally any edge between two variables is tagged with either a plus (+) or s for same direction or a minus (-) or o for opposite direction.

--

--

Bruno Baketarić

Ex-Dev & Ex-Head of ... now Agile Coach @ SAP. I draw from lean, agile, kanban, complexity theory, systems thinking and social sciences. Opinions are my own.