This has been the mission of multiple teams under my management.
Are you a designer or an engineer? The perspective below is for engineering:
- Designers are going to be your biggest challenge. There is a wide range of design skill level in leveraging the Figma versions of your design system and you need to have a strong partner in design doing the same thing you are on the dev side.
- Start with primitives. Get everyone using the same colors, fonts, sizes using shared functions. Then introduce theming. This should be universally adopted. Document.
- Rather than roll out a new design system, canonize the most commonly used components into a design system. This way, you get automatic adoption. Speaking of adoption, that's going to be your measure of success.
- Use tools to understand who is using your design system and who is not (there are tools but strong CODEOWNERs files are key here)
- Create documentation and training on the use of the design system. Don't stop teaching others on the use of the design system, especially if they are new to the company.
- Create a contribution model: how and when does a component become part of the design system?
- Take ownership over global components like the nav, headers, and the footer
- I've tried going higher order with form and page builders being part of the design system, but that's a lot harder than it seems
My learning is that a design system is important, but it doesn't get a lot of love in many organizations.
Are you a designer or an engineer? The perspective below is for engineering:
- Designers are going to be your biggest challenge. There is a wide range of design skill level in leveraging the Figma versions of your design system and you need to have a strong partner in design doing the same thing you are on the dev side.
- Start with primitives. Get everyone using the same colors, fonts, sizes using shared functions. Then introduce theming. This should be universally adopted. Document.
- Rather than roll out a new design system, canonize the most commonly used components into a design system. This way, you get automatic adoption. Speaking of adoption, that's going to be your measure of success.
- Use tools to understand who is using your design system and who is not (there are tools but strong CODEOWNERs files are key here)
- Create documentation and training on the use of the design system. Don't stop teaching others on the use of the design system, especially if they are new to the company.
- Create a contribution model: how and when does a component become part of the design system?
- Take ownership over global components like the nav, headers, and the footer
- I've tried going higher order with form and page builders being part of the design system, but that's a lot harder than it seems
My learning is that a design system is important, but it doesn't get a lot of love in many organizations.