Dieter Rams' 10 Timeless Commandments For Good Design

How the legendary industrial designer's principles translate to modern design systems and component-driven development

The Origins of Good Design

Dieter Rams, the legendary German industrial designer who led design at Braun for over four decades, created a philosophy of good design that has influenced generations of designers--including Jony Ive and Apple's iconic products. His ten principles, developed to answer a simple question--"Is my design a good design?"--form a timeless framework that translates remarkably well to modern web development practices and design systems.

Rams' approach, summarized as "less but better," champions simplicity, functionality, and restraint. These same values underpin successful design systems today.

The 10 Principles at a Glance

  1. Good design is innovative -- Pushing boundaries to solve problems in better ways
  2. Good design makes a product useful -- Serving functional, psychological, and aesthetic needs
  3. Good design is aesthetic -- Beauty that enhances, not distracts
  4. Good design makes a product understandable -- Clarity that needs no explanation
  5. Good design is unobtrusive -- Neutral design that serves the user
  6. Good design is honest -- Transparent about capabilities and limitations
  7. Good design is long-lasting -- Timeless over trendy
  8. Good design is thorough down to the last detail -- Nothing left to chance
  9. Good design is environmentally friendly -- Sustainable and efficient
  10. Good design is as little design as possible -- The capstone principle: simplicity

Principle 1: Good Design Is Innovative

Innovation in design isn't about flashy features--it's about finding smarter solutions to real problems. Rams understood that technological progress opens new possibilities, but innovation must always serve a purpose.

In design systems, this means:

  • Components that leverage new browser capabilities (CSS Grid, Container Queries)
  • Design tokens that adapt to dark mode, reduced motion, and accessibility needs
  • Automation in design ops: Figma plugins, automated token generation
  • Avoiding innovation for novelty's sake--every new component must solve a genuine problem

Rams' innovation wasn't about adding features; it was about finding elegant solutions. Design systems should do the same.


Principle 2: Good Design Makes a Product Useful

A product's primary purpose is to be used. Good design emphasizes usefulness while removing anything that detracts from it. This means satisfying functional, psychological, and aesthetic criteria.

In design systems, this means:

  • Every component solves a real problem--no decorative elements
  • Component APIs that are focused, not bloated
  • Documentation that clearly answers "when should I use this?"
  • Accessibility as core utility--components usable by everyone
  • Measuring adoption to validate usefulness

Useless components create maintenance burden. Rams' principle reminds us to build only what truly serves users.


Principle 3: Good Design Is Aesthetic

The aesthetic quality of a product is integral to its usefulness. Products we use daily affect our well-being, and only well-executed objects can be beautiful. Aesthetics enhance function--they don't compete with it.

In design systems, this means:

  • Design tokens for colors, spacing, typography create visual harmony
  • Visual regression testing ensures aesthetics are maintained
  • Component defaults embody the design system aesthetic
  • Consistent visual language builds user recognition and trust

Good aesthetics in design systems aren't about decoration--they're about creating coherent, professional experiences.

Principles 4-6: Clarity, Restraint, and Honesty

How Rams' middle principles shape user-friendly design systems

Good Design Is Understandable

Components must be self-explanatory. Clear naming, obvious props, and intuitive APIs mean developers don't need extensive documentation to get started.

Good Design Is Unobtrusive

Components are tools, not decoration. Neutral defaults, content-first approaches, and headless patterns leave room for content and brand expression.

Good Design Is Honest

Components accurately represent their capabilities. Documentation honestly states limitations. No hidden complexity or misleading promises.

Principle 4: Good Design Makes a Product Understandable

Good design clarifies structure and can make products self-explanatory. Users shouldn't need to think hard about how something works--it should just make sense.

In design systems, this means:

  • Component naming: Button, Card, Modal--not obscure technical names
  • Prop names should be obvious: variant="primary", not variant="a"
  • APIs that are self-documenting where possible
  • Clear examples in documentation
  • Intuitive navigation on design system websites

When a developer can understand a component without reading docs, you've achieved Rams' standard of understandability.


Principle 5: Good Design Is Unobtrusive

Products fulfilling a purpose are like tools. They're neither decorative objects nor works of art. Their design should be neutral and restrained, leaving room for the user's self-expression.

In design systems, this means:

  • Content-first approach: components frame content, not compete with it
  • Neutral component defaults that adapt to brand customization
  • Avoiding opinionated styling that limits flexibility
  • Headless/composable component patterns (Radix UI, React Aria)
  • Components that recede, letting the product shine

