headshot of George Dinwiddie with books he's written

iDIA Computing Newsletter

March 2022

Coping with Large Complex Systems

As I write this, I'm distracted by the current Russian invasion of Ukraine. It's hard for me to focus on other things. I'm distracted by my empathy for all the people who were merely trying to live their lives when death and destruction rained down on them. I find myself checking multiple news sources, hoping that some solution is emerging from a situation that seems to have no solution.

There are plenty of arm-chair generals suggesting simple solutions on social media. "All we have to do is just..." They can justify in mechanical terms how some simple response will solve the problem. They don't seem to consider that there is much to the mechanism of the problem that is neither visible nor predictable. If you take this simple action, instead of solving the problem, the system will adapt to your action. That's what complex adaptive systems do.

And any system composed of humans is both complex and adaptive. Alistair Cockburn characterized people as "non-linear, first-order components" in software development. This is true of all social systems.

We can gain some insight into the workings of a complex adaptive system using a diagram of effects. Jerry Weinberg explores this tool in Quality Software Management: Systems Thinking (later revised into two ebooks, How Software Is Built and Why Software Gets in Trouble). This approach helps us visualize the forces in play, but only works in small localized areas. We'll never trace out the entire system, or even all the effects in our localized area. And as we're doing so, the system is mutating and changing its behavior.

David Snowden's Cynefin framework suggests making sense of complex systems by probing the system, sensing how it responds, and responding to that. This helps us understand on a larger scale than we can diagram. The response we sense includes the effects of parts of the system that we don't know even exists. It does not help with a war in Europe, though. Most of us are not in a position to effectively probe the system producing this war. We can't even see much nuance of the system's response. And if we could probe, but do so in the wrong place, the system might respond with thermonuclear war. "Don't poke the bear."

As much as I would like to stop this war and remove the possibility of future wars, I don't know how to do that. Our global society has formed a system that makes wars likely. There are always several going on at any given time. When a system repeatedly reproduces similar behavior, you can bet your bottom dollar that there is a reinforcing feedback mechanism, or several, that directly or indirectly promotes that behavior. It's not effective to say "stop that."

When I watch videos of Virginia Satir working with families, I don't see her telling people to quit doing what they're doing. It's too hard to give up old habits. Their family system has too many loops maintaining those behaviors. Instead, she works to plant new seeds. "Try this." "How did that feel?" "Do you think you could do that?" These are attempts to expand the system in beneficial ways.

These are also probes of the system. In the long run you might observe how the system responds and changes. In the short run, she suggests things that have a shorter-term payoff, at least within a small part of the system. She suggests small behaviors that help bring people together, that promote paying better attention to each other, and that promote them feeling better about themselves. Such results reinforce the behavior. The repetition of the behavior builds new adaptations in the system.

There is no end to this process. We're never "done." There will always be problems, and we will always need to try to intervene on behalf of ourselves, others, and the world. Let's do what we can to make it better. Let's grow connections with other people.

/signed/ George

P.S. Please explore with me ways that ordinary people like myself can help influence the world to have a better tomorrow.

We can schedule a zoom chat to see how we might help each other. Or just to explore the possibilities. What we discover will likely help in smaller, but still large complex systems like the organizations we work inside.

Schedule a Zoom Chat

Or you can also simply reply to this email or send an email to newsletter@idiacomputing.com to continue the conversation. There's a person, not a bot, on this end. I'd really love to hear from you.