A colour that no longer matches its token, a spacing value typed by hand, a component rebuilt locally instead of reused. Each is small; together they pull production away from the system. A single difference like these is called a divergence.
Where drift comes from
Drift rarely starts with one big mistake. It comes from ordinary work:
- a value copied from Figma instead of read from a design token;
- a token renamed in design but not in code;
- a component patched locally under deadline and never merged back;
- a primitive used where a semantic token belongs, so a theme or mode change misses it.
Why it stays invisible
Nobody owns the gap. Designers see Figma, developers see code, and reviews compare each against itself, not against the other. A drifted button still works, so nothing fails until a rebrand or an audit finds dozens of places to fix at once. In Sparkbox's 2022 design systems survey, 37% of maintainers named parity between design and code as a top challenge (Sparkbox).
How teams keep it in check
Three habits do most of the work:
- Deliver design changes to code as reviewed pull requests.
- Compare design and code by stable token IDs, not by eye.
- Measure drift regularly instead of discovering it during a redesign.
Related
- Why production quietly drifts from your design system: causes and costs in detail.
- How to measure design system health