Creation is a combination of art and effort. Yes, even software designers have an artistic drive and skillset. It is obvious in the innovative, unique, and even inspired way they solve business problems with computer language canvases and programmatic brush strokes. But the reality is that there are simple, mundane, and repeatable aspects to development and engineering that will slow down the process and potentially stifle creativity. Even unintentionally, designers might stray from the script and make things more difficult than necessary (which seems very artistic, but inefficient) by using different component variants across a page or creating other engineering frustrations or impossibilities.
Applying a design system can mitigate problems to ensure efficient and creative solutions are designed and built to scale without the loss of resources.
What is a design system?
As Will Fanguy describes it, a design system is “a collection of reusable components, guided by clear standards, that can be assembled to build any number of applications.” To take it further Toptal expands to say, “Just like an architect’s blueprint for a building, a design system also serves as the ‘single source of truth’ for the product team while building products, as well as helping to maintain consistency.”
A design system will include your most used UI and coded components, best practice documentation, a common language, and design tokens. The system will establish shared responsibility between the design and engineering teams and open a forum for communication. Collaboration from beginning to end is key when developing and utilizing a design system in building solutions.
What are the parts of a design system?
In its simplest form, a design system is built on:
- Design Language
- Design Kit
- Component Library
- Developer Sandbox
These key elements ensure accuracy, build-ability, and deliverability while providing a platform for collaboration and communication.
What are the benefits of a design system?
Quality and Consistency
A design system provides standardization and consistency to avoid engineering frustrations, including extra work, coding and maintenance challenges. Mirroring constraints, as defined in a design library, helps mitigate problems by enforcing componentized elements in the design system for better UI and UX. This approach alleviates strain on design and engineering teams so they can focus on the problem they are solving.
The design system creates better cross-disciplinary collaboration, giving designers and engineers the opportunity to work together to define common standards. A design library allows designers to better communicate design criteria to engineers by standardizing key design criteria in a consistent and organized way, even across projects.
Time and resources are valuable. Designers are at a premium and their time must be spent creatively solving problems related to a particular project, not muddling through minute details of standardized aspects. In the same sense, quality in UI and UX are essential. You don’t want engineers to spend their time stymied by coding challenges in inconsistent design.
A well-defined, agreed-upon and communicated standard for design as defined by a design system builds-in standardized quality and efficiency is essential. Development time is reduced by simplifying and providing easily accessible components used repeatedly and across projects. Reducing the amount of repeatable manual tasks speeds up time to market and frees up time to address issues that are unique to the specific project.
The cost of design and engineering can be measured in time and money. More specifically, time is money. But what is the cost or value of time?
Let’s say that we have 25 engineers all on full time projects, and they each save an average of one hour per week with a design system – whether that’s in revisions, bug fixes, original setup, or back and forth with a designer. At $150 per hour, that’s $150 x 25 x 48 (weeks) = $180,000 in hours saved across projects, per year. And a design system could save more than an hour a week. Efficiencies and standards in design will ultimately save time…and time is money.
Standardizing and implementing a design system will mitigate most issues in your project, from design to engineering and UI. If you leave with any takeaways, take these.
A developed design system will provide value by:
- Utilizing known solutions, reducing time spent on repeatable actions and patterns
- Building better collaboration and communication in cross-team efforts
- Decreasing engineering time with repeatable elements and relationships across projects
- Increasing overall quality of work with consistency and efficiency
- Reducing the cost of design iterations with efficiencies and common reference points