Building a design system that improved efficiency, streamlined workflows, saved developers time, and was adopted by 2 departments

Building a design system that improved efficiency, streamlined workflows, saved developers time, and was adopted by 2 departments

design systems

introduction

We launched this project to unify our design system and prevent duplication. Previously, I unknowingly designed a component that already existed, creating redundancy. Developers also struggled to identify reusable components, leading to inefficiencies.

Project timeline

Aug 2023 - present

my role

  • 18/23 components created

  • Plan and roadmap

  • Accessibility

Team

  • x3 Product Designers

  • x1 Senior Delivery Manager

Tools

Figma
Zeplin
SharePoint

the challenge

Teams faced misalignment, inefficiency, and inconsistent branding

Teams faced misalignment, inefficiency, and inconsistent branding

Without a design system, inconsistent terminology caused misalignment, the brand identity became fragmented, and developers faced confusion over components. Teams wasted time searching, relied on ad-hoc designs, and repeatedly redesigned components for consistency.

Terminology discrepancies

Business analysts used terminology that differed from ours, leading to varying interpretations of the same component among team members.

Developer confusion

Developers were puzzled by two components with the same behavior but different looks, making it unclear which one to choose.

Incohesive brand presentation

Five products with distinct components and colors, lacking a cohesive brand appearance.

Cross-product component search

We had to sift through five different products to find components for our current designs, leading to a notable waste of time.

Ad-hoc component design

Due to the unavailability of components, designing from scratch was necessary for new components, often without prior research in urgent situations.

Component redesign

There were occasions when we had to redesign the same component for developer simplicity and consistency.

solution AND IMPACT

Transitioning from a basic component library to a comprehensive design system

After extensive collaboration with the development team, we created a robust design system with documentation, accessibility features, and reusable components, accelerating the process by 85%.

solution AND IMPACT

Transitioning from a basic component library to a comprehensive design system

After extensive collaboration with the development team, we created a robust design system with documentation, accessibility features, and reusable components, accelerating the process by 85%.

85%
design process improvement

2

departments using our components

91.3%

improvement per process

PROCESS AND INSIGHTS

the problem

Our 5-component library couldn't support multiple projects and lacked accessibility

Our 5-component library couldn't support multiple projects and lacked accessibility

Joining a team with just one UX designer in a low-UX-maturity company meant the design system lacked necessary components, forcing us to copy-paste from other projects, spend excessive time searching, repeatedly develop the same components, and overlook accessibility.

Our initial component library

The initial component library included colours, icons, the logo, buttons, fields, checkboxes, and radio buttons, but we needed more to ensure faster work delivery.

Screenshots from two of our products revealed the use of inaccessible components with insufficient contrast, lack of responsiveness, and other issues.

Most of our components were not accessible

Many components, such as pagination, footer links, and buttons, lacked accessibility, posing challenges for users with visual difficulties and even average users. Additionally, some products were not responsive on smaller screens, leading to cluttered information and inaccessible interactive components.

the process

Reviewing design systems, merging the old component library, holding bi-weekly catch-ups and assigning tasks collaboratively

Reviewing design systems, merging the old component library, holding bi-weekly catch-ups and assigning tasks collaboratively

We decided to get inspiration and follow the guidelines of highly accessible organisations, such as the Government Digital Service and other department-specific design systems, which are recognised for their strong accessibility standards.

Abbr. on the right: MOJ (Ministry of Justice); HMRC (HM Revenue and Customs); ONS (Office for National Statistics); DWP (Department for Work and Pensions)

We decided to get inspiration and follow the guidelines of highly accessible organisations, such as the Government Digital Service and other department-specific design systems, which are recognised for their strong accessibility standards.

Abbr. on the bottom: MOJ (Ministry of Justice); HMRC (HM Revenue and Customs); ONS (Office for National Statistics); DWP (Department for Work and Pensions)

We decided to get inspiration and follow the guidelines of highly accessible organisations, such as the Government Digital Service and other department-specific design systems, which are recognised for their strong accessibility standards.

Abbr. on the bottom: MOJ (Ministry of Justice); HMRC (HM Revenue and Customs); ONS (Office for National Statistics); DWP (Department for Work and Pensions)

Attending events like the GOV.UK Hackathon 2024 offers valuable insights from leading design systems.

Gradually merging and replacing the old design system with the new one

Gradually merging and replacing the old design system with the new one

Merging the old design system with the new one was a gradual process. Initially, we continued using components from the old system, but as we progressed, we added more components to the new system until we no longer needed to rely on the old one. At one point, we reached an impressive 6,000 to 8,000 component insertions!

How can we be sure our components suit all scenarios and use cases? Answer: We can’t, until we use them

How can we be sure our components suit all scenarios and use cases? Answer: We can’t, until we use them

