I absolutely adore this post by Matthew Ström about what design systems really are and why they’re so difficult to make. Matthew writes:
With beautiful design systems like Polaris, Lightning, and Carbon for inspiration, it’s tempting to open up a Sketch file and start your own. A fresh start: all the freedom in the world. Finally, a great-looking date picker.
But wait! You already have a design system.
If you look close enough at your production code, you’ll see the tell-tale signs. Your engineering friends can point out the components (what you might call molecules or atoms) and variables (design tokens). Ask the engineers how and why they wrote the code: you’ll hear many of the same concepts that designers use when creating a design system.
I love this sentiment as Matthew argues that there is a system down there, it just wasn’t designed cohesively. But that shouldn’t give us an excuse to start over again or reinvent the wheel.
And on this note, I think people mistake a design system for a designed system — which is an important distinction to make here. Just because this hodgepodge of code and design isn’t cohesively organized and you don’t like it doesn’t mean you can ignore it.
Regardless of how much this hurts – you must slowly improve things over time, instead of tearing everything apart.