Design System Maintenance — How to Keep Design System Up to Date?
Building a design system is no small feat–but that’s just the first step. Design system maintenance is a continuous operation requiring human, time, and financial resources to evolve and mature it.
UX, technology, regulatory, product, and organizational changes require the design system team to manage and update many facets of the design system. This article provides a high-level overview of maintaining a design system, including its governance, audits, roadmap, and maturity.
Optimize your design system’s operational challenges and reduce maintenance with UXPin Merge. Sync design and development to create a single source of truth, reduce debt, and eliminate drift. Request access to Merge.
Treat Your Design System Like a Product
In a Medium article, Nathan Curtis, founder of UX and design systems agency EightShapes, said, “A Design System isn’t a Project. It’s a Product, Serving Products.”
Framing your design system as a product means the design system team must manage several key aspects:
- Marketing: increasing design system adoption, update/release announcements, news, etc.
- UX: creating a good design system user experience (for designers, engineers, product teams, etc.)
- Engineering: writing and maintaining scalable, error-free code
- People management: building a successful design system team–even if it’s a team of one
- Operations: procedures, systems, tools, etc.
- Governance: process and protocols for maintaining and updating a design system
- Customer service: logging support tickets and helping users solve problems with component/pattern recommendations
- Communications: talking to users, advocates, and stakeholders
Effective design system maintenance requires the DS team to create systems and protocols beyond updating pattern libraries to increase the product’s adoption and lifecycle.
For example, if you have an amazing design system with beautiful code and UI elements, but no one is using it, or it doesn’t deliver a return on investment, stakeholders will likely sunset the project or replace team members.
Start With Governance
Maintaining a design system requires good governance. It’s best to define these before launching your design system so that you’re ready to handle any issues and requests.
These are seven key areas your design system governance must address:
- Bug reporting and fixing: how do users report bugs, how do you keep a backlog, and how does the team fix these issues?
- Introducing elements: what is the procedure for adding new components?
- Promoting patterns: how does the design system team decide whether a new pattern is a one-off or best new practice?
- Reviewing and adapting patterns: procedures for ensuring new patterns meet design system guidelines and principles.
- Design system releases: defining a consistent release schedule and quality assurance procedures.
- Design system auditing: how often do you audit the design system, and what are the methods for analysis and reporting?
- Documentation: procedures for updating documentation.
Codifying Your Design System
Design system codification organizes a design system’s UI components into a searchable archive or hub with guidelines, principles, documentation, tutorials, governance procedures, and more.
Here are 11 things to consider when codifying and maintaining your design system’s documentation hub:
- Display your design principles and values on the design system’s homepage to remind users whenever they visit.
- A brand style guide is essential for maintaining design and copywriting consistency.
- The writing style guide provides instructions for all copy, including content, marketing, ALT text, and UX writing–i.e., voice, tone, grammar, slang/jargon/joke/language policies, structure, messages, and labels.
- Your design system’s best practices include a list of methods, tools, and processes–for example, how to use image assets or which design tool to use.
- Your design system’s website/hub must have easy, searchable navigation so product teams can find components and documentation.
- The DS team must provide clear governance for contributing and bug reporting. For example, adding forms on your design system’s website or creating specific Slack channels.
- The component library must include an example of each component, a code snippet, interactivity guidelines, use cases/implementation, dark/light variations, dos and don’ts, and variations (size, shape, colors, etc.).
- Your color palette must include a swatch and relevant color codes for each platform (iOS, Android, Web, etc.).
- Include a complete list of your product’s icons and variations, i.e., outline, circular, color, etc.
- Display approved fonts with examples for the various styles, like bold, semibold, regular, light, italic, etc.
- Include a list of tools for design, development, accessibility, and cloud storage.
Correctly codifying your design system will reduce errors, increase adoption, and streamline onboarding.
Design System Audits
Design system maintenance starts with a comprehensive audit–if you don’t know what’s wrong, how can you fix it? Design agency Ramotion provides a step-by-step approach for auditing a design system. This audit will assess the following:
- The design system’s quality
- Identify gaps
- Assess resources
- Analyze consistency
- Update documentation
It’s important to schedule regular and consistent design system audits. This schedule will depend on the size of your design system and available resources.
- Step one – Create clear audit goals: where will your audit focus, and what are the desired outcomes (reporting, recommendations, actions, etc.)? Over time, you’ll want to develop frameworks for different outcomes to maintain consistency.
- Step two – Analyze your resources: the necessary budget, time, and human resource allocation to achieve your audit goals.
- Step three – Conduct a design inventory: the design system team catalogs the component library’s UI elements, patterns, and templates, including the corresponding documentation. They also catalog policies, principles, brand guidelines, and other parts of the design system.
- Step four – Categorize UI elements: group UI elements and patterns by categories as they appear in your design system, i.e., buttons, icons, forms, etc. Placing everything side-by-side in categories enables one to visualize the entire design system.
- Step five – Identify redundant and missing components: completing step four helps identify duplications, redundancies, and missing components easier. For example, you may notice two buttons with slight variations, which could be redesigned into one element to serve both purposes.
- Step six: – Analyze the visual and typographic elements: this step includes all visual elements beyond your components and patterns, including color palette, images, fonts, etc. Does the system apply these properties correctly, and are there any inconsistencies?
- Step seven – Perform an accessibility analysis: design system accessibility is the foundation for building accessible user interfaces. Auditors must review accessibility policies and confirm these have been applied correctly across the entire design system. They may also check Web Content Accessibility Guidelines (WCAG) for updates and ensure the design system and its digital products remain compliant.
- Step eight – Consider the branding guidelines: auditors must assess components and copy to ensure the entire design system meets brand guidelines.
- Step nine – Create a roadmap for the future: use your findings to create a plan and roadmap to fix any issues from the audit.
- Step ten – Present your findings: the final step is to present your findings to stakeholders, which may include requesting buy-in for resources to execute your design system roadmap.
Create and Share Your Design System Roadmap
A design system roadmap outlines tasks, milestones, timelines, and deliverables as they relate to:
- Recent releases
- What the DS team is currently working on
- What they will work on next
- Future releases (6-12 months)
At the end of every audit, the design system team must update this roadmap to align with any updates or changes. For example, the product might be undergoing a redesign, so the team must update the component library. The audit will determine which elements the team must update and how long it will take.
A design system roadmap will influence two other important aspects of its ongoing maintenance:
- Changelog: chronologically-dated releases and notes
- Version control: the ability for teams to switch to any available version of the design system
Measuring Your Design System
The DS team must use KPIs to measure the design system and its impact on product development. These KPIs also identify problem areas and where to focus.
For example, if adoption remains stagnant, the team must market it better or interview non-users to understand why they’re not using the design system.
Some design system KPI examples include:
- Adoption: % of users using the design system and its growth over time
- Debt (UX & Front-end): the design system’s impact on debt
- Efficiency: measure how long it takes for teams to build products using the design system vs. not using it. Also, measure how this efficiency changes over time.
- Time to market: how the design system impacts time to market–again, with the design system and without, and how this changes over time.
- Writing code: how does the design system reduce writing code, and how this relates to adoption over time.
Design System Maintenance – Michael Todd’s Frequency of Function
Design systems Manager Michael Todd describes his “Frequency of Function” in a Medium article about maintaining a SaaS design system with a small team of two.
- Lead UI design decisions
- Design system advocacy
- DesignOps facilitation
- Collaborate with front-end engineers
- Facilitate design pattern compliance
- Run a design pattern guild
- Tracking and reducing UX debt
- Meet with various stakeholders
- Maintain and improve design tool libraries
- Consult on the product’s UI design direction
- Mentor UX designers on systems thinking
- Anticipate future design system needs
- Update style guides and documentation
- Network with product leads and stakeholders
- Update the design system’s goals and roadmap
Streamline Design System Maintenance With UXPin Merge
One of the biggest challenges with maintaining a design system is managing and updating separate systems for designers and engineers. Designers use UI kits for design tools, while engineers work with a component library hosted in a repository.
UXPin Merge bridges the gap between design and development by syncing a design system from a repository to UXPin’s design editor, so designers use the same UI components during the design process as engineers use for development.
This single source of truth offers several key benefits for design system maintenance:
- Managing one component library–no more image-based static UI kits.
- No designing from scratch–Merge components include properties and interactivity defined by the design system. Designers drag and drop components for an efficient product design workflow.
- Less front-end development work–engineers already have the same pattern library, properties, styling, and interactions.
- No design drift–significantly reducing UX and front-end debt.
- Built-in version control–versioning automatically synced between design and development. Designers can choose when to update and switch to any earlier version of the design system.
- Seamless handovers–enhance workflows to demonstrate the design system’s value, thus increasing adoption while winning resources from stakeholders.
Reduce operational and maintenance redundancies with UXPin Merge–the world’s most advanced end-to-end design tool with sophisticated design systems capabilities. Request access to Merge.