Design systems in fast-moving product teams
A design system fails when it becomes a separate product that teams need permission to use.
The goal is not to create a perfect library. The goal is to reduce decision friction for shipping teams.
What actually works
- Shared primitives with strong defaults
- Documentation that starts with copy-paste examples
- Contribution paths that product engineers can use directly
- Versioning that favors incremental adoption
The metric that matters
Count how many product surfaces still need one-off UI solutions for common patterns (forms, tables, modals, navigation).
If that number is dropping, the system is healthy. If not, you likely have a governance problem, not a component problem.