🌳 Design systems and systems thinking (#26)
How's it going? I hope you're thriving and that all of your design systems dreams are coming true. ⭐
I'm excited because in 9 months, this newsletter has grown from 0 to 82 subscribers.
I want to keep providing you with relevant and interesting information. Please respond to this email and either let me know what challenges you're facing, or just say hey!
We're going to get a bit academic today and dive into the basics of systems thinking. It's a little different from some of my other newsletters, but I thought it'd be worth a try! I hope you don't mind.
I’ve been reading Thinking in Systems: A Primer by Donella Meadows over the past couple of weeks. (Thanks for the recommendation, Jack!). The book provides a theoretical foundation for systems thinking. I think it's worth reading for anyone interested in design systems.
If you take nothing else away from these newsletter, take this. Meadows defines a system as "an interconnected set of elements that is coherently organized in a way that achieves something."
Let's break this down further. All systems consist of three parts: elements, interconnections, and a function or purpose.
Humans find it easiest to distinguish a system’s elements. Meadows offers us the example of a tree: “the elements that make up a tree are roots, trunk branches, and leaves. If you look more closely, you see specialized cells: vessels carrying fluid up and down, chloroplasts, and so on.”
I tried to define some common elements of design systems. I’ve come up with the following list:
- design assets
- design tools
- component libraries
- release strategy
- design tokens
- testing plans
Meadows defines interconnections as the “relationships that hold the elements together.” She explains that humans find it difficult to understand all of the interconnections in a system. To explore the concept, she refers to a tree system:
“The interconnections in the tree system are the physical flows and chemical reactions that govern the tree’s metabolic processes––the signals that allow one part to respond to what is happening in another part. For example, as the leaves lose water on a sunny day, a drop in pressure in the water-carrying vessels allows the roots to take in more water.”
I'd suggest that the interconnections in a design system include design constraints, the feedback loop between implements of the design system and the system’s consumers, the cadence at which implementers update documentation, the amount of money the company invests in the design system, and the way that the component library reads design tokens.
The systems’ function or purpose is the hardest part for humans to understand or perceive. Meadows points out that “purposes are deduced from behavior, not from rhetoric or stated goals,” meaning that the only real way to understand a system’s purpose is by watching its behavior.
As implementers of design systems, we often try to dictate the system’s purpose. We might state goals like: “the design system will improve design consistency.”
Unfortunately, saying it doesn’t make it true. We need to make sure that we understand the different elements and interconnections in our system. Modifying the way elements are interconnected can allow us to adjust the purpose of the system — but we need to make sure that we understand it first.
Do you want design systems tips and tricks sent to your inbox?