Design Systems in 2021 - Building Foundations for Scalable Product Development

Design Systems in 2021 - Building Foundations for Scalable Product Development

In today's complex digital landscape, organizations are increasingly turning to design systems as the foundation for scalable, consistent product development. A well-implemented design system serves as the single source of truth that bridges design and development, enabling teams to build products more efficiently while maintaining coherence across expanding digital ecosystems. This article explores the current state of design systems in 2021, their key components, implementation strategies, and how organizations are leveraging them to transform their product development processes.

Understanding Design Systems: More Than Just a Component Library

A design system is a comprehensive set of standards, documentation, and principles along with the toolkit to achieve those standards. While component libraries are often the most visible aspect, a true design system encompasses much more:

Design System Components

  • Design principles: The foundational values and approaches that guide decision-making
  • Design tokens: The visual design atoms (colors, typography, spacing, etc.)
  • Components: Reusable UI building blocks with defined behaviors and variants
  • Patterns: Combinations of components that solve common user problems
  • Documentation: Guidelines on usage, accessibility, and implementation
  • Governance: Processes for maintaining and evolving the system

As Brad Frost, creator of Atomic Design, puts it: "A design system isn't a project. It's a product, serving products."

The Business Case for Design Systems

Organizations are investing in design systems for compelling reasons:

1. Efficiency and Speed

  • Reduced duplication: Teams avoid recreating the same solutions repeatedly
  • Faster development: Pre-built, tested components accelerate implementation
  • Streamlined handoffs: Shared language and tools improve designer-developer collaboration

Impact metrics: Companies like Airbnb report 30-50% faster UI development after implementing their design system.

2. Consistency and Quality

  • Unified user experience: Consistent interactions across products and platforms
  • Built-in best practices: Components encapsulate accessibility and usability standards
  • Reduced design debt: Systematic approach prevents inconsistencies from accumulating

Real-world example: Shopify's Polaris design system helped unify the experience across their merchant-facing products, leading to improved usability metrics and merchant satisfaction.

3. Scalability

  • Support for growth: Systems scale more effectively than ad-hoc approaches
  • Onboarding efficiency: New team members can contribute more quickly
  • Platform adaptability: Well-structured systems can extend across multiple platforms

Key Components of Modern Design Systems

1. Design Tokens

Design tokens are the fundamental visual values in your system, stored as data rather than hard-coded values:

// Example design tokens in JSON format
{
  "color": {
    "brand": {
      "primary": {
        "value": "#0062FF",
        "type": "color"
      },
      "secondary": {
        "value": "#6929C4",
        "type": "color"
      }
    },
    "neutral": {
      "100": {
        "value": "#F4F4F4",
        "type": "color"
      },
      "900": {
        "value": "#262626",
        "type": "color"
      }
    }
  },
  "spacing": {
    "xs": {
      "value": "4px",
      "type": "spacing"
    },
    "sm": {
      "value": "8px",
      "type": "spacing"
    },
    "md": {
      "value": "16px",
      "type": "spacing"
    },
    "lg": {
      "value": "24px",
      "type": "spacing"
    }
  }
}

These tokens can be transformed into variables for various platforms (CSS custom properties, Sass variables, iOS/Android values) using tools like Style Dictionary or Theo.

2. Component Libraries

Modern component libraries are:

  • Composable: Built from smaller, focused components
  • Flexible: Adaptable to different contexts through props and variants
  • Accessible: Compliant with WCAG standards by default
  • Responsive: Designed to work across device sizes
  • Documented: Including usage guidelines and examples

React component example:

// Button component with variants
import React from 'react';
import { styled } from '@your-org/design-system';

const StyledButton = styled.button`
  font-family: ${props => props.theme.typography.fontFamily};
  font-weight: ${props => props.theme.typography.fontWeightMedium};
  border-radius: ${props => props.theme.borderRadius.md};
  padding: ${props => props.theme.spacing.sm} ${props => props.theme.spacing.md};
  transition: all 0.2s ease;
  
  ${props => getVariantStyles(props.variant, props.theme)}
`;

