Putting out a design system fire

A look at how I fixed a problematic design system at Allica.

The design system team

  • 1x Product Designer
  • 1x Engineer

My responsibilities

  • Design system vision
  • Governance and processes
  • UI design
  • Documentation
  • Accessibility integration

The problems

When I joined Allica as a Senior Product Designer for the "Alchemy" Design System team, I was told the design system was on fire. I held a workshop to understand the problems, gathering Product Managers, Engineers and Designers to put their thoughts on a Miro board. Here's a summary of the key findings.

The design system's process is confusing

Nobody understood how the design system team operated or how they should request things.

It's bottlenecking squads

Squads were always waiting for new components or updates, holding up the delivery of feature work.

We don't know what's current

Components in Figma had low parity with the build, and some didn't even exist in production.

Poor communication

Designers and Engineers were not being informed of the latest updates, and stakeholders had no understanding of how much value was being delivered.

Prioritising

After using idea napkins to collaboratively figure out the best resolution to the problems, I held a session to prioritise the most impactful actions with the quickest turnaround.

Thematically, it was clear my priorities were to:

  • Redefine and document the design system process
  • Improve communication between the teams
  • Rapidly deliver components to unblock teams
A screenshot of an idea napkin in Miro
One of the idea napkins used to ideate solutions to the problems.
A screenshot of a priority matrix in Miro
The priority matrix which helped us choose which problems to solve first.

Contribution model

At the time I was the only dedicated Design resource to Alchemy, so to ensure rapid delivery, I proposed a hybrid contribution model where all Designers and Engineers could create the components we needed, whilst the Alchemy Engineer and I would act as quality assurance for all contributions.

A chart showing that Designers and Engineers contribute to the design system whilst an Engineer and I act as quality assurance.
A visual representation of the hybrid contribution model.

Component review process

There were no component reviews happening up to this point, so I worked with the Designers and Engineers to define our acceptance criteria for Figma components and their corresponding production build. Accessibility was an important factor, but rather than call it out specifically in the QA checklists, it was woven in to the rest of the criteria. This was to prevent it from feeling like a 'nice to have', and to become embedded in peoples habits.

A long page of acceptance criteria for components published in Figma
One step of the QA checklist for components published in Figma.
A long page of acceptance criteria for components built in production
One step of the QA checklist for components built in production.

Making the workload visible

The demand for components was high, so teams needed to know their status and the delivery plan ahead. I create a page in Confluence that displayed each ongoing front-end project, and listed which components each project was dependent upon. Each had a link to the corresponding Jira ticket so progress was visible. This page was shared with Product Managers so they could keep an eye on dependencies.

A screenshot of a Confluence table listing documents needed for a squad project
One of the projects with its component dependencies shown in Confluence.

Ceremonies

As well as the usual meetings such as stand-ups and sprint planning, I established some ceremonies that would ensure we were delivering high-quality output in good time.

Bi-weekly refinement sessions

To keep up with the demand, I held two refinement sessions a week where I'd gather requirements for any work coming in to the Alchemy team, and ensure the Jira board was up to date.

Fortnightly PM catch-up

The Product Managers were really concerned about the bottlenecking the design system was causing their squads, so I wanted to meet with them every two weeks to make sure they knew the Alchemy team was delivering the things they needed for their next sprint.

Demos

At the end of each sprint, the Alchemy Engineer and I would demonstrate the latest additions and changes to the squad Designers and Engineers, so everyone was aware of them.

Screen capture videos

When noteworthy changes were made to the Figma component library, I'd make a quick video showing the updates so that the Designers could keep abreast of it in their own time.

Process FAQs

Once the new governance model and processes were defined and written, it became clear that there was a lot of information that people would have to sift through. I needed a way fo colleagues of all professions and experience levels to find the information they need for any situation they find themselves in. I'd seen people make decision charts for this before, and I didn't think people were likely to use them, as they seemed a bit impractical. Instead, I put together an FAQs page that contained details and links to everything they'd need to know in common situations.

A screenshot of a Zeroheight page explaining how the design system team processes work
A sample from the process FAQs page.

Setting objectives

Once the fires were put out and the urgent components were delivered, it was time to plan for a sustainable design system. The road ahead needed to align with the business' goals, so that's how I approached defining our objectives.

Business objective: Best in class efficiency

Alchemy objective: Maximise scalability

Description: By designing and building the system in a scalable manner, workflows are streamlined and we can easily roll it out to other products.

Alchemy objective: Adopt strategically

Description: By migrating codebases to our design system with a systematic approach, and building components well, squads can enjoy the productivity benefits that a design system offers.

Alchemy objective: Measure the value

Description: We need to keep track of how the design system is performing, so we can identify areas that need improvement, and act upon it.

Alchemy objective: Empower our squads

Description: We can enable our teams to use and contribute to the design system effectively if we provide them with all the knowledge they need.

Business objective: Be the most-recommended bank

Alchemy objective: Improve accessibility

Description: Make our products better for everyone by devising a strategy for designing, building and reviewing components with accessibility in mind.

The roadmap

I collaborated with the Alchemy Engineer to define the actions that would help us reach those objectives in 2024. I made them available for anyone to see in Confluence with links to all the tickets so progres was clear. Here's an example of Q4:

A screenshot of a Confluence page showing the Q4 deliverables
The deliverables for Q4 of 2024.

Measuring

I wanted to make sure stakeholders understood the value the Alchemy team was delivering, so I defined and reported on key metrics every business quarter. I think it's important to go in to the detail of this, so you can see the approach taken in the next case study.