Componentize Me
Though the Extend UX team generally works within the Workday Canvas design system, sometimes we don’t. Since we’re outside the normal Workday structure, we get to make our own components to suit our unique use cases and distinct audience. As a designer, this gives me a lot of freedom, but has led to some problems over time. I’m working with a designer from my team and two engineering leads to tackle component standardization.
What’s the Problem?
Even though we all like each other as people, there’s a lot of frustration that can arise during the build process. Sometimes, design and engineering aren’t talking about the same component, even if we’re using the same words. Sometimes the component we’re talking about doesn’t behave the way designers or engineers expected. There’s a lot of tech debt with our older components as well. Plus, there was no set plan for how to create new components and update existing components. While this didn’t all go down every project, it was all there, lurking.
How are you tackling it?
It looks dense and scary because it is dense and scary.
The crucial first step was to have a shared lay of the land for both teams. Because I love a spreadsheet, I worked with the project team on a sheet that captured both Figma components and engineering components. Some questions we asked ourselves were:
Is the styling for this component up-to-date?
Are the interactions built out? Do we know all the states?
Is this the right component for all of its contexts of use?
What engineering updates are needed?
Does the team have a shared vision for the future of this component?
Everyone working on this project has so many thoughts about our components and all the things we could do to improve them, so visualizing those thoughts was both enjoyable and cathartic.
We’re working together to figure out how to prioritize working on each component. The engineering leads have taken charge of making an epic and creating stories for their teams. On the design side, my colleague and I are working to answer the different questions about how each component is used, what it does, and what its future should be.
How’s it going?
Pretty well! This is a huge project. If we were to work on 3 components per sprint, it would take us about 20 sprints, or 60 weeks to get through everything we have on our plate. I’m very intimidated by the volume of work, but the support and enthusiasm from the team have been worth it.
What have you learned?
Hella respect for our design system team. Standardizing within just one product is hard enough.
Team involvement will buoy you. Even our more backend-oriented engineers have been excited about this project.
Gotta keep the ball rolling.
This work wouldn’t be possible without Amy Wang, Drew Schulz, and Akshay Vangari.