The Polaris design system was originally launched in 2017 focused on the Admin — the core Shopify product where merchants run their business.
When I joined the Polaris team in late 2019, Shopify had scaled well beyond the Admin to include Retail point of sale hardware, warehouse inventory management and robots, local delivery apps, and more.
As a result, we set out to understand the design system challenges happening across the organization.
Design systems advocacy and expertise weren’t present.
Systems across the organization were siloed.
Through our research we began to better understand a few key challenges.
The pressure from business leaders to get a system up and running meant teams who were not experienced in making a system didn’t know where or how to start. They might reference Polaris documentation or read material outside of Shopify, scrape together the topics or elements they assumed made up a system, and begin making generic decisions. Products were quickly diverging in multiple unintentional ways.
“Localized systems” did not have intentional differences, and weren’t able to clearly define this because of lack of awareness of each other. They also weren’t able to leverage solutions that work in other areas at Shopify, to reduce the need to reinvent the wheel. They also weren’t able to get inspiration from others’ insights, or create unified, end-to-end experiences that prevent users from having to re-learn the same patterns over and over.
From these learnings we set out with an initial set of goals:
- How could we better enable teams to discover and understand systems?
- How could we connect and align users and owners across multiple systems?
- and could we help uplevel the overall product quality shaped by the systems?
Exploring a new systems framework
We started addressing these goals by designing a model to understand the shared elements and insights across systems. By creating these “Experience” foundations, teams could better understand the specific factors they were solving for.
From there we continued partnering with localized system teams to author and contribute their experiences — documenting their context, key insights, ux decisions, and other helpful resources.
At this phase in the project, it was early 2020 and the global pandemic had begun. Our team paused this work for four months to embed directly on product teams and focus on supporting merchants during this incredibly stressful time.
Our team helped ship a local delivery app, checkout improvements, and COVID Shield — which became the groundwork for the Government of Canada's COVID Alert app. This experience working directly on product teams also helped us further refine our thinking.
Prototyping a system of systems
Picking up our project we now had a more clear understanding of evolving Polaris to support a system of system framework. We continued refining the experiences concept and published an internal site.
Building awareness, discovery & contribution
Once the experience framework and prototype site was in place, we continued with a series of strategic projects focused on discovery and contribution of existing local systems.
After introducing the system of systems framework across Shopify, our team focused on building out and maintaining the foundational layers of the Admin system.
A new systems framework for Shopify
Defined and shipped a system of systems pilot for all design systems at Shopify.
- We provided templates, documentation, and guidance enabling teams to share their experience’s unique context: UX insights, factors, components, patterns, principles, resources and more.
- 10 experiences published, 103 components documented.
Users could quickly discover, explore, and compare across multiple system layers and insights. From components, to users, tasks, environments, and more.
- We reduced the average time to find a component across teams from 20 mins to 2.
Collaboration & alignment
We saw a noticeable uptick in cross-team awareness, collaboration, trust, and shared vocabulary around systems.
- Sparked conversations and better alignment across several systems who noticed shared or diverging patterns around similar problem spaces.
- Created and facilitated a design systems guild (70 members).
- Teams had a shared purpose to improve overall UX quality across the company.