const getVariantStyles = (variant, theme) => {
  switch(variant) {
    case 'primary':
      return `
        background-color: ${theme.colors.brand.primary};
        color: white;
        &:hover {
          background-color: ${theme.colors.brand.primaryDark};
        }
      `;
    case 'secondary':
      return `
        background-color: transparent;
        color: ${theme.colors.brand.primary};
        border: 1px solid ${theme.colors.brand.primary};
        &:hover {
          background-color: ${theme.colors.brand.primaryLight};
        }
      `;
    default:
      return '';
  }
};

export const Button = ({ 
  children, 
  variant = 'primary', 
  size = 'medium',
  disabled = false,
  ...props 
}) => (
  <StyledButton 
    variant={variant}
    size={size}
    disabled={disabled}
    {...props}
  >
    {children}
  </StyledButton>
);

3. Documentation and Guidelines

Effective documentation includes:

  • Interactive examples: Live demos showing components in action
  • Usage guidelines: When and how to use each component
  • Accessibility information: WCAG compliance details and considerations
  • Implementation details: Technical information for developers
  • Design files: Figma/Sketch resources for designers

Documentation platforms: Storybook, Docusaurus, and Zeroheight have emerged as popular tools for creating living documentation.

4. Design Tools Integration

Modern design systems bridge design and development through:

  • Design tokens plugins: Tools like Figma Tokens to manage tokens in design tools
  • Component libraries: Figma/Sketch libraries that mirror code components
  • Handoff tools: Integration with tools like Zeplin or Figma's Inspect mode
  • Design-to-code: Emerging tools that generate code from design files

Implementation Strategies for Design Systems

1. Start with a Clear Scope and Strategy

Before diving into implementation, define:

  • System goals: What specific problems are you solving?
  • Scope: Which products and platforms will the system support?
  • Users: Who will use the system (internal teams, external partners)?
  • Resources: What team and budget will support the system?
  • Success metrics: How will you measure the system's impact?

2. Choose the Right Technical Approach

Several technical approaches have emerged:

Approach Description Best For
Monolithic Single, comprehensive library Teams with consistent tech stack
Distributed Multiple packages with shared foundations Organizations with diverse platforms
Multi-brand System supporting multiple brand expressions Companies managing multiple brands
Platform-agnostic Focus on design tokens and principles Organizations with varied tech stacks

Implementation consideration: Consider starting with a "snowball approach" - begin with design tokens and a few critical components, then expand gradually based on real product needs.

3. Build the Right Team Structure

Successful design systems require appropriate organizational support:

  • Dedicated team model: Full-time team focused on the design system
  • Federated model: Representatives from product teams contribute
  • Hybrid model: Small core team with federated contributors

Team composition:

  • Design system designers
  • Design system developers
  • Documentation specialists
  • Product managers
  • Accessibility experts

4. Establish Governance Processes

Effective governance ensures the system remains valuable over time:

  • Contribution process: How teams can suggest changes or additions
  • Decision-making framework: How changes are evaluated and approved
  • Release management: Versioning strategy and update process
  • Feedback loops: How system users provide input
  • Measurement: Tracking adoption and effectiveness

Example governance model:

Request → Triage → Design & Development → Review → Documentation → Release

Real-World Design System Examples

1. Shopify's Polaris

Key strengths:

  • Comprehensive documentation with clear usage guidelines
  • Strong focus on merchant-specific use cases
  • Excellent integration between design and development tools
  • Open-source approach that benefits the wider community

2. Atlassian's Design System

Key strengths:

  • Detailed accessibility guidelines
  • Robust component patterns for complex enterprise applications
  • Strong design principles that guide decision-making
  • Excellent documentation of component behavior

3. Google's Material Design

Key strengths:

  • Comprehensive design language with strong theoretical foundation
  • Extensive component library with implementation for multiple platforms
  • Detailed motion and interaction specifications
  • Wide adoption creating familiarity for users

Industry-Specific Design System Approaches

Financial Services

  • Security and trust patterns: Components that communicate security and reliability
  • Complex data visualization: Charts, tables, and dashboards for financial data
  • Progressive disclosure: Patterns for revealing complex information gradually
  • Compliance considerations: Built-in regulatory compliance features

