Hi, folks, I would like to learn a little about how do you structure components in your designs systems/pattern libraries?
We tried a few ways but we don't have an ideal solution yet. It's not such problem to create design system. The main challenge is to maintain it effectively in future.
1st iteration - Atomic Design methodology
We liked a clear structure for components. Atoms are the smallest and simplest, molecule contains atoms, organism contains molecules, etc.
However, challenges - first of all with the naming. - one component was defined as molecule because it was very simple at first. But in time, we needed to add another molecule into that original molecule => so logically, it was transformed into an organism. The problem with changing types is that many team members are still looking to the molecules section, not to new one. Not to mention a problem with the naming conventions.
2nd iteration - Just components
We tried to flatten it a little. We removed previous structure (atoms, molecules, and organisms) and just named all of that as "components". It worked. Problems with changing types were gone, same with communication which type is what. Developers was very familiar with a word "component", designers too. Communication was good.
But after a while, we had almost one hundred components and orientation in that quantity was just bad.
Next iteration - Components with some logical structure
We need to create some logical structure which helps us with orientation in a whole design system.
Do you have some advice for that? Which challenges did you run with maintaining a design system? What tools do you use and how exactly? How do you version your design system?
Thanks for some insights!