There is a lot of talk about design systems at the moment, and with good reason. They are gaining real momentum and many organisations are putting in the effort to develop and use them.
A design system is a collection of components used to build a digital product. What differentiates it from a pattern library is that the reusable assets are also accompanied by clear standards which guide their usage and application. The idea being that the system makes design and development workflow easier and more accessible to all stakeholders.
What are design systems and why should I use them?
Jeremy: The term ‘design system’ is not a new concept, but the terminology has evolved over the years. For example, on the web we’ve been using the term ‘pattern libraries’ since the early 2000s and in software design even longer. The basic idea is that you encounter the same type of problems over and over again in web development. For example, where does one put the search functionality into your website? A design system provides a solution to that problem, typically by giving everyone who has access to the project a way to solve the issue. So the proposed solution in this case might be a user interface component with a form field, label and a magnifying glass icon. In the early stages of a project, a visual designer might use this search component in a mockup and then in the later stages the developer would have access to the same component, but this time it’s actually working and returning results.
There are lots of good reasons to use design systems. They can help speed up the design and development process by solving common problems and, more importantly, allow teams to drill down on unique issues that benefit the end user.
What are the common misconceptions around design systems?
J: A major misconception is that once you have defined the system, it should never change. At first glance it’s easy to see why some organisations fall into this trap. Once you create a design system it’s tempting to see it as ‘the source of truth’, enforce its use everywhere and be protective of changes. However, a design system absolutely needs to evolve based on user feedback and other requirements. A dogmatic design system that forces users to use bad patterns can be much worse than having no system at all.
How can I implement a design system in my team?
J: It’s hard to recommend how to implement a design system without knowing the context of the project or the size of the team. In addition, there are a number of systems out there and choosing one has a lot to do with the culture of the organisation. Despite this vagueness, I can recommend one implementation technique. No matter what the variables are, having a solid strategy for governing the design system is essential. By ‘governing’ I mean having at least one person on the team who is able to maintain the design system at all times and is able to answer important questions such as ‘How are new additions to the system handled?’ or ‘How does the whole team find out about changes?’ or ‘Who is responsible for updating the documentation?’. In other words, an organisation has to completely commit to the system’s value or else it runs the risk of never being used, which is the worst fate of any design system.
If you’re interested in learning more about structuring and building design systems, check out the amazing Gymnasium short course Working with Atomic Design and Pattern Lab. And, of course, if you are looking for hiring advice get in touch today and one of our agents will be happy to help.