The world of design systems is fairly tricky in my limited experience. Design is subjective and systems are complex - that’s not a very attractive pair. Anyone working in design systems would have to work in multiple areas like designing, selling, and advocating for the system. Designing high-quality accessible components, tokens & behaviors is just a small (but essential) part of it. More often than not, people start with design systems and give up on them soon because of the lack of adoption and acceptance by other team members. Why? Because people have inertia in their processes. They won’t change their way of working just because you came up with a new radical idea. It has to solve a problem - be it velocity, consistency, or alignment. The process of building a design system starts way before you create a new Figma file, it starts with people.
I’m not here to convince you that you need a design system at your company, that’s a different topic for some other time. Nevertheless, if you do find the need for one and decide to go ahead with it, here are a few things I learned a bit too late.
Have a vision
This is not an idea specific to design systems. Every big project you take up in life or work should have a tangible vision that you work towards in the long run. I’m emphasizing this because I’ve often seen teams ignore this part and just start building a design system because it’s the next hot thing to do in tech. Without a defined vision for the system, people might start building it without a clear direction. This often leads to confusion and no progress. Without a vision to work towards designers might not feel the need to take initiative to extend and evolve the system. They’ll eventually stop after making a Figma library and then developers would not invest in developing the components and tokens. The idea of a vision has power because it’s a shared understanding. Everyone in the team has a responsibility to work towards something they believe is possible.
A vision could be as simple as making the product cycle process faster. A design system can help achieve this by allowing quick and efficient design iterations once the basic foundation is set up. Another vision could be ensuring coherence within the design team, especially when it grows larger. Without frameworks in place, keeping everyone aligned and working together can become challenging.
Go beyond Figma libraries
You must’ve heard a lot that “Design systems are more than a Figma library”. It’s true but it’s also incomplete. Libraries are an important foundation for the system because that’s the very first tangible deliverable of a design system initiative. While UI kits are essential, they are not everything. What makes a UI kit into a design system are the documentation, guidelines, constraints, and people around it. A UI kit dictates that a button is a navigational element but a design system dictates what to use when you’re trying to navigate the user - a button or a link?
A design system helps designers make decisions about which elements to use and how they fit together in the overall design. It's like a language for your product, with guidelines as its grammar. So, think of a system as more than just a library—it's a comprehensive approach to designing the product. If people have to ask you repeatedly how/where to use a certain component, your documentation needs work.
Keep documentation simple
Documentation is a way to share information passively. It means putting things in writing, so anyone can access it, regardless of who created it. Even if you leave your company, others should still be able to use the information easily. However, when you start explaining concepts, there can be a lot of information, and people might not have time to read through it all.
As a systems designer, your job is to make using the system as smooth as possible. Too much text to read or difficult-to-find information creates friction. Instead, be intentional with your documentation. If something is obvious, you can skip it. For complex topics, use visuals to make them easier to understand. Be creative in how you present information for your designers and developers to consume it effortlessly.
Plan for the future
A design system that only suits the present won't last long. In the fast-paced digital industry, designs continuously evolve and change. That's why systems are essential—they help automate decisions when things scale up. For example, a simple change in a design token can impact how the entire product looks, functions, or behaves.
When you're working on tasks related to the design system, always consider how your decisions might affect multiple aspects in the future. Aim to create solutions that make future modifications easier to implement. Thinking ahead will ensure your design system remains adaptable and relevant in the ever-changing digital landscape.
Embrace feedback loops
As I said earlier, change is inevitable. But change has to be guided by something, and it’s best when it comes from feedback. In this case, that feedback comes from your designers and developers, the system’s primary users. To ensure healthy adoption and maintenance of your system, you’ll have to collaborate with them to figure out opportunities and areas of improvement. It can come in different forms, like a personal Slack message or a company-wide email about why your dashboard sucks. When people have a part in shaping something, they feel more attached to it. When your team gets involved in shaping the system, they’ll be more likely to adopt it and hence come up with more feedback. It’s an awesome chain reaction!
Be patient & considerate
All good things take time. And systems take a lot of time. I know you want to change the game as soon as you join the company but that’s the most novice thing you can do. A good designer listens and understands what’s happening in the company and then figures out what to do. You can’t function if you don’t have the intel ☕.
Working in systems and not seeing them getting adopted can be frustrating. That also means you’re doing something wrong. Remember, a product team has many priorities, and a design system might not be at the top of their list. That's where the skill of selling the idea of the system comes in. Show how it will make everyone's work easier, and once your team is on board, the system's importance will rise.
However, be patient. Sometimes, product-related demands take precedence. Don't force things to happen unnaturally. If the need for a design system arises, especially in larger teams, your good groundwork will come in handy, and others can take over and continue building on it.
I hope you found this article helpful. I’ll be writing more on the niches of building, selling, and maintaining a design system. See ya later!