How to stay grounded
— domain driven frontend, Architecting UI — 1 min read
As I already mentioned in the ivory tower post, I tend to get carried away in thought. I read a lot of fantasy books and have fun exploring such worlds, and sometimes I feel like I romanticize over my design a bit too much.
When you are completely in your own head - completely detached from reality, it's easy to attribute curtain behaviors to stuff. I tend to design something "beautiful" were every piece is autonomous, and all parts can interact with each other. Isn't that what domain-driven is all about?
I think it is, but I tend to get carried away...
When discussing one of these scenarios with a colleague, she asked me a simple questions that cut through my design and completely grounded me. "Is that something that it does? or is it done to it?"

An extremely simple question, yet in my opinion it hold a lot. I like to have this tiny tools in my back pocket, to use whenever I need to test something. I find this question a bit like the spinning top from inception - spin it and you know where you are.
My main problem is that I tend to humanize the domain object a bit too much and try to impose on them more functionality than they should have. I try to imagine them as some complex entities that can interact with the whole system. However, in many cases, these are simple data object with a few simple functionality, yet many things can be done to them.
This helps me separate the layers and think more clearly about the actual tasks at hand.
What questions do you ask yourself?