1. You need someone to sell it.
Selling your design system to peers, product, development, executives, and just about anyone else that will be expected to use it or has the ability to derail it should be sold on it. You need someone on your team with business acumen, technical skills, good communication, and overall just the ability to unite an organization into such an important effort. Enrolling people into your effort is one of the best ways to get much needed backing into a design system effort.
2. UX can’t and shouldn’t do it alone.
A design system is a company-wide journey. Engineering will be direct partners in this initiative, but there’s other roles you should consider including. Go back to my first point on selling a design system. If you include others, then they will be invested and want to make it a success. There are plenty of ways different departments can make positive contributions such as marketing. Including the right people will make your design system stronger.
3. You need more friends than you do enemies.
I never wanted any enemies in our design system effort. In my perfect world everyone would love saving millions of dollars, get products to market quicker, have a cohesive set of products, and much more, but that’s my perfect world. There are many people that will fight that goal every chance they get, and that’s why you need friends in high places.
Not everyone is going to agree that they should use your design system. You should advocate why they should use it and all of the benefits that come with it. Point them to other company products that are already using it (if you can), and ideally point out any successes. Your sales person from my first point should be the point person for helping smooth this over. If you absolutely can’t sell them on it, then you need to bring in your friends.
Your friends are people you have been networking with internally. These are influencers and leaders. An example might be a staff engineer that everyone trusts and looks to for advice, or it could also be people in high places such as your CTO, head of product, and other power positions. When you have people that absolutely won’t use your design system, then it’s time to bring in some power to help out.
4. You won’t be successful telling everyone yes, and you won’t be successful telling everyone no.
If you are saying yes to everyone’s ideas and putting them in your design system, then you are surely trashing your design system. Imagine saying yes to every suggestion a customer had for your product. You would wind up with something you’re not able to sell anymore. That’s why having a good process for how things get into your design system will help you out.
Having a good process will help keep your design system functioning well, but it still won’t solve people being upset their ideas didn’t make it. You have to be comfortable with saying no, but also give sound reasoning as to why to help others understand. If it’s a great idea, it fits with the design system and it tested well, then make sure to include it and give credit to the person who helped out.
5. There are going to be many days that you will spend in hell, and very few that you will spend basking in glory.
A big theme in a design system is people. People will either help make it a success, or people might do everything then can to make sure it fails. The balance of dealing with people every day can be extremely difficult. You might be battling designers who are upset because their ideas didn’t make it into the design system, an engineer who refuses to use any of it, or leaders who flaunt pulling all of your funding each day. This mix of dealing with people can significantly drain your design system team.
A good suggestion is to have someone, or several people, on the team who have no problem dealing with people. This goes back to the first point. It may be your sales person, or it may just be someone else who doesn’t mind dealing with these small battles every day. This will shield others who easily get frustrated when they run into difficult situations that involve dealing with people.
Every once in a while, you might get a shout out, but expect the day-to-day routine to be rigorous and challenging. It can still be fun, and your environment may vary, but make sure you have a solid team that can handle the challenges.
6. People using the design system are your users, so make sure to act like they are.
If it is difficult to use your design system, then people won’t use it. If I link up to a symbol library and I can’t navigate my way to the components I need, then I won’t use it. If I read through the guidelines and can’t find out how to design a form correctly, then I’ll just design my own. If I go to implement the designs and the code is horrible, then I’ll just write my own as I see fit.
Anyone using your design system are your users. This means just like users of your products you need to test them. You should run different tests such as having a designer link up to your library and then create a form. If they can’t link up to the library or find any of the components they need, then you have a problem. A design system is a product and if you treat it as such, then you will do incremental improvements that quickly add value and keep everyone happy.
7. You won’t always have everyone’s approval and that’s okay.
Have you ever had 100% of your customers agree with your company’s decisions? Have you even asked 100% of your customers about that decision before you made it? We all have to be comfortable with the fact that not everyone will get a say into design system decisions. The most you can hope for is that 51% of people agree with a decision that you have made.
This doesn’t mean you just cut everyone out, but it does mean you need to treat your design system like an actual product and make good informed decisions that don’t involve everyone. If I put out a survey to the design teams and asked whether our button size should be 36px tall or 40px tall there is a small chance 100% would go for either option. I’m pretty positive I would get several emails from those who want both sizes, or sizes that aren’t even listed.
It’s okay to not have everyone’s approval, but just make sure you are going through a good process to make the right decisions. You still want to build confidence in the decisions that are being made so make sure you provide the data and reasoning for why a decision was made.
8. Be careful coming up with a scoring system.
A scoring system is a way to rate how well designs are conforming to the design system. Most of the time this is just trying to fix a symptom of a real problem. If designs are drastically varying from using your design system it means either your design system isn’t handling all of the cases it needs to, or it could mean designers don’t want to use your design system. Either way a scoring system is not going to help you solve this and that’s why I would strongly encourage you to solve the root problem and not just grade your own teams.
9. You have freeform design and you have design systems. Anything in the middle is chaos.
You have can uniquely different products or you can have a suite of products that all look like they’re part of the same family. If you have a design system, but you want to keep straying away to do your own thing, then the design system starts to lose value quickly. If you want to design uniquely different products, then trying to apply a design system will pull you away from that. Anytime you start to veer into the middle of these two different types of design you will begin to lose value.
If you intentionally want products to look visually different, and you don’t want to build out multiple design systems, then I would create a configuration file. This file could have everything in your design system quickly adapt things such as fonts, colors, corner radius, etc. This is a similar approach to what Material has done where you can leverage the same guidelines, but also create a different look from the same set of components.
10. Your next design system doesn’t get much easier.
This takes us back to the fifth point where we talked about dealing with people. The biggest challenge that you will navigate in a design system is people. If you are at the stage where you are creating a new design system at the same company, or if you have moved companies and are starting your next journey, then people will continue to be your biggest challenge. Unfortunately, this means that your next design system most likely won’t be any easier than your first.