January 26, 2021
I’ve written before about how important processes can be to creating good design work. They’re especially important when it comes to design systems. The over-arching purpose behind systematizing your designs is to promote consistency and efficiency. If you dive into those goals a little deeper, it immediately becomes obvious that they depend strongly on the workflows and processes of the designers who use the design system. Consistency is achieved when multiple designers draw on the system to use the same solution for similar problems. Efficiency is achieved when one designer can contribute their work into the system, and then many other designers draw on that investment in the system in their own work.
The key to a successful design system is getting designers and developers committed to using the patterns and components from the system. One of the best ways to develop and nurture such a commitment is to build a community around your design system.
Imagine a naive version of a design system, where a couple designers go off in a closed room to create the guidance. They peruse existing styles, winnow down the options, and make a bunch of design decisions for the rest of the design organization. They create a snazzy library of pixel-perfect components, pull open the curtains, and wow the other designers with this great new resource.
A couple months go by, and the design system creators are a little discouraged by the designs coming out of the various other teams. People are following some of the basic styles, but adoption is far behind what they hoped for. Some of the products are even using patterns that clash with the official design system guidance. Asking around they discover a few problems:
It would be difficult for the dedicated design system team to know all of these extenuating factors, let alone stay in touch with all the consumers as their needs change and evolve over time.
As an alternative to this more naive approach of “benevolent dictators” who bestow a completed design system on your organization, consider building a shared sense of ownership throughout the design community. You’ll still want a dedicated group who can help steer the direction of the design system, but opening up the doors a bit will help other designers feel like their time spent learning, following, and contributing to the design system is well spent. It will also empower them to share their unique knowledge directly into the system.
So how do you establish a sense of community? The best methods for success will depend on your organization and culture, but there are a variety of methods you can use to help turn your design system into a shared resource.
One of the clearest ways to establish a shared sense of ownership is to empower external designers to own content that lives in the design system. Nearly every design system will have a process for requesting a new or updated component, but allowing other designers to actually create the content for these changes can stimulate a stronger sense of commitment to the system. It also short cuts the update process, eliminating the need for the core design system team to do all of the work. They can instead coach and guide contributors who are better placed to understand the nuances and use cases of their requests.
An even stronger tool for cultivating deep understanding and buy-in to the design system is to have designers from consuming teams spend time as temporary members of the core design system team. Depending on your setup this could be for as short as a sprint or as long as several months. Bringing others designers onto the team helps them develop empathy for the challenges and opportunities of the design system and enables them to contribute their perspective as a customer of your design system. Ideally, they will return to their normal assignment as a strong evangelist for the design system and will help build the design system community even after leaving the core team.
Consumers of the design system will want to know that it is being maintained over time and see that their requests actually turn into new components or updates in the system. Sending release notes builds trust in the long-term nature of your design system and helps you advertise how responsive you are to requests from the community. You can also highlight contributions from the community or temporary team members to reward people for engaging in the design system. To get the most value out of these updates you should commit to a regular cadence and stick with it.
No matter how much ink you spill when documenting your system and its components people will still have some questions or comments. Providing an easily discoverable and frequently active forum for asking these questions can both signal the quality of your design system and encourage participation in it, even when your guidance might not make complete sense to a consumer. Depending on how you build it this forum can also empower your customers to help each other out as well, either by answering each other’s questions or by making it easy to find the answers that other people gave to similar questions. Think of it like a custom version of Stack Overflow just for your design system.
Part of building an exciting, committed community around your system is to show off how exciting and committed you are to it. A great way to do this is to hold training sessions that deep dive into various parts of the design system. Run Lunch and Learn sessions like “Inputs and Forms 101” or “Contributing Your First Component”. These classes are good opportunities to actually talk with the people reading your documentation and get some direct feedback. Does your documentation actually make sense? What other designers are excited about your system? What concerns do other teams have? Dedicated trainings are a great two-way street to share your guidance and gather input from your customers.
At the end of the day the success of your design systems depends on getting a high level of buy-in from your consumers. Opening up your processes, building a shared sense of ownership, and showing off your excitement for the system can go a long way towards creating a healthy and active community around the tool you’re providing.