Fostering collaboration in design systems
11 Oct 2023Note: This article was adapted from my talk at GOV.UK Design System Day on October 11th 2023.
Full slides on Figma with illustrations by Blush.
A collaboration journey
Like many types of projects, the creation of a design system has a story arc embedded in it. First we define what we want to make, who its for and plan the goals. Next we kickoff an exciting startup phase to craft initial patterns and components. This leads to influencing teams and leaders so we can gain traction and garner support to continue growing. Soon an unexpected crisis appears, an outside influence forces a decision about how your system operates. Once you conquer that hiccup, you hit your stride in scaling and enhancing. There is not really a last step, lets call it ‘not the end’, because you are in this for the long term. Don’t expect to reach a place where the work is complete, it should continue to flex and evolve over time.
At each stage in this journey you are making decisions that can improve collaboration with your community of people.
1. Define
What do you picture when you think about the word design systems? What comes to mind first? Frequent answers are design files, libraries, code, components, guidelines. These are key elements of course but they are all artifacts. A design system is more than just its parts. Josh Clark and Brad Frost remind us that “Design Systems are people!” If you included the people in your definition, congratulations you get bonus points.
A design system can include people from different areas, the system team, the system users (designers, engineers, product managers), your leaders, and the end customers of your products. All of these people impact the culture of your system. As you build your system you will need to write communications, host tutorials, workshops, and reviews for the community around your design system. As you define goals for your system, look beyond the pieces and include people into your plan. Even the best design system with amazing patterns, components, documentation can fail if the culture is not crafted as intently as the work.
2. Startup
Now that you have a plan its time to jam! Gather those passionate people and give them into the flow. This early progress feels so good, your nimble team is breaking new ground everyday and the results are energizing as the system comes together with ease. You’re tempted to stay isolated so you can keep up the quick work, but be sure to invite key system customers to help direct your decisions and keep it grounded in real use cases. Brainstorming workshops in this early stage helps set the tone for collaboration later and helps the community feel ownership over the system’s success. Those early collaborators will be come important champions for your design system as it grows.
3. Traction
So your startup was exciting but now its time to mature the system. You need to get traction by to achieve your goals for growth and adoption. Network to find key leaders that can become your partners to influence the larger business. You wont be able to grow, gain influence, or scale without this key step. Start planning your adoption strategy, if your company is small its about aligning with the latest big project. If its a bigger company be smart about choosing which areas to focus on, you cant conquer them all at once. Find projects that are high visibility and work to integrate those. Then others will follow that lead.
Collaboration is essential at this phase because the system needs to learn use cases from product teams and those teams will need your system for cohesion. If you’re not listening to feedback and catering to your internal customers, the system will quickly be sidelined, and soon forgotten. Like a car stuck in mud, if you don’t have traction your system will be stuck. Instead be prepared ready for change, provide clear ways for your community to ask questions, raise feedback, and contribute to its growth.
4. Crisis
Just when you feel that traction moving the system forward a challenge will appear that will make or break the future of your system. It comes in different forms. It could be a key product team wants to take your components in new directions, it could be a product pivot that requires new directions for the system you didn’t expect. It could be a big rebrand, a new company acquired, or even layoffs. Any of these surprises could disrupt all your hard work.
How will you react to this new challenge? Stay the course or
Choose your adventure
You have a strategic decision at this point. Will you: A. Stay focused on delivery - press on toward your initial goals without supporting the community -OR- B. Pause and make a plan - build new methods for community engagement, find solutions together that benefit both the product and the system
To help you answer that lets use some contrast to make a point. Design systems are easy to kill. Maybe you’ve even witnessed this tragedy.
How to kill a design system
First step is to mistreat your customers. Forget that you build this system to benefit them, its instead become more about you showing off your skills. Make it difficult to understand how the system works, don’t provide instructions or training. Next close your mind and reject all feedback because they can’t know how hard your job is. In fact to prevent feedback just stop communicating about progress or releases of the system. That will slow down their questions and concerns.
Now your system is on life support. Time to pull the plug. Be controlling every chance you get. Insert yourself in team’s plans to prevent exploration or attempts at innovation. Only care about compliance so your team becomes the design police. That component is wrong, change that flow, maintain design purity. Obey the system or else. Authoritative interactions will break their spirits. Not only will your community resent you personally, but the system will wither without adoption. The less participation the you allow, the less motivated anyone will be to align and follow the system.
After that bleak story, you should see how vital the right approach to collaboration is to design system success.
How to foster collaboration
A. Envision the culture you want to build.
Building a design system at a corporate scale can be a huge effort and its easy to focus on the patterns and components, since thats the tangible part of the system. But the DS is more than just the parts, its the people, your connection to them, and their engagement. All that adds up to the culture. The culture cant be forced, its the organic result of its environment. Your team can setup the environment so the culture grows successfully.
This is where many systems teams run into a wall. They can have amazing components and documentation that has little application to the product teams they serve. They skip the work required to listen to feedback, build in flexibility and interact with its users. Start with clear intentions about the culture you want to build into your DS community. That includes all level of roles from executives to interns, and many roles including the obvious product/UX design, engineering, PMs, and guilds like design, accessibility, research, content, marketing, operations, HR, and more.
Like a garden, culture can be nurtured to produce beautiful results or abandoned to grow wild.
B. Organize your structures to support your goals
The structure of your system impacts its culture. A top-down authoritative design system culture can be efficient, because you can force change and adoption quickly. The down side is those adopters will view it as strict rules and have little motivation to contribute or collaborate to make improvements. Best case they use it begrudgingly, worst case they ignore it and its becomes obsolete. A bottom-up design system culture can be more collaborative and inclusive. People relate will with those at their level. The downside can be disorganization, and sporadic adoption because leaders are not included. The right culture can’t be dictated, it will reflect the structures you setup.
Ideally you balance the benefits of each over time. At certain points directives for adoption of the system from leaders can be move mountains. Find the mix of collaboration, responsiveness, and flexibility.
C. Teach instead of rule
A majority of the design system team’s work is around serving its community and teaching them how to use it. The bigger the company, the more the DS communication needs to scale. Its a full time job keeping everyone aware, trained, and invested in the success of your system.
Recognize this in your team assignments so everyone has clear expectations and goals. I’ve heard some teams take week long turns on the customer service front while other teams are more fluid in how they share that assignment. Be a team of teachers, with good listening skills to match.
5. Hit your stride
Back to our journey storyline, after you survive the big crisis you should have a new perspective on how to keep collaboration in your system’s culture. Like a skilled runner you reach a great stride that you can maintain long term. You’re guided by principles, practicing collaborative habits and adjusting to inevitable changes that arise. Be driven forward but able to flex to meet any challenge.
Long life
Collaboration is key to design system adoption and longevity. Inviting product teams to help shape the system shows you care about their needs. The more teams contribute to the system, the more invested they become in its success. When teams feel ownership and pride in the system, they become your ambassadors. They contribute to keep it maintained and relevant beyond what the core DS team could do.
“People ignore design that ignores people.” - Frank Chimero
Ready for a dynamic future
Design systems work best when they are collaborative and flexible, instead of strict and fixed. Be ready for change, open to feedback, and respond constructively at every chance. Define a clear rules/boundaries for who owns what parts, whats in the system and what is not.
Use language that is inviting, inclusive in comms - be nice so you’re inviting the community to engage. Provide clear methods to contribute back to your system. This helps build a feeling of ownership in your community.
Explain the why behind system decisions, be open to discuss options with the contributors so you can build trust. This takes honesty and transparency in your interactions over the long term.
Product teams wont adopt if they don’t feel heard. Incentivize contribution to keep the system relevant to the product needs. Build ways to support explorations and innovations by the community. Fold learnings from research or experiments back into the core system.
Bonus: Scaling Up
How do you evolve and adapt the system to a large user base? As companies grow so does the complexity of infrastructure.
Build relationships with product teams, its a two way street. The design system team will not have the product knowlege that product teams have. Product teams will not think widely, about larger systems, or cohesive experiences while being focused on their silo. Working together they improve the system and as a result improve the end products
Establish partners across corporate lines. Jump on key projects that are high visibility for the company so that the design system is the delivery tool for the latest features/styles that other teams will desire. Invite key teams to close collaboration to build alignment together on new patterns as they arise.
Reinforce your value with hands on work. Use office hours and reviews to share system design approaches. Point to conventions and standards to improve craft and avoid arbitrary decisions. Be a resource that teaches partners about reasons behind pattern decisions (usability, standardization, accessibility).
Align design system goals with business goals - show the impact on the bottom line. Coordinate shared metrics like Objectives and Key Results (OKRs) with product teams. Be a support to their own goals.
Bonus: Community building
So this community thing doesn’t come natural to an analytical, detail oriented, introvert? Well practicing soft skills is huge for your own career. Start with inviting teams early in the process to a feeling of ownership/investment in the final patterns. Emphasize they are the product experts, we require their input to do our jobs best.
Use existing channels to share design system highlights, like org wide meetings, workshops, onboarding sessions. Host open topic office hours and slack channels where you listen to the community and actively ask for feedback. Share work in progress before finalizing it to get community input and feedback. Give warnings with clear communication of breaking changes being released and potential impacts to teams.
Be responsive. Triage feature requests quickly, responses are fair and encouraging. Rally around high-profile projects to keep the system evolving to latest product goals. Don’t ignore slower moving teams, still important for adoption.
Reward participation with incentives. Use existing internal recognition systems, virtual badges or tools that replay compliments, and include their managers for visibility. Tie design system participation into employee development structures like performance reviews. Lastly don’t forget the simple things like branded swag, stickers, shirts, mugs, hats. Make it fun to be part of your community and use FOMO to your advantage.
6. Not the end
The last step in this journey isn’t the end because design systems are never finished, the work continues. Keep going into the unknown, with your principles and adaptable methods.
Feeding the culture so its healthy long term. Continue your honest communication with the community as people come and go. Find new allies and support your leading contributors.
Businesses will change, stay on top of changing needs from product strategies, rebrands, acquisitions or pivots. Technology will change too, flex to new interfaces, platforms, and tech stacks.
Happily ever after…
It’s hard work to consistently be collaborative, but the results are worth it. Your design system team’s effort will cultivate a collaborative and supportive community. This will lead to success for the system, better team culture with happier people, and better experiences for your end customers.
Lets get to work!