There's a commonly agreed definition of a Design System:
A library of design patterns, rules, and UX guidelines that enables companies to ship and maintain consistent products at scale.
A design system is an underlying layer of design, and most often, clients and companies don't pay too much attention to it. However, companies that design at scale reap all the benefits by investing in the design system.
One of the most common things that stop companies from supporting a design system is that it requires an initial investment. But as practice shows, those investments have 1000%+ ROI in the long term: 80% of companies start to see the practical benefits of using the design system in just a few weeks.
I've created, contributed, adopted, and maintained different forms of design systems throughout my career at various companies. For the past three years, I've worked with Nagarro to do the same for multi-billion brands to help them design at scale.
Over the years, I've learned that depending on the needs of the team, a system can be as simple as a simple user interface toolkit (helping designers design faster) or as complex as a multi-disciplinary playbook and framework, including branding, UI patterns, content guidelines, code components, processes and more.
During all the years working with design systems, I have faced many challenges, and this is why I want to share some of the lessons I've learned, hoping that this will help anyone looking to create a design system or improve an existing one.
Design system is a process, not a deliverable
Design systems are meant to evolve. They start as simple sets of design components and code snippets to help designers and developers build products at a rapid pace. But every design system is a bottom layer behind the product, which means it should grow, change and adopt with the product.
Design system is more than a UI library and components
Unlike the UI library, the design system is a living product that feeds other products. UI library is created once and used until someone decides to do something differently. The design system adapts and changes according to the product needs.
There's a reason why it's called a system. Creating a UI library is just one milestone towards building a system that includes usage guidelines, design principles, coding standards, governance model, release, adoption, contribution processes, brand, voice and tone, content guidelines, etc.
Product defines the design system; then design system defines the product
You will put a lot of effort into designing and building your system, but don't get too attached to it because it will evolve and change eventually.
The relationships between products and design systems should be mutual. This means if one of them changes, the other should adapt to that change.
Theoretically, you can build a design system first and then create a product with it. But in reality, having a product makes it easier for a design system to be born. Think about it: you already created many components and have some basic principles and guidelines on how to use them. To build a design system, you now need to organize it all into a comprehensive guide and make it a centralized place for everyone to use.
The relationship between the products and a design system reminds me of a family, where products are parents and a design system is a child. This analogy brings us to the next and final point:
Design system is a multi-player game
Just because you created a design system doesn't mean you own it. It should be parented by other team members as well. But open contributions might make a mess, so you need to establish a governance model that will outline the contribution process.
One person can make use of the design system. But as mentioned above, teams that design at scale reap the most benefits of design systems.
Creating a design system is a problematic and never-ending task. It may appear intimidating at first, but it's no different than creating any other product. You'll be successful if you know why you're making it, listen to your consumers, understand their needs, and incorporate your design system into their daily lives.
🇺🇦 Please consider donating to Ukraine's defenders and those affected by the war in Ukraine if you can.
Join Alex's Camp Newsletter
This newsletter is 100% supported by readers. If you find this newsletter helpful — consider becoming a paid subscriber.
This will help me keep it a sustainable business and consistently write good content.