I wasn't there, but I was lucky enough to catch the tail-end of Elizabeth Zagroba's live-tooting of Jessica Kerr's keynote at the Virtual Domain-Driven Design Open Space Meetup. Her toot that caught my eye was
"Zooming in and out takes a lot of mental energy. Systems thinking is not for everyone."
Now I don't know whether or not systems thinking is not for everyone, but I've wouldn't want to bet against Jessica Kerr. On the other hand, I've come to think that any system that has human components is necessarily complex, and systems thinking is a major help in understanding the system. Also, I've found that zooming in to consider the details of a situation and out to consider the context is an excellent tool for exploration. I think it's an excellent tool for everyone to use, and pondered
"Perhaps it's also mental calisthenics to build the strength for systems thinking."
Thinking about human systems, I considered the potential boundaries of the larger system for zooming out.
There are so many larger systems to choose from...
- the team in which an individual programmer is working
- the organization of which the team is a part
- the population of people affecting or affected by the product being built
- the society whose social norms may be shifted by the product
- the family depending on the programmer's continuing income
- the life of the programmer outside of, preceding, and following the practice of programming
With a bit more conversation, I came to the understanding that she was talking specifically about software system design for observability. Yes, when you're working on the details it can be hard to keep in mind the larger context. But it's not so hard to take a pause now and then and consider these different levels. And a good first step is just identifying some potential system boundaries that might be of interest.
Maybe it's like Chef Gusteau's famous motto, "Anyone can cook" in the movie Ratatouille. Systems thinking may not be for everyone, but it can be for anyone. Practice identifying subsets and supersets for the system we have in mind is a good way of limbering up the mind to see more possibilities. After all, what we call a system is defined by the boundaries we set around it, separating it from its context. These are somewhat arbitrary, but I think that some boundaries help make things clearer than others, or clear in a different way. There's really no wrong answer, since we're the ones imposing the boundaries in our thoughts.
Try it sometime, perhaps when you're not stressed with an urgent problem to solve. Strengthen your systems thinking muscle. It will surely be helpful sometime when you do have an urgent problem.
P.S. Please help me out.
I don't use a newsletter service because they all use tracking techniques to check newsletter opens and shares. That leaves me without much feedback. Sometimes I feel like I'm standing on the beach, yelling at the ocean.
I would appreciate it if you could reply with a few words about your reaction to this newsletter issue. Think of it as an extreme opt-in, non-persistent and totally voluntary.
And if you'd like to talk further about this topic, you could schedule a Zoom Session with me to talk about it.
Schedule Zoom Session