From Nebula to Supernova: Design System Maturity Models

Rate this content
Bookmark

Design systems are inevitable! They play a pivotal role in web development, enabling teams to achieve consistency, scalability, and efficiency.

Join us for an insightful and entertaining talk that dives into the world of design systems and their evolution within tech organizations. In this session, we'll explore and try to validate a design systems maturity model, offering practical guidance at different stages of growth. We'll share lessons learned and expert advice on how to adapt your approach to fit your needs.


Why does this matter? Implementing and maturing a design system can be complex as organizations evolve. By understanding the different maturity levels, you'll be empowered to make informed decisions.

This talk has been presented at C3 Dev Festival 2024, check out the latest edition of this Tech Conference.

FAQ

The speaker is Joran, who works for Jumbo supermarket.

The speaker is in Amsterdam to attend and speak at a tech conference.

The speaker uses star types as an analogy to describe the stages of design system maturity, ranging from Nebula to Supernova.

The initial stages include attempts by designers and developers to reuse bits of technology or pattern, starting with handcrafted elements built in isolation and low adoption.

It is necessary to link the design system to business goals and demonstrate how it contributes to the organization's core business, using goals and KPIs to communicate its value.

The speaker suggests writing down onboarding sessions and using them as documentation, as well as potentially leveraging AI to help write documentation.

The main topic of the talk is design systems and their maturity model.

A design system is a structured collection of reusable design elements and guidelines that help maintain visual and functional consistency across digital products and services.

The Pale Blue Dot image is used to illustrate the idea of identifying where we came from and setting goals for the future, similar to how the engineers who sent Voyager on its journey had a goal.

Cultural compatibility involves setting up the design system in a way that aligns with the existing work culture of the organization, making it easier for teams to adopt and contribute to the design system.

Joran Quinten
Joran Quinten
29 min
15 Jun, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Design systems are accelerators for development and every web or app developer will come in close contact with them. The design system maturity model simplifies the stages of maturity from Nebula to Supernova. Building a full-fledged design system requires close collaboration between designers and developers, a clear vision and strategy, and strong governance. Continuous improvement and evolution are essential for a mature design system, as well as aligning the design system with business goals and accommodating changes in organizational structure. Documentation and culture compatibility play a crucial role in the success of a design system.

1. Introduction to Design Systems

Short description:

I'm a bit nervous on this stage because if you went to the pre-party you know that this is actually the karaoke stage. We're going to talk about design systems and get more clarity in the design system maturity model. Hello, I'm Joran. I work for a Jumbo supermarket, which is not a tech company, but we use tech to fulfill our goals. Design systems are accelerators for development and everyone in web or app development will get in close contact with them.

I'm a bit nervous on this stage because if you went to the pre-party you know that this is actually the karaoke stage. So I hope I can give at least a good enough show for you to not walk away crying. He was mentioning pictures, if you take pictures of me, feel free to tag me because my wife knows I'm in Amsterdam. I explained that I'm at a tech conference. I think she believes me, but it's okay if you tag me so I can provide some proof.

We're going to talk not about karaoke, not about the central of Amsterdam, we're going to talk about design systems. Hopefully we can get a bit more clarity in the design system maturity model. Before we get started with that, of course, a little introduction.

Hello, I'm Joran. Hello. Great. It's nice, it's the afternoon, so I have to keep the energy a bit high. I'll keep the introduction short because I already said a lot of stuff. Feel free to find me on the internet if you want to connect because I'm also looking for feedback and that serves as the basis of this talk. I was last year in this venue at the JS Nation giving a talk about the component library and I was talking about how we were shaping our component library from a developer point of view and that led me to having chats with a lot of other developers and designers who also attended the conference and they told me their story. I started to recognize patterns and that's basically what this talk is about as well because I have a suspicion, and that's where you come in, that these patterns are not unique to our organization.

That leads me to the next slide. My organization, so I work for a Jumbo supermarket, they have a store nearby. Feel free to buy snacks there. The key characteristic or why this is interesting is because we are not a tech company, right. We use tech to fulfill our goals which is selling groceries, getting that lettuce on your shelf. But it's not our main concern so this is a supportive technology and that sort of has implications I think in the way that we do things related to tech. So this is an important feature and if that goes for your company as well I think we are on the same page. If you are a primary tech company there's a different path. I will highlight that later on.

So why are you here? I hope you know why you're here. At least I know why I'm here. So we all know that design systems are accelerators for development, right. They benefit us. They make us go faster and sooner or later everybody who works in web development or app development, they will sooner or later get in close contact with the design system whether you like it or not.

2. Models and Definition of Design System

Short description:

So models help us simplify complex concepts and improve as developers. A design system is a structured collection of reusable design elements and guidelines that maintain consistency across digital products and services. It serves as a centralized resource for design and development teams, providing standards and standardized patterns for designers, developers, and end users.

So it's good to be prepared. And the other part is models. So models, what do they do? They help us in simplifying complex concepts or ideas and they help us understand how we can use them and I hope to see that we can also learn where we can improve as developers. So that's why I hope you're here. If you need some time to at this point walk out the door, it's fine, but this is why we're here. So we're going to try and fulfill those goals. I'm highlighting them for extra emphasis.

