Conf42 Machine Learning 2024 - Online

Building a Design System in Limited Timeframes

Abstract

Gain insights on how designers in startups can efficiently create design systems despite time constraints. Gain practical strategies and AI tools for impactful designs in a sustainable manner.

Summary

  • The biggest challenge that many designers and engineers and startups are facing is building a design system within limited time frames. Time constraints can make it tough to start, maintain, keep consistent and scale. We'll explore strategies to overcome these obstacles over your approaches to protest components and dive into different plugins and AI tools to build design system faster.
  • You would have discovery, design development and release. There should be audit, discussion, scoping, kickoff. Then there should be exploration, user testing of course, and documentation at each step. And also when you release, you also should think about announcement.
  • Use these plugins on figma to generate your color palette. Work on color palette can take from few hours to few weeks, depends. Next is icons. Instead of again spending hours on this basic element such as icon, you can buy already existing icon set.
  • These three plugins are just recently showed up and they're in beta version. Currently they can create styles, color fonts and few simple design components. By prompting them, by adding few lines of text, you can create your own design system. Using dev mode is really beneficial for our team.
  • And since we already discussed components and where to place it and how to move it from design to engineering, we also should think about scalability. Collaboration is essential for building scalable design system. Everything should be documented and your design system should be flexible and modular. Next step is adoption.

Transcript

