This is an oldie but a goodie from Alla Kholmatova about how to start thinking in a modular mindset when designing and building applications.
…if an object in the interface doesn’t have a name—a name that makes sense to your team, and is known and used by people on your team—then it doesn’t exist as a concrete, actionable module to work with.
In the process of naming an element, you work out the function as a group and reach an agreement. It’s not so much about giving something a great name (although, of course, that’s an ideal to aspire to), but agreeing on the name. That determines how the element will be used and helps to ensure that it’s used consistently by everyone.
Naming things together is a useful habit for your team to develop, because in the process of trying to give something a name that makes sense, you work out its function and, most importantly, reach consensus.
We’ve been running a series of workshops around common UI elements—cards, buttons, tags, etc.—in hopes of coming to consensus as a group on their definition before our design system team goes off and builds them. I can’t stress how valuable it is to get everyone in a room—digital or physical—to start talking about these things and come to some sort of consensus on naming and function before the thing is designed or built.