Yeah. So also kind of in the organizational aspect, I mean, you were talking about lint rules and how to enforce that people use these design systems. Someone was asking, what are the deprecation roadmaps? So how do you actually deal with that when you want to phase the old one out and phase the new one in? Do you actually have anything that is guidelines on that? Yeah, that's a good question. I've made mistakes here. I first started with an error and then got a lot of people upset at me because I introduced thousands of new errors to our code base. So don't do that. Definitely should start with a warning. And if you have the time, you should spend the effort to migrate as much of the code base as you can yourself. Now that's not always going to be possible, but that's obviously the best situation. I think exact timelines are going to depend on the velocity your team works at, how much time you have for better engineering goals, stuff like that. But yeah, I can see how that can be the case.
So when you have the migration strategy, so this top one there, that is mostly about the lint rules or do you have also other pieces of the migration? It's not that simple because a lot of times the new design components will look different than the old design components, right? That's kind of what makes it hard. In theory, you could just go and code mod everything and have all of it migrated from day one. But when functionality differs between what the old overloaded component supports and what your new one supports, you kind of need a human in the loop there to go and say, okay, we need to make this change in our design, which often, depending on the feature, requires some approvals, depending on the organization. So yeah, it depends is the answer.
Yeah, I think when you're working with a big team, then you have a lot of different things that are a lot of different approaches and a lot of different ways to deal with that. For the testing approach, this one is mostly talking about accessibility, but yeah, maybe also the overall testing approach. Yeah, yeah, huge into testing, especially for design systems components. We do use Wave. We will have a lot of e2e tests, more or less, screenshot tests, all of those sorts of things to try to enforce that. We were also lucky enough for a couple years to have a dedicated accessibility QA person who's really great. He was working with us every component we shipped to make sure that it matched his really high bar, and he's who taught me a lot about the W3C stuff, but yeah, I know not what this talk is about, but accessibility is hugely important, especially for design systems. Great. I think that's all we have time for today, but yeah, thanks so much to Noah. Give a hand together for Noah. Thank you.
Comments