7 things we’ve learned about maintaining a design system

Ardena Gonzalez
Visma | Raet Design
4 min readJul 25, 2018
Illustration by the amazing João Ramos

Back in 2016, we were a team of 4 designers trying to get 300+ developers around the world to adopt design standards and create consistent-looking software. Our team has grown since then (10 and counting!), but our original challenge wasn’t solved with a bigger team.

Before Zoom, we had a library of components — built by talented front-end developers who were our allies from the beginning. Over time, however, our UI Library didn’t scale. A lot was still open to interpretation, designers had to explain certain patterns and design inconsistencies continued to appear.

So, in comes Zoom, our version of a design system. It was fun to work on and received a lot of compliments. But, once built… What comes next? Who makes sure it fulfils its purpose, and how?

Here are 7 things we’ve learned about maintaining a design system:

A dedicated team needs to make it happen

  • A design system needs owners. Like a child, it requires love and care from its parents; often the very people who created it.
  • Maintaining a design system won’t work without collaboration. Different disciplines (UX, Content, Visual and Development) need to be aligned.
  • It helps to have team principles. We use them to guide our work: Am I making assumptions? Am I being critical? Transparent? Curious?…

Once built, people won’t magically start using it

  • A design system can’t just sit there waiting for people to find it. Like any new project, it needs a little marketing.
  • It also needs advocates. Promote its use, evangelize its importance and take some time to explain how to use it.
  • Use internal channels in your company to share design system updates. Host workshops or presentations to show it off. Take any opportunity to talk about it; help more reluctant stakeholders to see its beauty.

Have a shared definition for your design system

  • This helps teams work towards the same goal. We found that stating what our design system is not, helped to define what it is. We agreed that Zoom is not a future vision of our products; not a place for experimentation. Zoom is a place for actual design standards being used today.
  • There should also be shared language when talking about a design system. What are components? Patterns? Do you need them? Just because other design systems use these terms and categories doesn’t mean they work for everyone. Find the language and meanings that work for your team.

Think about how others can contribute

  • Define a clear process for contributing to the design system that anyone can follow. We created a contribution checklist, for example.
  • Keep everything together. We had prototypes in Sketch, guidelines in Word, on different computers… Edit and review all draft documentation in one place (we use online wiki, Confluence, for example).

Aim for scalability

  • While challenging, elements of a design system should be scalable. They should be easy for designers to combine and re-use, to avoid one-off solutions. We’ve found it helpful to add the same elements in our design system to our design tools. It helps with both scalability and consistency.

Create it for people

  • Remember who you are creating a design system for and why.
  • Make it as collaborative as possible, a community, where all can pitch in.
  • Without the ability to contribute, people will cease to find use in it and, well, they just won’t use it.

Remember that design systems are living things

  • If we see design systems as guidelines, we’ll struggle to keep them alive.
  • Design systems need a team, roadmap, backlog and vision.
  • They must be able to adapt and grow as the company, its teams and its customers evolve.

Design systems are not something to build and forget about. Would you forget about your kids once they turn 18? Maybe… But continued love and support might grow them into someone even better.

--

--