Managing Divergence in Design Systems

Managing Divergence in Design Systems

Over at ACME-12, Blake is designing a customer support request form. Using the ACME Design System, styles and forms components filled the canvas. The form also needed a date selector, so Blake designed one. A few weeks later, the team discovers that there’s three components that perform the same date selection.

The component has diverged. Some teams ask which one they should use, others try to select the variation that fits their needs the best. The core design system team now has to figure out how to merge.

Design system governance is to define a process to ensure consistency throughout, help teams find the styles, guidelines and components, and outline how to raise additional needs. Occasionally, something will slip through and end up causing divergence. This can lead to inconsistent user experiences and could undermine existing procedures. Ultimately, this puts the design system at a risk of being obsolete.

Governance doesn’t need to be watertight to where it impedes on improvements. There’s proactive and reactive ways to manage divergence as it appears throughout the design system lifecycle.

Regularly audit your design system

Introducing an auditing process can help catch diverged components and styles early. Leverage version control and history to pinpoint recent additions. Sometimes, we’ve seen diverged components isolated to their respective product. Audits should also investigate beyond the shared component libraries.

Documentation and supporting materials can also contradict and lead to divergence. Don’t disregard these. Make sure that finding a component to fulfill X is easy to understand for newcomers.

Announce updates often

A design system mailing list or channel is a good way to keep teams informed of changes. Not everyone will read it, but it could empower teams to identify potential conflicts. It also reinforces the idea of a “living document” to encourage conversation and avoid obsolescence. In conversations, the core team should be able to respond in adequate time to not slow progress of different teams.

Have a plan in place to consolidate

It should not be as simple as, “Blake, get rid of this and use the existing date selector”. There are factors to consider, including if it’s already in use by users. As you design a plan, here are several questions to consider:

  • Where are divergent components being used?
  • Why was another component created? What was the requirement or use case if the existing one was not sufficient?
  • Can we switch it to the existing component? Will there be an impact on users?
  • How complex are these differences? Can we merge these back as a variant to the existing component?
  • What is the impact of changing and updating? What is the impact of not dealing with this?
  • If there are updates required, how much time and effort is required?

Manage, but don’t overdo it

Governance walks a fine line between adoption and disregard. Expect divergence as design systems expand in use and coverage. These can come in all sizes from font styles, color token use and components. While it is important to have a systematic approach to tackling divergence, be wary of adding too much rigidity to your processes. It risks stifling the progress of the living document and can be a turnoff for collaborators. There is no one size fits all. One thing to keep in mind is how far down the road a component or style has progressed. Catching diverging items early in the design is a relatively easy fix compared to after the team has deployed it to end users.

When we build design systems at Digitalist, the rollout often results in divergence that needs to be addressed. As part of our process, we start with understanding the use cases and requirements behind the components. Then carefully apply a solution to address cases from duplicate utility to difference in interactions. Working with our clients, we’ll impart governance best practices and help position the design system for long-term success.

No items found.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.