If you want to catch up on the whole story, check out Jank in Teams, which starts at the beginning.
Prediction errors and jank
It seems that the retained mode is our way to compensate for the limited capacity to receive and process information about the environment. The implicit hypothesis behind the retained-mode setups is that we can make predictions based on the model we’ve constructed so far. As we Decide-Act, most of these will pan out, but some will generate prediction errors: evidence of incongruence between the model and the environment. We can then treat these errors as fodder to chew on in the Observe-Orient steps in our OODA cycle. Our rate of prediction errors for each cycle tells us how well we’re playing this whole OODA game.
Let’s see if we can add the concept of prediction errors to our framework. One way to visualize the idea of the model that is representative of the environment is to play on the idea of detaching from reality. You know, when we daydream about things at the stove, forget to turn down the heat, and burn our green beans (not that it ever happened to me). At that moment, our framework’s timelines come askew, with the environment's timeline proceeding in one direction, and our model’s going in a slightly different one, at an angle.
Now, let’s say that the angle is informed by the amount of the prediction error generated during this OODA cycle. Allow me to channel my inner highschooler and do some arcane trigonometry: a triangle formed by the environment’s direction, and the model’s direction, and the adjacent-hypotenuse angle being the prediction error rate (kudos to my son for helping me remember all this nonsense).
There’s something very important about this relationship. With the environment clock continuing to tick at the constant rate, higher prediction errors will introduce a time dilation effect within the model: the clock will appear to be speeding up, leaving less space for the OODA loop to cycle! And what does that likely mean for us? Yup -- more jank.
I will now take a tiny leap of faith here and correlate prediction errors and jank. Here it is: the higher our prediction error rate, the more incidents of jank we will experience. It seems that if we have a really awesome model that generates absolutely no prediction errors, we’ll have no jank. We’ll be like that youthful Keanu at the end of the Matrix, folding one of our hands behind our back, suddenly bored with the pesky Agent Smith. Conversely, if our model generates only prediction errors, it’s going to be all jank, all the time. We’ll feel like the Agents Smith in that same scene.
So it is likely that anytime we’re experiencing jank, we might be experiencing a troubling prediction error rate. Micro jank will come from the relatively small rate, and macro jank -- from when the angle approaches 90 degrees (π/2 for you trig snobs) and the model clock is spinning like a top.
In either situation, especially when we feel like we have no time to react, it might be a good idea to reflect on how well we understand our environment -- and most importantly, whether we’re aware that we only operate on the model of it.
One of the most common mistakes organizations make is confusing high rates of prediction error in their models for the environment raging against them. If you ever had a fight with a loved one, and was humbled by recognizing how your assumptions took you there, that must resonate. With all the jank we produce and we’re surrounded by daily, and the enormous piles of prediction error rate this must represent, do you ever wonder how much slower the environment’s actual clock is compared to the one we perceive? And the untapped potential that the difference between them represents?
🔗 https://glazkov.com/2021/11/28/prediction-errors-and-jank/
OO and DA
As it usually happens, we find ourselves in a conundrum. When managing jank, do we focus on the accuracy of our predictions or do we try to stay on pace with the clock? There does not seem to be a good answer -- and trust me, “both” rarely feels helpful in the middle of the OODA cycle. It’s an iron triangle of seemingly impossible constraints. Given our current capacity as constant, we have to pick one of the two others: time or accuracy.
Each presents two different configurations for the OODA loop: I’ll call them the OOda loop and the ooDA loop (note the capitalization).
Leaning toward the OOda loop, we spent most of our budget trying to perfect the model, favoring the Observe-Orient steps. We try to “consider all possibilities” and “look at the whole picture” when leaning toward this side of the spectrum. We hesitate to engage, hoping that the nature of the environment will reveal itself to us if we just keep our eyes peeled.
In the extreme, this configuration turns into the OO loop. We are subject to our “flight” instinct. We zoom out as wide as possible, trying to find ways out of the situation we’re currently in, gripped by the anxiety that comes with trying to consume the entirety of the environment. Everyone and everything is a potential threat, and every part of the environment hides nasty surprises. Every possible action looks like a wrong move. There is no escape.
This configuration produces jank that is immediately visible and seen, rarely a micro jank. Skipping a move is a big deal -- and also a form of action. To collect more information about the environment for each iteration of the cycle, we need to act. Missing our opportunity to do so reduces effectiveness of our Observe-Orient steps. Despite our best and widest stares at the world, we are passive participants and our learning is limited to what is seen. The “analysis paralysis” is a common description of a team that is veering too hard onto this side.
In the ooDA loop, we forget -- or willfully ignore -- that the model might not be accurate. We concentrate our energy on the Decide-Act part of the process. If someone is calling for “bias toward action,” they are probably looking to move closer to this configuration. We lose sight of our model being just a fanciful depiction of the environment. It feels like “we’ve got it,” we finally “figured it out,” and now it’s time to seize the moment. All we have to do is “create order from chaos.”
At the very extreme is the DA loop, when we’re driven entirely by our “fight” instinct. Here, our vision tunnels, and we only see simplified caricatures of the environment. A driver who just cut us off in traffic is a “stupid moron.” A colleague who said something we don’t agree with in a key meeting -- a “backstabber.”
The ooDA configuration feels good at first. Asserting that the environment is “solved,” we gain a sense of certainty and confidence. Unfortunately, our prediction error rate tends to compound, because the model is being neglected -- with each new cycle, we plow farther and farther away from reality. This compounding results in exponential growth in jank. We already know how this ends. From inside the organization, DA feels like one fire after another, sudden and unexpected. When teams are caught in constant fire-fighting and struggling to get out of one mess, then falling straight into another -- chances are, they are favoring the ooDA loop’s end of the spectrum.
Neither of these extremes is a pleasant place to be, so organizations rarely spend time sitting in any of them. Instead, they lurch from one end to the other. The analysis paralysis gives way to “time for decisive action,” which is followed by “need to regroup and reassess” and so on. And in the process, teams pipe out jank like the smokestacks of the industrial revolution.
Individually, we all have our go-to OODA configuration as well. It is helpful to know our biases. For example, my first instinct is to shift to OOda, often in unproductive ways. Some folks I know prefer the more Leroy Jenkins style of ooDA, and recognizing how we might react in various situations helps us collaborate and reduce the collective lurching from one extreme to another.
🔗 https://glazkov.com/2021/11/30/oo-and-da/
Who is winning? Who is losing? Will the OO and DA finally reconcile? Find out in the next week’s batch of “Jank in Teams.”
This may be my favorite new phrase: "Leroy Jenkins style of ooDA".