Once. I walked out of a system design meeting, filled with inner anger.
My mind was screaming.
How are slight variants of the same product created differently in many services?
The product service needed to be more flexible to contain those variants.
It was built on a choice of easy over simple.
Building a new service to solve a new feature is easy. As a trade-off, it led to bloated system interactions.
To stay simple, compose. It means hard thinking in distilling the essence from chaos.
So that's distilled exactly?
Distill concepts and a common language. So, people with different expertise can collaborate together. For example, 5W1H contains concepts to describe events.
Distill structures by separating the core from their derivatives. Structures enclose concepts and artifacts. Find structures that enable composing, swapping and shifting around. For example, cameras with different lenses.
Distill processes and logics that link structures. A system is not a static structure. It reacts to and interacts with different environments. Processes split, merge or remove structures. It differentiates or unifies one and another. For example, different types of bridges.
Proactive distillation reduces accidental complexity inside a system.