drunkcod's think tank

ramblings from within a glass box

Hysteresis Management
(Please note that post is not pertaining to contemporary practice, that’s hysterical management.)

Improvement efforts are often described in deceptively simple terms, all you need to do is to follow a simple loop of:

  1. Defining the desired situation.
  2. Figuring out how things presently are.
  3. Close the gap between 1 and 2 by appropriate means.
  4. Profit.

One curious thing about this particular strategy is that unless you’re constantly moving the goalposts "forward" it’s bound to yield some interesting but not particularly useful behaviors.

Consider what might happen if we use this strategy to regulate heating using a very basic setup of a furnace, a sensor and a thermostat:

  1. What’s the desired state?
    21°C because some article claimed that top be the optimal room temperature for health.
  2. How are things currently?
    <checks the sensor reading>
  3. What are we doing about it?
    if lower than wanted, fire up furnace ( on )
    if higher than wanted, turn it off. ( off )

What happens if you try this is that you’re likely going to be rapidly cycling the furnace on and off causing stress, wear and long term fatigue. One simple and common solution in this particular case is to redefine the policy so that instead of checking towards only the desired temperature we have some leeway at both ends, we keep the furnace on until we’ve overshot slightly and likewise don’t rush to start it up again unless we trailed some distance below the optimal.

This makes the system time-dependent, it’s no longer sufficient to know only what the current room temperature is, historical knowledge or some insight into the internal state of the thermostat becomes necessary to appropriately assess what the furnace ought to be doing at any given time.
(For a fuller explanation of Hysteresis see. https://en.wikipedia.org/wiki/Hysteresis)

Why did I just spend half a page rehashing how room heating works, was it simply a smug attempt to show that thermostats are smarter than the average Agile coach?
(This might, or might not be true I might come back to it in a later post)

No the real reason I want to introduce hysteresis as a concept is to explain some common situations and provide an option to gracefully handle them based upon sound and well established theory. I’m sure you’re asking yourself why, if the initially given strategy so obviously fails for even something as simple as keeping the workspace habitable don’t we see more rapid "furnace" cycling in our projects?

The most straightforward reason is simply one of sampling, we expect thermostats to continuously and often check the temperature reading lest we deem it broken. Most project management and change efforts only adjust at intervals closer to weeks or sometimes months, this gives ample time and opportunity to naturally overshoot, undershoot and occasionally even hit the target without realizing it. This inbuilt slowness effectively turns an implementation of the flawed initial strategy into an approximation of the hysteresis aware solution. So our inability to implement the strategy we claim to be using leads to us using a much more robust strategy as a byproduct!

Tempting as it might be, if you stop reading now you might miss the important bit.

Problem amass when we start improving our implementation by shortening the feedback cycle, imagine if we meet daily to take a temperature reading? What happens if we start doing it anytime someone believes the climate isn’t as comfortable as it ought to be?

What has happened to me on multiple occasions is that all of a sudden a project or team that was doing reasonably well under the old sampling strategy seems to be riddled with problems, this prompts quick decisive action from project managers, scrum masters, or anyone else that feel responsible for keeping the heat on. These actions, all directed towards “fixing” things cause friction and heat but no improvement in living conditions. Given enough of this flavor of helping many teams and organizations decide to fall back to the old way of doing things. Successfully implementing the espoused theory caused us to inflict scorching heat on ourselves, burn out and eventually backslide.

With just a smidgen of appreciation for hysteresis and the necessity to avoid such rapid cycling and the simple strategy for doing so the story could have been another.

Consider what would have happened instead of every negative reading, problematic as it might be, was met by an inquiry regarding if it’s severe enough to warrant taking action on now, and if not what reasonable tolerance levels would be. That is, what if we instead of assuming that problems by default require prompt action we realize that many self heal, and for those that do require intervention, simply stopping once the target condition is met probably is a few steps too soon.

This might give us a slightly slower, as measured by actions per unit of time, system but with increased resiliency and less wasted energy and noise.

This is but one way hysteresis can influence how we manage. If you liked this, holler and I might continue the exploration.