Why design systems may not always be suited to startups
Startup life requires speed, agility and flexibility
Photo by Omar Flores on Unsplash
It’s exciting to work for a newly formed startup. Startups are typically process-free, legacy-free and offer the luxury of working with the latest and most innovative technology, software and codebase. The “get shit done” mentality fuels employees with passion and drive that is often lacking in larger companies.
Depending on the seniority of your role within a startup business, you may find yourself with the autonomy for identifying and introducing new tooling, software and process.
Employed as a senior designer within a startup, I was given the responsibility to quickly grow my own design team and introduce new tools, software and ways of working.
I researched the latest design tools available and studied how other inspiring companies such as Netflix, Invision, Airbnb and more, approached their design work and collaboration with their co-designers and developers. I wanted to build an exciting and appealing design process that was as equal to the admired and acclaimed companies currently taking our industry by storm.
Introducing design systems
I’m a huge admirer of design systems and I’ll forever support them as an essential element that offers numerous benefits from team efficiencies to improving customer experience.
They increase design efficiency as components can be dropped into place without exerting the effort to produce new components from scratch. They offer the ability to scale quickly as designers can create larger and more complex interfaces from a trusted pool of elements. They also introduce consistency throughout the product as components are reused which reduces the risk of creating duplicate and dissimilar versions of the same component.
It’s due to these advantages that I chose to build and introduce a design system for our team at RightIndem. Our design system was built using Sketch. We utilised Sketch Libraries to ensure components were available across all independent Sketch files and we used nested symbols to enable us to quickly change the visual appearance of components using Sketch’s symbol properties pane.
Our process was slick, modern, efficient, and exciting to work with and our team did a fantastic job working with and contributing to the continued growth of our design system.
But the key question is — would I do this again?
If I found myself in a position of being employed within a newly formed startup business with similar responsibilities, would I look to create a design system from scratch that introduces long term gains such as increased efficiency, scalability and consistency? The answer is… probably not.
And here’s why…
Drawbacks of Design Systems
As efficient as our design system was, we didn’t experience the fruits of our labour for approximately 9 months after the initial conception of our design system. Design systems require resource overhead to get them off the ground and at a startup business, resource is typically a fine commodity.
As we could only allocate a small percentage of our resource towards the initial creation and testing of our design system, the overall production time to create our system was close to 10 months.
Once our design system was mature, we did experience a variety of gains, however, as our product often deviated (which is often required in the early months of a startup) our design system felt heavy and unnecessary for quick concept and idea generation that was subsequently required.
It narrowed our thinking and almost hindered our creativity when solving our next problem.
There were other disadvantages that we began to experience from our design system.
For each product pivot we found ourselves using the same suite of design components. Although this naturally increased our prototype production speed, our exploration of other ways to solve the problem was reduced.
The “design thinking” element was almost removed entirely as the convenience to use a trusted and reliable set of components was too easy.
Similarly to above, convenience out-weighed effort. Due to the time and effort we exerted in building our design system, there was almost an obligation to only use the components within it. This soon became at the cost of creative thinking.
For example, when building information capture interfaces, our instinct was to utilise our form components (a label and a user input field). However, this instinct prevented us from thinking about the user problem at hand and question “is a form the correct interface to use in the first place?”.
Our design system prevented us from considering alternative approaches and instead, promoted the ability to immediately select a form component from our design system.
Maintenance effort is always required
There’s maintenance effort which is always required of a design system. Systems are never truly complete and as new devices, resolutions, and new interaction methods become mainstream; our design systems are required to be updated. If we fall behind with our updates, interfaces that are produced from using our design system components are immediately out-of-date or are not built specifically for new devices or screen resolutions.
“Just in case” components are created
When producing a design system, it is easy to create either instances of components or entirely new components that we believe will be useful in the future. In reality, these are hypothetical components do not get used but they do add weight to the design system.
A great example of this is the various sizes and instances of a button component. It is without doubt that a design system will require a button component, and more than likely, it will include both a primary and secondary button. However, we often go further still. Tertiary buttons, destructive buttons and alternative sizes of each type (XS, SM, L) are also produced. In reality, only 1–2 of these variations are used which causes unnecessary bloat, weight, production and maintenance cost.
It’s about balance
Being nimble is essential for working in startups as product pivots and deviation is common, however, you also need to have enough of a process in place to save rework and assist reuse and design consistency.
Depending upon circumstances, design systems have the ability to empower or impede. They allow for rapid concept generation to take place while introducing design consistency, however, this can often be at the expense of thought, exploration and creativity as the effort to drop an existing component in place is easier than considering new ways to solve user problems.
If you’re new to a startup and have the responsibility for creating new design process, I would advise against jumping straight into the creation of a fully-fledged design system.
Organic design systems
My advice would be to let design systems form organically. If you find yourself reusing the same design component, then turn this into a symbol so you are deliberately making the decision to reuse this component again in the future.
Avoid creating components that you think you’ll need “just in case” as more than likely, you won’t need them. There are always core elements that can be used within a system, such as a button, a single input field and one or two typography styles, however, don’t be tempted to create unnecessary size or state variations of these components.
Stick to the very core UI elements to ensure your design system remains light and easy to maintain and update in the future.
Don’t be afraid to speak to your business or product owners and ask where they see the product in 6–12 months’ time. Do they anticipate product pivots? Do they anticipate the emergence of new product challenges?
This response will give you greater awareness, understanding and confidence that will empower you to make the appropriate decision as to whether a design system is needed within your startup.