Built-in Adaptive Cruise Control in your Scrum Team...
Metaphors are a very useful way of explaining a concept to somebody. During the Professional Scrum Master Training (PSM), empirical process control, which is the foundation for Scrum, is explained by the metaphor of a thermostat. Now, given that metaphors work best when a person can relate to them, when the audience, reader, student has an emotional connection with the metaphor, we can always use another example. When receiving the question from a friend to have an alternative for the thermostat metaphor, I came up with the Adaptive Cruise Control feature that quite some cars have these days – just in case you, or your audience, have an emotional connection with cars of course…
First things first. Let us revisit the definition of both “empirical” and “adaptive cruise control”.
Empirical: “based on, concerned with, or verifiable by observation or experience rather than theory or pure logic”. (from Lexico.com powered by Oxford)
And “Empiricism asserts that knowledge comes from experience and making decisions based on what is known.” (from scrumguides.org)
Adaptive Cruise Control (ACC): “a driver assistance technology that sets a maximum speed for vehicles and automatically slows the speed of the car when traffic is sensed in front of the vehicle. The driver sets a maximum speed and the distance, within reason, to follow.” (from whatis.techtarget.com)
Empiricism is upheld by three pillars: transparency, inspection and adaptation. Now how does our ACC system answers to these?
In order for ACC to work effectively, the system does need some input. While I am far from an expert in a car’s safety systems, I can imagine that the speed of my car and the distance between my car and the one in front of me both play an important role. What would happen if for example I am driving at 120km/hr while the system thinks we are cruising at 80km/hr? Or that the distance with the car in front is 50m while the system thinks it is 75m? Or that I hit a squirrel (hey, a dead squirrel also has a role in the PSM training…) the evening before and now one of the sensors in the front of the car is no longer functioning and the system hasn’t detected that?
Transparency means (from scrumguide) that “significant aspects of the process must be visible to those responsible for the outcome". And that "transparency requires those aspects be defined by a common standard so that observers share a common understanding of what is being seen.”
In other words: visible and correctly understood.
Now that our ACC receives the input from different sensors, the system has to interpret these. Is the distance becoming smaller? How fast? Is the distance becoming larger? Is the car at the maximum speed the driver has set? How does that compare to the settings of maximum speed and distance the driver has set? Is there a variance? How much? Is it within an acceptable tolerance?
Transparency without inspection means there is a bunch of correct, accurate, information available, yet not being used. Inspection allows to detect undesirable variances.
Frequent inspection is important. What if the ACC would check only every minute, and this while there is a traffic jam 500m in front of you, and while you are driving at 120km/hr?
Luckily the sensors of our ACC function correctly and we have frequent inspection going on of the incoming data. The system can now act based on these observations: slow down the car, speed up again, make an emergency brake.
Inspection without adaption means the system detects undesirable variances, yet does not act upon it. Adaptation must be made as soon as possible to minimize further deviation.
What if the car would inspect and adapt abruptly every millisecond? A hard break when there is 10cm short in distance or 1km/hr faster? Or the reverse. Accelerate full-throttle when we are at 10cm more distance or 1km/hr slower? I’d probably throw up.
Therefore, inspection and adaptation should take into account acceptable upper and lower control limits. It is not because there is the slightest variance that a correction is needed. Be clear on what undesirable variance means.
Missing out on one of the three pillars that uphold empiricism means… you together with your team...
Other metaphors you can find in your car? The rain and light sensor systems for example. And even outside cars, most likely, any system that makes adaptations based on sensors is most probably a usable metaphor to explain empiricism with your audience.
Now, in your Scrum implementation, are significant aspects of your processes visible and understood? Is there a frequent enough inspection of these? And in case of undesirable variances, are adjustments made? Time to inspect and adapt I would say.
Have a safe drive. And Scrum on.