Nothing should be set in stone, everything can be adapted or changed. Being atomic is the key to flexible composability.
Abstract components from your product, prepare them for easy use in your design tool and let people emerge larger patterns and templates. Don't bind up designers with detailed guidelines, let them their freedom in how they use components in the context of a problem they need to solve. Start documenting the discovered patterns after your product or design system gets more complex, not before.... See more
Give your users the certainty that the design system can be changed. Don't be design police. When you say "no," provide reasons why – people understand when they see why past design decisions were made. Let people challenge anything and accept contributions – it will improve your design system for everyone. Listen to external voices and extend your design system pro-actively based on these ideas.... See more
More specific and complex components design system has, less flexibility it provides. Have high-quality atomic components that work together and are easily composable. Let people experiment and try new combinations and patterns. Be willing to replace older patterns when someone comes up with a new one.... See more
In a fast-paced environment, people tend to look for quick solutions – it may lead to using the design system automatically for everything, skipping the exploration phase. Solve this issue by introducing regular experiments. Working on a new feature? Encourage designers to create it without using your design system and synchronize it later – together.... See more