While reviewing current scenarios, unforeseen situations may arise as projects progress. As the components are used more, we'll gain valuable insights into their application across different products.


A component starts as a proposed pattern, created to address a specific need. As it’s used in more products, we refine it based on feedback and real-world use, turning it into an exposed pattern. Once it’s stable and doesn’t need further tweaks, it becomes a mature pattern ready for widespread use.

Determining when new components should be added - contribution model

Determining when new components should be added - contribution model

Our governance model follows a cyclical approach, where decision-making is led solely by our design team, while other teams contribute insights and ensure alignment. When designing new features, we check if the needed component exists in the design system. If not, we first make minimal tweaks (light contribution). If that’s not possible, we create a new component (heavy contribution), ensuring the system remains adaptable without unnecessary changes.

"Medium" contribution example (upload component)

The upload component adapts based on space: in a modal, it has a compact design, while in a larger desktop layout, we made moderate adjustments like enlarging the drop area, adding an icon, and including a label.

We transformed a small set of 5 components into a robust library of 25 well-defined, meticulously documented components, supporting all teams across the organisation

We transformed a small set of 5 components into a robust library of 25 well-defined, meticulously documented components, supporting all teams across the organisation

We reached a point where we had developed a robust component library. To ensure its effectiveness, we held monthly calls with developers to present the components and validate their viability using the hot potato approach. Before deploying the components to production, we thoroughly tested them across multiple projects to confirm their maturity and reliability. Additionally, we conducted internal usability testing with a minimum of three people to ensure that each component or pattern was intuitive for users.

The UX team was 85% faster at building flows with the design system, saving time for creative solutions over repetitive tasks—a huge win for us and the developers, though its true value went unnoticed...

The UX team was 85% faster at building flows with the design system, saving time for creative solutions over repetitive tasks—a huge win for us and the developers, though its true value went unnoticed...

“What’s the point of our design system?  Surely, if we are disciplined and everyone is doing what they need to do, it’s all there, organised and labelled. The number of new projects in our horizon are either fewer or standardised to look the same.”

Member of the senior leadership team

Communicating the value of the design system to stakeholders and the senior leadership team helped drive adoption and demonstrated its impact

When we first introduced the design system, we faced resistance due to the extensive collaboration required with developers and the significant effort needed to build the components. As a result, the senior leadership team initially questioned its value.

However, I presented the importance of the design system, and my presentation was well received.

I showcased the design system's efficiency and importance to the senior leadership team using examples and real-life scenarios.

impact

Our design system has been adopted by the development teams & data analysis and marketing departments

Our design system has been adopted by the development teams & data analysis and marketing departments

We never imagined that our design system could benefit so many teams and even be used across departments.

Reusing components instead of building them from scratch saves the team an average of 150 hours of work

Previously, developers built each component from scratch, with no reusable components available across products or teams. Now, they have a shared library of over 50 components, enabling reuse and collaboration across teams, saving approximately 150 hours of work.

The data analysis teams are using our components to build dashboards in Power BI

We worked extensively on Power BI dashboards and eventually built our own data visualization library, which kept growing. Since we had to test whether these visualizations were possible in Power BI, we ended up with a library that was well-suited for data analysis teams when they needed to create custom dashboards.

Implementing our design system within the marketing department for use on our public website

Our public website, built 7 years ago, was inconsistent with our current client-facing product, creating a disjointed look and feel. The marketing team decided to reuse our components and implement them on the public website, achieving a consistent look.

Reflections and next steps

Reflections and next steps

The design system has been a great initiative, and I'm proud to have contributed so much to it and seen it come to life. Despite facing resistance, we powered through and managed to improve not only our workflow when designing components but also the workflows of developers and business analysts.

Continue building and promoting the design system, with the hopes of other departments adopting it.

Improve and expand the documentation, making it clearer and more detailed, with examples, use cases, and guidelines to ensure ease of adoption by teams.

Collect ongoing feedback from teams using the system and iterate to improve the components and guidelines.

Continue improving the design system's accessibility features to ensure all components meet WCAG guidelines and are usable by diverse users.

Thanks for scrolling all the way!

Thanks for scrolling all the way!

Thanks for scrolling all the way!

Thanks for scrolling all the way!

Thanks for scrolling all the way!

Let's get in touch!

Email↗ / LinkedIn↗ / CV

© 2024 Andrea Munteanu V3.1 — third time’s the charm?

Let's get in touch!

Email↗ / LinkedIn↗ / CV

© 2024 Andrea Munteanu V3.1 — third time’s the charm?

Let's get in touch!

©

Let's get in touch!

Email↗ / LinkedIn↗ / CV

© 2024 Andrea Munteanu V3.1 — third time’s the charm?

Let's get in touch!

©