We have a couple of actions as well, and I see Chromatic is there, so those people should be happy at their stand. Same company. So we use that as well.
Our component library, we built that thing from scratch because it makes sense to us in order to deliver our highly specific features. Now, if you build a component library from scratch, that takes a lot of time and effort we made a decision to not go with a dedicated team, because the simple reason, or the assumption actually is that that would introduce a large bottleneck for our entire organization. And that's something that we want to prevent. We want to be able to have our teams move as fast as possible because we want to get features out the door so that customers can order more groceries online. So no dedicated team. And what we did do, and I'll explain this in a bit, we took a distributed approach. And for us, that meant that everybody who uses the Component Library is able to contribute to the Component Library. So let's explain these benefits that we see, or that we saw at least. And the first is, and I think this is the most important one, and is still valid to this very day, that everybody who contributes to a library has some sort of a sense of investment or some nurturing, what you would call it. Something that you want to take care of this, right? Because you own it, you build it, you maintain it, so it's yours, and you feel some sort of investment, which I think is the most important thing.
The other thing as a benefit is that it happens sometimes that people leave your company. And what you don't want is that they take all their knowledge, their highly specific knowledge of the Component Library with them. So with distributed contributions, you also have distributed knowledge. That's our assumption. And the next thing is that if you have all of these front-end developers contributing, then you have a massive team who is helping you in delivering features. So this is also a good thing. And lastly, the last benefit that we saw is that every increment or everything that you add to the Component Library is immediately usable by all of those other teams. This makes product owners very happy, and we want to keep them happy to have sensible sprints. Let's see what's next.
Yeah, this is also very important. So if you have all of these contributors on your codebase, you need to set some rules. We basically said that if you want people to play your game, you need to have a clear set of rules so that everybody is actually playing the same game, and that it's clear what can be done and what cannot be done. And we started out with a couple of simple ones. It's very straightforward, I guess. You need to communicate upfront what you're going to be changing on the Component Library, make sure that it is reusable as a component and not highly specific to your team's needs, and keep it as simple as possible. And this worked very well for us. So we are very happy, we're working, we're working, we're growing in teams and complexity, and then stuff happens.
Comments