Some while ago, J.B. Rainsberger posted a case for slack, and that you might be sabotaging your peoples training. I think it was Kent Beck who pointed me to the self-similarity of nature in eXtreme programming explained. In this post I’m going to take a closer look on how we learn, and how nature is self-similar in this regard, and what we may derive from this.
During my education as a swimming trainer, I learned how muscles evolve. The effects of physical training on the human body follow the principle of supercompensation. Wikipedia describes this to some larger extent. This graphic is taken from the article.
When a human exercises, then the body loses some of its fitness. It’s less capable, pretty exhausted. This is indicated in the graph by the downwards trend. After some time, the body will start to re-gain fitness. It starts to compensate for the lost fitness. The upward trend in the graph after the minimum fitness level indicates this. But the body learns from the training impulse, and over-compensates its own fitness level well above the previous level. So, after some rest period the body will be able to perform even more than before. But this increased fitness level does not hold forever. After some time, when no additional training impulse is indicated, the body starts to decrease its fitness level again, thereby effectively going back to the previous fitness level as before the training impulse.
Now, the model underlying physical training is this. Once the body supercompensates its fitness level above the previous state of the art, right when the level reaches its zenith, you apply another training impulse. The body starts to supercompensate again, and the cycle repeats. Sounds pretty straight-forward.
Unfortunately there is this downward trend. If we do not grant the body enough rest period, and apply the next training impulse too early, there will be a downward trend in in the accumulated training effects over time. This is called over-training, and is the degenerate case. A similar phenomena exists if we grant the body too much rest, thereby effectively staying at the same training level all the time.
But let’s stick with over-training first. How does this relate to the human body, and what has all of this to do with the software development, anyways?
Now, back to slack, as mentioned by Rainsberger. Take a closer look on the graph of his post. This is the generative case of training with supercompensation over time. Each time an impulse hits the system, the progress stagnates. Then, something happens that leads to an improved level of understanding or muscle fitness.
So, what happens when we don’t allow enough time to cope with the learned stuff during courses? The same thing that happens during over-training of muscles. You end up in a downward spiral, where you effectively end up knowing nothing. This is the essence of Rainsberger’s post. Allow slack, and your staff will learn; forbid time to learn and apply what was learned, and your staff will become unproductive – eventually.
Interestingly, the same holds also for change systems. The Satir Change Model has a similar principle. Productivity starts to decrease upon a foreign element. This is similar to a training impulse. Over time the change becomes accepted, and the human mind starts to see new possibilities and new potentials. Over time a new way to cope with the foreign element is found, and the productivity level is increased.
This is nature’s self-similarity. The muscles learn basically the same way as the human mind, and in the same way as humans change themselves. Now, in the case of foreign elements and changes, this also means, that too many foreign elements applied in a too short period of time,. will lead to degeneration. Over time the human is no longer able to change. On the positive hand, in the positive case humans can train to change themselves and learn with each change over time.
So, allow people to change, to learn, and to cope with foreign elements and impulses. Over time change, training, and learning will become natural. You will be wasting your time and money, if you don’t.