E-commerce

  • Product display patterns: Flexible components for showcasing merchandise
  • Purchase flows: Optimized checkout and payment components
  • Personalization frameworks: Systems for customized user experiences
  • Promotional components: Flexible sale and offer presentations

Enterprise Software

  • Data-dense interfaces: Tables, dashboards, and administrative UIs
  • Complex workflows: Multi-step processes and approval flows
  • Role-based components: UIs that adapt to user permissions
  • Batch operations: Patterns for managing multiple items simultaneously

Overcoming Design System Challenges

1. Adoption Resistance

Challenge: Teams may resist using the design system, preferring custom solutions.

Solution approaches:

  • Focus on solving real pain points for teams
  • Involve product teams in the development process
  • Create clear documentation and onboarding materials
  • Demonstrate concrete benefits (time saved, improved quality)
  • Start with influential teams to build momentum

2. Maintenance and Scaling

Challenge: Design systems require ongoing investment to remain valuable.

Solution approaches:

  • Secure dedicated resources for maintenance
  • Implement clear versioning and deprecation policies
  • Build automated testing to ensure quality
  • Create contribution processes that distribute the workload
  • Regularly audit and refine the system based on usage data

3. Balancing Consistency and Flexibility

Challenge: Systems must provide consistency without limiting innovation.

Solution approaches:

  • Design components with appropriate flexibility through props and variants
  • Create clear extension patterns for custom needs
  • Distinguish between mandatory and optional guidelines
  • Establish processes for evolving the system based on new product needs
  • Focus on principles over prescriptive rules where appropriate

4. Technical Debt Management

Challenge: Legacy interfaces and components can complicate adoption.

Solution approaches:

  • Create a phased migration strategy
  • Develop compatibility layers where needed
  • Prioritize high-visibility or high-value areas for migration
  • Establish "debt reduction" targets for teams
  • Provide migration tools and support

Measuring Design System Success

Effective measurement frameworks should include:

  1. Adoption metrics:

    • Component usage across products
    • Design file library usage
    • Documentation site traffic
    • Number of contributing teams
  2. Efficiency metrics:

    • Development time for new features
    • Design time for new screens
    • Time spent on design reviews
    • Bug reduction in UI components
  3. Quality metrics:

    • Consistency across products
    • Accessibility compliance
    • User satisfaction with interfaces
    • Reduction in UI-related support issues

Example dashboard elements:

  • Component adoption heat map across products
  • Time saved through component reuse
  • Accessibility compliance percentage
  • Design debt reduction over time

As we look beyond 2021, several emerging trends will shape the evolution of design systems:

  1. Design tokens as the foundation: Increased focus on tokens as the core of systems
  2. AI-assisted design systems: Intelligent suggestions and automated implementations
  3. Cross-platform synchronization: Seamless updates across web, mobile, and emerging platforms
  4. Accessibility automation: Built-in tools to ensure and verify accessibility
  5. Design system analytics: More sophisticated tracking of system usage and impact
  6. Micro-frontends integration: Systems designed to work in distributed architecture
  7. Ethical design integration: Building ethical considerations into components

Conclusion: The Strategic Value of Design Systems

Design systems have evolved from nice-to-have resources to strategic business assets. Organizations that invest in well-structured design systems gain significant advantages:

  1. Accelerated product development: Teams build features faster with pre-built components
  2. Improved quality: Consistent implementation of best practices across products
  3. Better collaboration: Shared language and tools between disciplines
  4. Scalable design: Ability to maintain consistency while growing the product portfolio

For organizations embarking on a design system journey, remember that successful systems are:

  • Evolving products, not one-time projects
  • Collaborative efforts between design and development
  • Business tools that should demonstrate clear ROI
  • Living resources that adapt to changing needs

By approaching design systems strategically and investing in their ongoing development, organizations can create a foundation for scalable, consistent, and efficient product development that delivers better experiences for users and better outcomes for the business.


This article was written by Nguyen Tuan Si, a product design consultant specializing in design systems and scalable product development.