A Multi-use Model
Models are like kitchen utensils. You need a variety of them, and you should know when and how to use them. They should be useful for more than a single task. I recently started exploring the first explicit model I learned years ago.
The Cybernetic Model
One of my more interesting college classes was feedback control. The class was based on differential equations, Laplace transforms, and a single model that looked like this:
This model is the basis for most of the process control in the world. Basically the setpoint getscompared to the actual value. The error value goes to a controller, that then takes a corrective action. If the temperature is to hot, the corrective action might be to reduce the heat in the temperature jacket. After a while, things cool down. All processes have a time lag between the corrective action and when the change arrives at the output. I “borrowed” the “delay symbol” from Causal Loop Diagramming to show this. If it gets too cool, the controller will change the action and add more heat.
I didn’t realize at the time how powerful and versatile this diagram is.
Personal Problem Solving
With just a few word changes, the model can be used to describe how people can solve their problems.
A problem exists when a difference exists between what we want, and what we have. We can solve the problem by changing our actions, and seeing if the world at large responds with results that are closer to what we desire.
I’m trying to lose a few pounds. I can change what I eat (calories, fat, carbs, pick your favorite fad diet). I can change how often I exercise. If I continue with these changes, eventually I should lose the weight.
Change a couple of more words, and now we have a project management tool.
In this drawing, I’ve used a dash line connection between the manager (in this case synonymous with leader) and the team. I made this distinction since managers don’t have a direct linkage to the team. Managers can ask, cajole, threaten, and perhaps fire team members who don’t perform the tasks they’ve been asked to do. But the team member always has a choice.
Loops All the Way Down
It is possible to nest the cybernetic model. Consider the Scrum sprint cycle. The generic sprint cycle looks like:
The outside loop is the sprint cycle (usually 30 days or less). Every sprint the product owner sees new product functionality. This allows him/her to compare the current product state with the target. A subset of the remaining stories gets selected by the team and becomes the current spring backlog. Every day during the sprint, the Scrum team tracks how it’s progressing toward the sprint goal by completing the stories in the sprint backlog.
I’ve left some feedback loops out of this drawing:
- The team assigns stories relative weight/size/difficulties to the stories.
- The sprint planning meeting occurs in the arrow labeled “Priority Stories”. The team uses the information from its previous sprints to determine how much they can accomplish in the next sprint.
- The many interactions that happen each day as the team works towards the sprint goals.
I chose not to include them since I’m working from an overview position. If these areas presented difficulty for the system, I’d focus on them and leave the other loops off.
A Rose is a Rose
In Quality Software Management: Systems Thinking Jerry Weinberg presents the model in a slightly different picture (page 62).
Jerry says, “The feedback model of a software development system requires feedback of information about the system’s performance, plus requirements for the controller to compare with that information. This is the model that distinguishes Pattern 3 from Patterns 0, 1, and 2. It is also used by Patterns 4 and 5.”
This presentation highlights two systems aspects:
- Randomness – All systems interact with their environment. Changes in the environment create changes in the system whether the changes are planned or not.
- The software development system creates “other outputs” that the controller can use to improve the overall system performance.
A Good Place to Start
Like kitchen utensils, you need many different models. Here’s a list of models I’m aware I’m using.
I didn’t consciously start the list with the Cybernetic Model, but that’s where it belongs. Any time I start with a difference between what I want and have, I’ve already started using the Cybernetic Model.
Based on the domain, I may choose to use other models to help resolve the difference. If I’m involved in a conversation that doesn’t make sense, I may use the Satir Interaction model to find out why the conversation doesn’t make sense. If a co-worker’s actions don’t make sense, maybe I’ll use MBTI types to shed light on the problem.
But it all starts with the multi-use, handy-dandy, it’s everywhere, Cybernetic Model.