DEV Community

Cover image for Design Systems Entropy
Pavel Laptev
Pavel Laptev

Posted on

Design Systems Entropy

๐Ÿ‘š Think about your closet. When you first set it up, everything is in its place, neat and tidy. But as time goes on, something happens โ€“ it gets messy. Clothes get mixed up, some are forgotten in the back, and you might even lose a few favorites.

In the world of design, particularly when you're working on a design system, something similar can occur, and I can call it "design systems entropy." Just like your orderly closet turning into a mess, design systems can slowly lose their organization and consistency.


The Problem of Decay

But as design systems grow and change, they have to fight against something called entropy. Here's a simpler way to understand it:

Too Many Ingredients ๐Ÿฅ„: Imagine you're baking cookies. If you keep adding more and more ingredients without a plan, your kitchen can become a mess. Design systems can be like that โ€“ they start simple but can get messy as they grow.

Different Cooks, Different Tastes ๐Ÿณ: Now, picture a group of chefs making the same dish. Each chef might add their own twist to the recipe. Similarly, when different people work on a design system, they might interpret the rules slightly differently, leading to inconsistencies.

These "different people" can also be you. Even if you work alone on a design system, here and there, little by little you're changing things e.g. when Figma announce variables, or when you want to try a new tricks or organization methods. And you don't notice these small leftovers that remain unchanged.

Think about how your fashion taste changes over time. Design systems also need to keep up with what's cool, but this can make things look different over time.

Upgrading Your Kitchen ๐Ÿงฐ: The previous problem leads us to this one โ€” the tools and technology designers use are always getting better. If a design system doesn't keep up, it can lead to problems and inconsistencies.

Missing Steps, Communication Matters ๐Ÿ“: Imagine your recipe has some missing steps, and you have to guess what to do next. In design, if the rules and instructions aren't updated or clear, designers and developers might make guesses that lead to inconsistencies.


How to Avoid Entropy

Even though design systems entropy is a bit tricky, we can do some things to handle it:

Think ahead, Use Strategy ๐ŸŒŸ: It can be tough to add something to a system if you haven't left space for it or thought about how to do it. So, here's some advice: before you create a design system, think about what it should look like. Is it for small businesses, and might they grow in the future? If they do, how will you scale the system?

For example, let's say you make a system and later need to make it accessible, add new elements, improve colors, or even change how things work. Or maybe you need to add a dark mode. If you didn't plan for these things in advance, updating the system to work with them can be a difficult job.

So, come up with a design strategy โ€” who are your customers, how will you expand the system, and what elements and blocks should be part of the system. Think about all these things before you start designing.

Use Pipeline ๐Ÿšข: Create and implement a right pipeline for maintaining the system and adding new components. Avoid making simultaneous changes and additions to the system, as it can make it difficult to track progress and monitor the system's performance.

Watch And Measure ๐Ÿ‘๏ธ๐Ÿ“: This step becomes important if you have to deal with large systems and which used in many files and project. It helps you check the adoption rate, where the system used and in what ways.

Demo Days ๐Ÿ“ฃ: To maintain order and alignment across teams (design and development), consider implementing Design System Demo Days. These are dedicated occasions to showcase the progress made, reveal recent changes, discuss plans for the future, and obtain valuable feedback.

Refactoring, Simplicity and Streamlining ๐Ÿงน: Simplifying processes and reducing unnecessary complexity can prevent the system from becoming overwhelmed by inefficiencies. There are a few simple rules for refactoring:

  • Refactor small pieces, step by step
  • Always notify your team about what you're going to refactor
  • Test your refactor on different projects before announce changes.

Watch for artifacts ๐Ÿง: small inconsistencies inside components, we don't pay attention to them, utils they become a problem โ€” I mean outdated component properties that didn't alight to your last methodology, or old properties that where mix with old one.

Think outside the system ๐ŸŒ: Don't isolate yourself from other design processes happening in your company. Remember who your customers are, and stay close to them. The design system influences every part of the product or brand. Including design system engineers in the design process can also ensure that the system is maintained and updated to meet the needs of the entire organization.

Open-Mindedness ๐ŸŒˆ: Just as medical researchers explore various avenues to combat cancer, a system should remain open to diverse ideas and perspectives. This inclusivity can spark innovation and prevent the stagnation that arises from groupthink.


Embracing the Challenge

Design systems entropy might sound complicated, but it's also what makes design exciting. It's like solving a fun puzzle โ€“ even though it can be a bit tricky, it's a chance for designers and teams to get better at what they do. By knowing about and dealing with entropy, we can make sure that the things we create on the internet look great and work well.

Top comments (0)