Design system dla 8 zespołów, z którego nikt nie korzysta
Rok temu powstał design system z 40 komponentami. Używają go 2 z 8 zespołów. Reszta kopiuje komponenty do siebie i zmienia je, bo „DS nie ma tego, czego potrzebujemy” i „na zmiany czeka się miesiąc”. Dostajesz zespół DS i masz poprawić adopcję.
Zanim rozwiniesz: powiedz na głos, jak byś to rozwiązał, i nazwij co najmniej jeden kompromis.
Moje rozwiązanie
Zapisuje się samo w tej przeglądarce. Kopię zrobisz na stronie Notatki.
Pokaż, czego szuka rekruter, i modelową odpowiedź
Co sprawdza rekruter
- Czy traktujesz DS jak produkt z użytkownikami
- Czy szukasz przyczyn braku adopcji u odbiorców
- Czy proponujesz model współtworzenia zamiast wąskiego gardła
- Czy mierzysz adopcję
Odpowiedź seniora
Design system to produkt, a zespoły to jego klienci. Zaczynam od rozmów z każdym zespołem i od danych: skanuję repozytoria (np. react-scanner), żeby zobaczyć, które komponenty są używane, które skopiowane i czego brakuje. Zwykle problemy to brak elastyczności w kilku kluczowych komponentach, wolny proces zmian i słaba dokumentacja.
Zmieniam model na współtworzenie: jasne zasady kontrybucji, szablon RFC dla nowych komponentów, review w ciągu 48 godzin, a zespoły mogą dodawać komponenty do warstwy eksperymentalnej i promować je do stabilnej. Kluczowe komponenty dostają furtki (asChild, slots, className), żeby nie trzeba było ich kopiować.
Dbam o doświadczenie odbiorcy: Storybook z przykładami z prawdziwych ekranów, codemody przy zmianach, częste wydania z changelogiem, kanał wsparcia. Mierzę procent ekranów i komponentów korzystających z DS, liczbę lokalnych kopii i czas od zgłoszenia do wydania.
Typowe wpadki
- Nakaz używania DS bez poprawy jego jakości
- Zespół DS jako jedyna osoba decydująca o wszystkim
- Mierzenie sukcesu liczbą komponentów w bibliotece
Dopytają o
- Jak zdecydujesz, co trafia do DS, a co zostaje w zespole?
- Jak przekonasz zespół, który ma własną kopię Buttona?
- Kto finansuje pracę nad DS?