Principle 6: Good Design Is Honest

Good design doesn't make products more valuable than they are or manipulate users with empty promises. It's transparent about capabilities and limitations.

In design systems, this means:

  • Documentation honestly states what components do NOT do
  • Accessibility claims tested and verified, not assumed
  • Clear component status indicators: stable, beta, deprecated
  • Breaking changes communicated with ample notice
  • No hidden complexity in component APIs

Honest design systems build developer trust--and trust is essential for adoption.

Principle 7: Good Design Is Long-Lasting

Good design avoids being fashionable and therefore never appears antiquated. Unlike trendy design, it lasts many years--even in today's throwaway society.

In design systems, this means:

  • Semantic versioning with backward compatibility
  • Proper deprecation paths, not sudden removals
  • Future-proof architecture that accommodates growth
  • Avoiding trend-driven design choices
  • Components built to evolve, not be replaced

Design systems with longevity reduce technical debt and maintain developer confidence.


Principle 8: Good Design Is Thorough Down to the Last Detail

Nothing must be arbitrary or left to chance. Care and accuracy in the design process show respect towards the user.

In design systems, this means:

  • Comprehensive component API coverage
  • Edge case handling in documentation
  • Design QA and visual regression testing
  • Storybook stories covering all prop combinations
  • Automated accessibility testing

Rams believed every detail deserved equal care. Design systems should reflect this thoroughness. This approach aligns closely with user-centered design methodologies that prioritize end-user experience.


Principle 9: Good Design Is Environmentally Friendly

Design makes an important contribution to preservation. It conserves resources and minimizes pollution throughout the product lifecycle.

In design systems, this means:

  • Component reusability reduces duplication across projects
  • Efficient code bundles (tree-shaking, minimal dependencies)
  • Design tokens reduce visual inconsistency → fewer design iterations
  • Sustainable maintenance: well-documented components are easier to maintain
  • Documentation as efficiency (reduced questions, fewer support tickets)

Environmental responsibility in design systems means building for longevity and efficiency.


Principle 10: Good Design Is as Little Design as Possible

This is Rams' capstone principle: "Less, but better." Concentrate on essential aspects. Products are not burdened with non-essentials. Back to purity, back to simplicity.

In design systems, this means:

  • Minimal component APIs: only necessary props exposed
  • Avoid over-engineering: simple solutions when possible
  • KISS principle in component architecture
  • Fewer, more capable components over many specialized ones
  • "Design system" should be as small as possible while being complete

This principle encapsulates all others:

  • Innovation = finding simpler solutions
  • Useful = removing non-essential features
  • Understandable = removing confusion
  • Honest = no unnecessary complexity

Applying the Principles to Modern Design Systems

Building Blocks of Good Design Systems

Each of Rams' principles maps directly to design system elements:

PrincipleDesign System Application
InnovativeNew components leverage modern capabilities
UsefulEvery component solves a real problem
AestheticDesign tokens create visual harmony
UnderstandableClear naming, self-documenting APIs
UnobtrusiveNeutral defaults, content-first
HonestAccurate documentation, clear limitations
Long-LastingProper versioning, deprecation paths
ThoroughEdge cases, accessibility, testing
Environmentally FriendlyReusable, efficient, maintainable
MinimalFocused APIs, avoid bloat

These principles connect directly to HCI foundations and modern UX practices that prioritize user needs and system coherence.


Common Design System Pitfalls

Pitfall: Feature Bloat

  • Symptoms: Components with 50+ props, confusing APIs
  • Rams' Fix: Principle 10--remove non-essentials
  • Action: Audit components, remove rarely-used features

Pitfall: Inconsistent Aesthetics

  • Symptoms: Visual inconsistency across components
  • Rams' Fix: Principle 3--aesthetic quality is integral
  • Action: Strengthen design token system, enforce via linting

Pitfall: Poor Documentation

  • Symptoms: Developers can't understand component usage
  • Rams' Fix: Principle 4--make it self-explanatory
  • Action: Improve examples, add prop descriptions

Pitfall: Breaking Changes

  • Symptoms: Components constantly change APIs
  • Rams' Fix: Principle 7--long-lasting stability
  • Action: Implement proper versioning, deprecation paths

These pitfalls often stem from rushing the design specifications phase. Taking time to define clear component boundaries prevents future problems.

Build Better Design Systems with Proven Principles

Dieter Rams' timeless principles provide a framework for creating design systems that are innovative, useful, honest, and built to last.

Frequently Asked Questions