Building a Design System for an IT service provider

overview

Company did not have an integrated Design System for all of its 40+ products, leading to inconsistencies and a time-consuming design process. As a team of 11 designers we worked on building an integrated design system from scratch.

ROLE

Research, Interaction, Visual design, Prototyping & Testing

Project Time

1 month (1 week for each component and the effects library).

Background

When the company was just founded there were no designers, and developers had to ship MVPs without taking into consideration the UX. As the company started to grow in 2015 they hired their first designer. It was easy to maintain consistency across products for one person and there was no need in building a Design System. By 2019 we had 16 members in the UX team and several local UI-kits designed by team-members to make their work easier and faster.

Problem Space

As the team grew inconsistency across products grew with it. There were different solutions used for the same processes and users had to learn new flows in each product.

For instance, client using both Cloud and Dedicated Servers had to memorize where where all important information is located and how to manage each product.
Comparison of Cloud and Dedicated Servers UI

Process

Each designer was responsible for several components and patterns. The process consisted of 5 steps: collecting all the current use cases of the component across 40 products in control panel → analysing UX design best practices → creating a draft of component description → design review → editing description. We agreed on sample structure for component description sample:
• component name
• table of contents
• component description
• component types
• specific information
• rules of use
• sizes
• information sources
• component variants
Let's take a look at an alert description I did as an example:
1. Component name, table of contents and component description.
I created clickable table of contents to make navigating though file easier. When describing component I tried to answer the question ”How to use this component?”.
2. Alert types.
In this chapter I listed component variants and cases of use for each of them.
3. Specification.
This block is needed to:
• handoff the design of components to development
• choose the right variant when designing a UI solution
• create responsive design
4. Component-specific information: alert text.
For each component this block would be unique. For instance, text on alert is an essential part of the component as it helps user to understand what happened in the UI or what needs to be done.

To make the description more clear we used right and wrong examples.
5. Sources.
While searching for best UX practices we followed our usual design process and analysed lot of different sources. We created a whole chapter with sources to have an access to it anytime.
6. Component variants.
This part is the most important one for UX team since all mockups and prototypes are designed using components. We tried to take into account all the use cases so that we won't need to make major improvements of our components in the future.
In the first iteration I created more components than shown in the picture. Later Figma launched new features that helped to merge several variants of component into a single one. In the video below you can the final version of component set most layers of which are controlled by boolean properties.

Before/after screenshots

Before creating the Design System, we only had a desktop UI. Afterward, we designed responsive UI for all devices.
UI prior to the creation of the Design System
Responsive UI following the creation of the Design System

Results

  1. Reduction of UI design time by 3x.
  2. Improved consistency across 40+ products.
  3. Increase in client satisfaction rate by 31,4%.
  4. Up to date visual style of the Control Panel.
  5. Launch of dark mode requested by many of our clients.
  6. Development of comprehensive component descriptions to address common design questions throughout the design process.