Do I need a design system?
Design systems are hot right now. Every big company has one and each new release or update is flaunted in style. You’d be justified to think you need one too. But do you?
Before we move on any further, here is a definition of what a design system is that I like:
Almost always, a design system offers a library of visual style and components documented and released as reusable code for developers and/or tool(s) for designers. A system may also offer guidance on accessibility, page layout, and editorial and less often branding, data viz, UX patterns, and other tools.
— Nathan Curtis, Defining Design Systems
Let’s consider some things before you decide whether a design system is for you.
What benefits do I get from having a design system?
At the most basic level, and if you do things properly, a design system will provide a distillation of the best design processes, patterns and components that you and your team(s) have designed and that you want to maintain consistent across your product.
If you’ve spent countless amounts of hours perfecting your typography scale, your vertical spacing, your colour palette, why would you want to see those decisions lost like Chinese whispers as they move across the organisation?
Have you ever longed for time to work on accessibility, performance, animation, illustration, video, better copy, clearer user flows, better information scent, to try new techniques, switch all your icons to SVG, do more testing, I can go on. Having a well-organised, well-considered design system might just give you that extra time.
Here’s another story: when I was on parental leave for 13 months, a big part of the reason why my team kept releasing often was because we had a solid pattern library (not yet a fully-fledged design system) to work with. The library was almost like an extra member of the team. How’s that for a benefit?
A good design system should also save your team from spending countless hours creating detailed design specs, which include all the possible measurements developers might need to build a new screen, page or entire flow.
I would risk saying if your company is developing one or more products, you need a design system to be able to scale your team’s output, to enable designers and developers to prototype more quickly and test on a regular basis. And above all, to allow design knowledge to be shared across the organisation.
Design system or pattern library?
If you have a small marketing site, you probably don’t need a full blown design system. Instead, you may want to consider creating a simple pattern library or style guide. These can be useful for future reference for when you make updates to the site. A style guide or pattern library would include common elements used on the site, such as typographic scale, colour palette, buttons, and so on.
If time allows, or the team is distributed across locations and time zones, consider documenting UX patterns, design principles and other guidelines that you want everyone who is working on your product to know about.
But my team isn’t big enough
Short answer: it doesn’t matter.
MyJoyent is starting small, but we know the designs we are developing now will have an impact on future products, so it makes sense for us to focus resources on a design system.
The number of team members doesn’t necessarily matter; documenting your work is good even if just for future-you. Remember also that circumstances change, and people might have to leave and join the team, no matter how small. A consistent way to pass along design knowledge will not be solved only by having a design system, but it will help greatly.
Think about this: do you want all the design knowledge and learnings to live inside one or two designers’ heads? Or do you want them to be accessible to anyone who might need to work on your product?
My product isn’t done yet
In this case, you might want to leave it little longer to delve into creating a design system. But I’m happy to hear arguments otherwise. A pattern library probably won’t hurt though, as it will allow you to move faster, and it can be part of the initial efforts that your team puts into developing a design system in the future.
But what about Bootstrap?
The name says it all. Bootstrap is an amazing tool to get you started, to build prototypes and proofs of concept quickly. But if you want to have anything that resembles a strong, well-defined brand, a framework that has been designed to fit everyone’s needs won’t be suitable. You’ll end up with a product that looks like, or very similar, to many others, without a strong character and personality. Sure, you can tweak things a little. Change some colours, alter some fonts. But there are two issues with that approach:
- If you tweak too little, you’ll still end up with a product that is kind of Bootstrappy
- If you tweak too much, you’re writing so many overrides to your styles that you might as well start from scratch
Also, if you ever want to hire good designers, the fact that you prefer a pre-designed framework over making your own won’t look good. Which leads me nicely to…
Design systems are an excellent recruitment tool
Here’s what goes on inside a designer’s mind when we see a beautifully crafted design system: job envy.
It tells us that the company values design enough to give it the space and resources to develop something beautiful and useful. And that it values the community and sharing enough that it’s opened it for the world to see.
If, like me, you’ve ever tried to hire a good designer, you know that’s priceless.
Next, I will tell you about design systems teams and ownership. Stay tuned!