We make a lot of decisions around the process of product development as we bring a startup to life and maturity. This article focuses on one such decision and provides my most basic decision framework to wrestle with how to approach it.
I only learned about Design Systems in the last several years. No software company I have worked at used them. So what is a Design System?
According to the nn/Group:
A design system is a set of standards to manage design at scale by reducing redundancy while creating a shared language and visual consistency across different pages and channels.
At Fairwords and many small startups, Design is part of the “Product” function because it is a core part of identifying opportunities and bringing solutions to life. So as I ramped up Design practices within our company our lead Product Designer pushed for implementing a proper design system.
“It is best practice for modern tech companies,” he said, “and it will be a good investment in our future.”
Should we implement a Design System?
I like best practices. Why reinvent a process or solution to a problem that thousands of industry experts have already decided is the answer?
Well, in this case, I decided that we would not specifically set out to build a Design System. As a startup — that is still searching for product/market-fit and a sustainable business model — we do not have everything figured out yet. If we did, I would stop calling us a startup.
Design Systems are about managing design at scale. This means keeping design consistent and efficient across multiple product teams.
Just like you should not attempt to scale your sales function until you figure out product/market-fit, you should not need to scale your design team early either. If your design team is currently only 1-3 people, then this investment you are making to scale the function is primarily for future benefits.
Whenever you are weighing an investment today for future benefit, we must ask ourselves these basic questions:
Is this the most important thing we can be investing in right now?
Is a Design System going to help you find product/market-fit faster?
Is a Design System going to help reduce viability, feasibility, or usability risk?
For us the answer is no to all of the above. Investing in a Design System, assumes you are at a point where you are scaling teams to execute faster and more consistently. It assumes you are growing product assets significantly and want to minimize the future cost of change through better design components.
No startup ever failed because it did not have a design system in place.
How to design without a Design System?
I keep referring to investing in a Design System. Investing is the key term to me. The wrong decision here, for most, is to make a significant upfront investment in a system. Decide on the right tools and build out a library of components that will fit every conceivable use case.
The better, more agile approach, is to build components as you need them. Yes, at times you will need to go back and adjust existing components but that is OK.
Working in this manner, you can still create a consistent and, dare I say, great user experience. Your advantage here is having a small team that works closely together. Tight feedback loops and cross functional collaboration are what drives better design.
You do not know your users today like you will know them tomorrow. Imagine that today you have a hundred users (or none) and you hope to have tens of thousands in a few years. What are the odds that the users you have now will match those you wish to attract and retain in the future?
Similarly, today you have 1-2 designers working with 1-3 product teams. What are the odds that the decisions you make today to make them scalable and usable will be the best decisions for 10 designers working with 100 engineers?
Waste. Waste. Waste.
All of these decisions needed to be made up-front to build out a Design System will amount to waste. Don’t do it. I don’t care what Brad Frost says.
Startups need to focus on today’s riskiest problems first. This is an existential necessity. Problems scaling design is a nice problem to have because that means you have grown.
When that becomes the most limiting factor in your business, congratulations, you are no longer a startup.