Before we dive into all of that, so what the heck is a design system? Let's see if we can find a very descriptive definition of a design system. Get ready for this because I'm going to read it out loud. There we go. I'll try to use my reading voice. So a design system is a structured collection of reusable design elements and guidelines that help maintain visual and functional consistency across digital products and services. Now I take a deep breath here. And then we move on to it serves as a centralized resource for design and development teams providing a set of standards. So I hope you can. Yeah. Okay. Yeah. Thank you. I was going to say I hope you can read this and then the TV fell off. We're going to continue. So this is what we use as a definition for a design system for the sake of this talk. If you want to shorten the definition, this also works. So this is by Brad Frost. He's a much better expert on design system and patterns and whatnot. So this is also a very good definition, much more usable. But for the sake of this talk, I think that longer description also serves a purpose because it highlights some of the key characteristics of a design system, which are that it is structured, centralized and contains a set of standardized patterns. It's also about the stakeholder. So we're doing this by designers and by developers, also for designers and for developers, and then also for the end users. There's another characteristic.

QnA

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Design Systems: Walking the Line Between Flexibility and Consistency
React Advanced 2021React Advanced 2021
47 min
Design Systems: Walking the Line Between Flexibility and Consistency
Top Content
The Talk discusses the balance between flexibility and consistency in design systems. It explores the API design of the ActionList component and the customization options it offers. The use of component-based APIs and composability is emphasized for flexibility and customization. The Talk also touches on the ActionMenu component and the concept of building for people. The Q&A session covers topics such as component inclusion in design systems, API complexity, and the decision between creating a custom design system or using a component library.
Build a Design System with React and Tailwind CSS
React Summit 2022React Summit 2022
27 min
Build a Design System with React and Tailwind CSS
Top Content
This Talk discusses design systems and how to build one using React and Tailwind CSS. Tailwind CSS provides utility classes for building complex layouts without writing CSS rules. Custom colors can be added to the Tailwind CSS config file, and font styles and text sizes can be customized. The entire Tailwind CSS configuration can be customized to meet specific requirements. Base styles can be added to the config file itself using a plugin. Reusable components can be created with Tailwind CSS, allowing for easy customization of size and color.
Walking the Line Between Flexibility and Consistency in Component Libraries
React Summit 2022React Summit 2022
27 min
Walking the Line Between Flexibility and Consistency in Component Libraries
This Talk discusses the comparison between Polaris and Material UI component libraries in terms of consistency and flexibility. It highlights the use of the action list pattern and the customization options available for the action list component. The Talk also emphasizes the introduction of a composite component to improve API flexibility. Additionally, it mentions the importance of finding the right balance between flexibility and consistency and the use of types to enforce specific child components.
Find Out If Your Design System Is Better Than Nothing
React Summit 2022React Summit 2022
20 min
Find Out If Your Design System Is Better Than Nothing
Building a design system without adoption is a waste of time. Grafana UI's adoption is growing consistently over time. The factors affecting design system adoption include the source mix changing, displacement of Homebrew components by Grafana UI, and the limitations of Grafana UI's current state. Measuring adoption is important to determine the success of a design system. The analysis of code through static code analysis tools is valuable in detecting and tracking component usage.
Dialog Dilemmas and Modal Mischief: A Deep Dive Into Pop-Ups
JSNation 2023JSNation 2023
10 min
Dialog Dilemmas and Modal Mischief: A Deep Dive Into Pop-Ups
The Talk discusses the use of dialogues and popovers in web development. Dialogues can be modal or non-modal and are now accessibility-supported. Popovers are versatile and can be added to any element without JavaScript. They provide suggestions, pickers, teaching UI, list boxes, and action menus. Modal and non-modal dialogues and popovers have different behaviors and dismissal methods. Browser support for these features is expanding, but there are still open questions about positioning, semantics, and other use cases.
Type-safe Styling for React Component Packages: Vanilla Extract CSS
React Advanced 2023React Advanced 2023
19 min
Type-safe Styling for React Component Packages: Vanilla Extract CSS
Watch video: Type-safe Styling for React Component Packages: Vanilla Extract CSS
Today's Talk introduces Vanilla Extract CSS, a type-safe styling method for React applications. It combines the benefits of scoped styling, zero runtime overhead, and a great developer experience. Vanilla Extract generates a static CSS file at build time, resulting in better performance. It is framework agnostic and offers a powerful toolkit, including Sprinkles for utility classes and CSS utils for calculations. With type safety and the ability to define themes and variants, Vanilla Extract makes it easy to create efficient, scalable, and maintainable design system component packages.

Workshops on related topic

Rapid UI Development in React: Harnessing Custom Component Libraries & Design Systems
React Advanced 2022React Advanced 2022
118 min
Rapid UI Development in React: Harnessing Custom Component Libraries & Design Systems
Workshop
Richard Moss
Richard Moss
In this workshop, we'll take a tour through the most effective approaches to building out scalable UI components that enhance developer productivity and happiness :-) This will involve a mix of hands-on exercises and presentations, covering the more advanced aspects of the popular styled-components library, including theming and implementing styled-system utilities via style props for rapid UI development, and culminating in how you can build up your own scalable custom component library.
We will focus on both the ideal scenario---where you work on a greenfield project---along with tactics to incrementally adopt a design system and modern approaches to styling in an existing legacy codebase with some tech debt (often the case!). By the end of the workshop, you should feel that you have an understanding of the tradeoffs between different approaches and feel confident to start implementing the options available to move towards using a design system based component library in the codebase you work on.
Prerequisites: - Familiarity with and experience working on large react codebases- A good understanding of common approaches to styling in React