Get weekly design system tips and tricks, directly to your inbox.
The ultimate goal for design system teams is frequent, quality contributions from designers and engineers all across the organization.
I’ve seen almost no organizations fully achieve this.
Even moreso, I think it’s foolish to chase this.
I love to cook but I don’t do it often because I make a gigantic mess in the process. I’m all for cleaning my stations as I go, but there are still a bunch of cutting boards and knives and ramekins and plates that need washing and cleaning afterwards. To avoid the work I don’t want to do, I sacrifice the thing that I actually do want to do.
Luckily, my wife doesn’t like cooking but she doesn’t mind cleaning. And she’s great at it! She’s way faster and better than i am at it with what looks to me like so much less effort than I generally have to exert when I clean.
So, we have an agreement: I cook, she cleans. We both get a delicious meal, and we each get to contribute to in the way we prefer by getting the benefit of what the other one does too.
That’s how product teams and the design system team should work together. Product teams are really good at inventing new things and being able to use them in their products to meet their deadlines and create customer value. Design system teams are really good at standardizing things and abstracting them. Product teams cook, design systems teams clean.
To this end, I think it’s the job of the design system team to contribute to the design system, not the product teams’ job. That’s where most organizations get it wrong. They think the design system team’s job is to create best practices and the job of the product teams is to somehow absorb and utilize those best practices and then magically figure out how to contribute to that set of best practices.
I’ve seen design system teams create elaborate checklists that product teams need to comply with in order to contribute, and then they wonder why contribution is so low or even nonexistent. Contribution is difficult when the wrong people are responsible for it and when the systems in place—sprint plans, product velocity, a “move fast and break things” culture—disincentivize it. Product teams generally don’t design or build components to be reusable by other teams; that’s usually a waste of time for them. They usually build what the users of their products and features need and want. If they contributed their components to the design system, that would be a problem. For most product teams, it’s better to spend time on their core role instead of design system contribution. You actually don’t want them to contribute, because it actually creates more work for everyone.
A better way is to let teams do what’s easy, natural, familiar, and fun for them for as long as possible.