This transcript was autogenerated. To make changes, submit a PR.
Hello everyone. Today I'm going to talk about the biggest challenge that many designers and engineers and startups are facing is building a design system within limited time frames. So time constraints can make it tough to start, maintain, keep consistent and scale. So we'll explore strategies to overcome these obstacles over your approaches to protest components and dive into different plugins and AI tools to build design system faster. So first thing first, let me introduce myself. Currently I'm working at Poly AI and I'm designing better user experience for conversational AI systems. I have more than nine years of experience as a product UIx designer and also work with multiple design systems for large companies and tiny startups. Also in the past and right now, I have multiple degrees as an accountant and digital designer and I really love mentoring designers and help them at early stages of their career. But why design system? Probably you heard a lot, that design system is really helpful. It makes companies deliver feature faster, it helps engineers to reuse code and also it increases revenue and just reduce time spending on design components and tickets. It's really beneficial for companies, especially startups, to spend time on designing and creating building design system because using design system is all about saving time and money. But it's also challenging when you start working on design system, which means you, you should think about consistency. Also you usually have resource limitation and also communicational gaps and you need to align your stakeholders and other departments. And also usually you have technical constraints and issues with adoption. But when we're talking about startups, we have even more challenges. Like usually startups don't have time to anything, speed is really high and also roadmap is very dense. Usually there is no sign team to create design system and also there usually scalability issue with a platform and especially with the design system itself. And usually there is privatization conflicts due to roadmap. What you should do technically when you just create your company, when you start working on product, you can use happy path. And just by re already existing design system there is few platforms where you can make it happen. So you definitely should look at these platforms. There is a lot of design system for different type of products, for different size of company and different size of product. There could be a really complex design system for like hundreds of components and a really simple one for tiny startups who just start date path. So you can use this design system that already exists in. Usually they have Figma file and files for engineers and links to repository to use it and just use for your platform. But when we're talking about existing products, an existing team that already have design system or Uikit. It means that maybe they don't have this opportunity to use happy bug. Probably they can improve their existing design system or move forward creating design system. So first of all, what you should have to create very successful design system is to have roadmap and also long term vision. And your design system should be valuable for its users. So you definitely should have users. By users I mean engineers and designers and other teammates who can use the design system on daily basis. For example, usually it's designers, engineers, qi engineers or marketing team. And also it's all about value. So this design system should be really valuable to its users. And at the same time you should have metrics for a design system to check if this design system is okay. For example, this metrics could be satisfaction of your users and you also should create some specific adoption plan how to make these users used and love your design system. So when you realize that you have users and you need to create design system and it will be valuable, you should start from something. So you probably know that usually design system have really specific components, for example buttons, inputs, color palette, grids and icons. So you should think about prioritization, where to start, what components should go first, what element you should build first. In this case, there should be, there are existing few types of prioritization. First of all, you can use any prioritization tool you already use on your product, for example. So technically you have four columns, must have, should have, could have, and won't have where you can place any of your components. For example from experience, usually you should place color palette, grid system icons and fonts to must have. And for example, if you are early stage startup, so you probably don't need to think about creating some specific components like combo books or data pickers. So in this case it could be in a column of one half or one half right now. And there's another approach of prioritization. This is technically system methodology for designing called atomic design where you have subatomic components such as color palettes, typography and spacing, and also you have other components that is more complex like atoms. You see this could be icons, buttons, labels or inputs, molecules, organisms, and more complex elements such as pages. And usually work starts from subatomic and atoms. And then you go to the more complex one, one more prioritization thing. Prioritization methods is roadmap based. So technically you can see, just imagine this is your roadmap. You have features on this roadmap and it means that you can start working on design systems, you work on your feature. So technical case close to atomic design, atomic methodology, because at the beginning you should work on the most basic components such as colors, buttons, inputs, and then you go further with second feature, there could be different components, so it could be input. So usually with this approach, with this roadmap based approach, there will be lots of work. At the beginning with your design system and then closely closer to the middle of your roadmap, you will see that your design system is already ready. So most components are already used. I might say from my experience, I usually use atomic approach and roadmap based approach and sometimes I use something like collaboration mix of these approaches. But usually I start from subatomic components such as colors and color palette, and then I go with features and components that is connected to each feature. And I might say I really recommend these two approaches like roadmap based and atomic design approach. So since we agreed, and you agreed on moving forward with some specific approach of prioritization, it means you should think about process of creating your design system. So first thing first you should think about why do we need this component? So this is discovery stage, the same as working on every feature. You would have discovery, design development and release. And also you can go back and forward in some steps. And also you can see there's few additional steps in each of this phase. So there should be audit, discussion, scoping, kickoff. Then there should be exploration, user testing of course, and documentation at each step. And also when you release, you also should think about announcement because you have users and you should definitely share what's different, what's new in your design system. And also you should have metrics to check. Sometimes you may not have metrics. For example, there are five people who are using design system and the metrics you can have with just satisfaction. And technically yes, you have metric, but at the same time it's not that metric as you probably could have on your product because your metric is your user feedback, definitely. So what's next? We understand what approach to use, you understand what process can be. So next step is design phase. So color palette is the most basic element of your design system, but also time consuming. Work on color palette can take from few hours to few weeks, depends. So instead of spending time on this basic element, basic element of your design system, you should use these plugins on figma to generate your color palette. I will show on my presentation only plugins for figma because last five years I use figma only and I know that number for designers who are using figma is growing every year. So if you use sketch, I'm really sorry but currently I'm sharing everything about figma. So as you can see you can use this plugin on figma to generate your color palette. Then also you can use this plugin to create your color palette as the styles and variables. Or you can use this plugin that also have an AI to generate your color palette. Creates everything styles based on pictures or image or your printing guidelines. So I absolutely recommend to use any of this plugin to create your color scheme. Typography is also time consuming. You also can spend from hours today to create your typography styles and sometimes it's really challenging when you have already existing product and you need to gather everything together. So this plugin can really help you to save hours of your life by just some of them gathering all color styles that you already have on your mockups and figma. Some of them help you to create type scale specifically for your needs. So I definitely recommend to use any of this. Next is icons. Why icons? It's really interesting because designers already designed like thousands of different versions of home icon. You can find it everywhere. So instead of again spending hours on this basic element such as icon, you can buy already existing icon set on this website for example. Or you can use any of plugins that you can find on figma, for example material symbols or the same plugin from iOS. So it will help you save hours of your life on creation these icons. But again, there is a lot of other icons that you can find on different other websites. So I think you definitely could find something that's really suitable for your branding for your website to make a shiny and save time. What else? I would like also share my thoughts about these three plugins because these three plugins are just recently showed up and they're in beta version. But what they can do previously on previous slides I shared that you can create icons, colors and typography by using different plugins. And these plugins on this slide there can do everything, but you need to prompt, you just need to prompt what you would like to create. Unfortunately, these plugins again embedded version, it means they are not that functional as they can be. But in the future I see that by prompting them, by adding few lines of text, you can create your own design system. Currently they can create styles, color fonts and few really simple design components. Design system components, but that's it. But anyway, they're really powerful and instead of having like five or ten plugins for different reasons, you can use any of this and it's really could help you save time. And when we're talking about designing, it's not the end after design. Usually we should go to the development phase. So we should move up design for Figma two code. Unfortunately, and fortunately there is not that many plugins or tools that can help you move your Figma file or design on Figma to code because Figma already did it. Figma introduced depth mode that help you just copy this code that Figma generate and paste it to your repository, to your files and it's really helpful. Unfortunately, there is no other tools that can do something better and there is not that many tools that you can try really. But using dev mode is really beneficial for our team. So it definitely should help you to build your design system faster. And also when we're talking about building design system, usually I see that people and other companies and other teams use storybooks as a visualization of what you can find on Figma, what you can see on code. So it's really helpful. It helps engineers to understand what's going on, what other state, what other patterns or styles you should use, or it also help with version control. So storybook or its alternative is definitely really helpful to save time and help with communication between different departments. Also, when we're talking about design system, it's all about documentation and guidelines. I might say that when we're talking about documentation, first thing first, what we're thinking about is chat DPT. There is no longer need to have open tab of chat VPT because you can find this plugin and figma that also have chat DPT. So it means that you just open this plugin and prompt few lines of text about what you're gonna choose, what you going to generate and this plugin will do everything. I use it a lot in the past, I will use it already for my design system. I'm working on design system and it's really helpful. Also when we're talking about design system and components, it's usually all about anatomy of components, means you should use and you could use and I recommend to use this eight shaped specs plugin because it really helped to highlight these different measurements between components, space between components and everything and leave comments and some specific details for your engineer. Definitely should use it. And when we talking about documentation, these applications are hey is really helpful because this is perfect place where you can place everything, all documentation that you have for both engineers and designers and for third parties or other departments in one place. You just create one page where you explain everything about some specific component, or you can explain patterns or use cases for specific elements. So it's really helpful to use this app as a source of truth for everyone. And since we already discussed components and where to place it and how to move it from design to engineering, we also should think about scalability. Because yes, we have users, our design system is valuable and how to scale, because when you cannot scale, it means that your design system would be really hard, really difficult to maintain. You could spend a lot of hours on just creating new components and there will be no scalability at all. And eventually you can just lost your users and metrics gone wrong and there is no option at all. So you can try to make your design system scalable just to add a lot of collaboration between different departments and collaboration between users and people who are building this design system, because this collaboration can help to understand point of improvements or weak points or this strength of design system. So collaboration is essential for building scalable design system. And when we're talking about scalability is all about documentation. So everything should be documented and your design system should be flexible and modular. Because when you cannot create your design system, when your design system is not that scalable, not that flexible, sort, it means that every time when you need new component, when you need specific component, you cannot use existing one, you should create new one. And it means that you would end up with a lot of the same, very similar to each other components. You will end up with a lot of documentation for all of them. It's definitely should, you should definitely try to avoid creating a lot of components. And you should definitely think about adding flexibility to this component. And your design system is all about version control. Because if your design system is evolving, if you create a new component, if you add in documentation, you should definitely think about how to show versioning, how to help user to understand that this button is the most relevant one and previous one issue duplicated. So version control is everything too. And once you done with everything, you create scalable design system, next step is adoption. If your design system have value and also have users, it means that you should educate and train all users that can possibly work with your design system. Because training and education is the most essential one for adoption. Because people should know what to use and how to use this component. And also it's all about feedback. And if you would like to scale your design system and make it living and breathing, you should think about improvements and how to improve is just gathering feedback because user will say, will tell you what should be improved. And also to make your design system perfect for adoption is your design system should be impactful for users, for company, because if there is no impact, there is no chance that company will use it and users will use it. And we're talking about people who are creating Zen systems. So it's all about recognition because people who build Zen systems should be motivated and they should be recognized. So it's just tiny thing, but recognition is something that should be done for better adoption. So thank you so much for listening. My presentation about design system.
...

Elena Shabanova

Senior Product Designer @ PolyAI

Elena Shabanova's LinkedIn account



Awesome tech events for

Priority access to all content

Video hallway track

Community chat

Exclusive promotions and giveaways