A lean approach to design systems

The term “design systems” has increasingly become associated with large-scale companies, with thousands of employees and a good number of products. While we can all agree that having a design system comes with a great amount of benefits for a product and the team building it, there seems to also be a developing consensus that it always takes a long time and large amount of resources, and only large teams building a large product are positioned to really enjoy the benefits of such an investment. As a result, startups and smaller product teams shouldn’t even bother.

Is that really the case though? For a team building a product at an early stage, the emphasis has always been to move fast and ship features that create value for users. This is often because of the expectation that a product may change quite significantly, small team size, limited resources, and speed. While these are very valid reasons, sometimes they are emphasized at the detriment of quality and user experience.

The result is that we start to see very tiny inconsistencies that accumulate over time to become substantial design debt, which is noticeable and affects the overall user experience of the product. How then, can we help early-stage or small product teams avoid this one-way ticket to a mountain of design debt and potentially painful redesign in the future?

Embracing the lean approach

So far, we have established that design systems in the traditional sense require a lot of time and resource investments, which will make it too much of an undertaking for an early-stage or small product team, because they are often limited on both. However, they can still enjoy the benefits that come from creating some form of system for their design decisions from day one by embracing a lean approach and starting with a minimum viable design system.

A Minimum Viable Design System (MVDS) is the smallest set of design standards, components, and guidelines that can effectively create consistency and efficiency in a product. It’s the design system equivalent of a Minimum Viable Product – just enough to start providing value, with room to grow and evolve as your product grows.

What Are the Benefits of Starting with a Minimum Viable Design System?

It is quick to implement.

It can be set up in days or weeks, but definitely not months. What an MVDS means will differ based on the needs and maturity of the product or team. It is a major deviation from the one-size-fits-all approach of a design system in the traditional sense.

It provides immediate impact.

A lean approach is emphasized in building an MVDS. This empowers the team to focus only on the parts they absolutely need right now and not later, providing immediate benefits to the product and team. This removes the risk of spending months designing and building components that may not be useful in the future.

It requires minimal maintenance.

It requires minimal maintenance because it is flexible, made up of fewer components, has a simple structure, and lightweight documentation.

It is scalable.

It has been created by focusing on the foundational building blocks of a design system. This leaves enough room to add to the design system and grow it as the product evolves. This is important to ensure that the team is focusing only on the important needs per time.

It ensures consistency.

While being lean, it ensures basic design cohesion super early. This reduces the risk of inconsistencies accumulating into huge design debts down the line, saving the team time and resources that would have been required for a future audit and redesign.

What Makes Up a Minimum Viable Design System?

Core design tokens.

Core design tokens are the most fundamental visual elements of your design. They are the smallest, most basic building blocks that define your visual language. Think of them as the DNA of your design system. In most cases, your core design tokens will be your colors, typography, spacing, and sizing. Some teams consider shadows to be part of this core design tokens category.

Basic component library.

Components in a design system are reusable building blocks of a user interface. They are pre-designed, self-contained elements that can be easily combined to create consistent and efficient layouts across a product. Common examples of components include buttons, input fields, navigation menus, and cards. An element should be componentized if they are versatile and used repeatedly across your product.

Simple usage guide.

This includes the usage guidelines for your product’s core components and design tokens. It acts as a quick reference for maintaining consistency without overwhelming the team with extensive rules. It can be kept in a document, as part of the design system documentation, or preferably close to components, using each component/token’s description field on Figma or as a comment in code.

Lightweight documentation.

This is the bare minimum of essential information needed to understand and maintain your design system effectively. It’s about communicating critical knowledge without creating a burden of extensive documentation.

Version control.

Even when implementing design systems with a lean approach, it is still important to track changes and manage updates to maintain consistency across your design system components and documentation. This will help the team keep a clear history of what changed, when, and why, without a complex process. The version control features on Figma and GitHub work great for tracking changes to your minimum viable design system.

When is a good time to get started? Today!

Every product team, regardless of size, can reap significant benefits from implementing even a basic design system from day one. By postponing this crucial step, teams not only risk accumulating design debt over time but also miss out on the immediate gains in speed and efficiency. The “perfect” time to start your design system is now. Embrace the lean approach, create your minimum viable design system, and empower your product team today.