1. SPIDER'S WEB
  2. Technologie

Pięć minut to dla nich wieczność. Jak Silky Coders dbają o rozwój IT i sprawne działanie sklepów LPP

Przez cały rok intensywnie pracują, by w szczycie boomu zakupowego w okresie przedświątecznym internauci mogli bez przeszkód złożyć zamówienia. W czasie pandemii ciężko pracowali, by przywrócić sprzedaż LPP. Pracownicy polskiego software house’u Silky Coders mają zawsze ręce pełne roboty. I jednocześnie głowy pełne pomysłów na to, jak sprawić, by właściciel Reserved, Sinsay, House, Mohito czy Cropp jeszcze płynniej działał w nowych czasach, w których zakupy ubrań przez internet stają się równie naturalne, co wizyta w przymierzalni.

Pięć minut to wieczność. Jak Silky Coders dbają o sklepy LPP

Nie było czasu na wdrażanie nowych pomysłów. Przez pierwsze dwa miesiące walczyliśmy o utrzymanie serwisów przy życiu – tak wspominają początek pandemii pracownicy Silky Coders. Gdy tylko klienci LPP, właściciela marek Reserved, House, Cropp, Sinsay i Mohito, zorientowali się, że przez dłuższy czas nie wejdą do żadnego z prawie 1700 salonów stacjonarnych, rozpoczął się szturm na witryny sklepów internetowych.

Przed atakiem koronawirusa sprzedaż przez internet odpowiadała za 8 proc. obrotu Grupy LPP. Wówczas deweloperzy, zespół data science i analitycy systemowi stanowiący dzisiaj trzon Silky Coders byli pracownikami Grupy i jako dział IT realizowali zadania projektowo-biznesowe, wdrażali nowe funkcjonalności i zmiany architektoniczne.

Po przetrwaniu pierwszego boomu konsumenckiego na zakupy internetowe, osoby odpowiedzialne za zaplecze technologiczne LPP – polskiego lidera odzieżowego w Europie Środkowo-Wschodniej – uświadomiły sobie, że czeka je największa zawodowa próba. E-commerce, który do tej pory był odpowiedzialny za niewielki procent przychodów LPP, nagle stał się jego być albo nie być. Każde pięć minut niedostępności serwisów generowałoby potężne straty sprzedaży, na które Spółka nie mogła sobie w tym czasie pozwolić. Zespoły IT eCommerce mimo, że przyzwyczajone do dbania o zachowanie ciągłości serwisu teraz znalazły się pod nadzwyczajną presją. 

Plany, które mieliśmy do zrealizowania na przestrzeni kilku lat, trzeba było sfinalizować w ciągu kilku tygodni – mówi Spider's Web Piotr Tołłoczko, Enterprise Architect w Silky Coders. Pandemia, wywróciła do góry nogami dotychczasowe plany i priorytety. Musieliśmy się skupić i drastycznie przyspieszyć prace nad zadaniami o dużej wartości biznesowej.

Aktualny zespół Silky Coders – jeszcze wówczas pod szyldem LPP – pracował m.in. nad rozwiązaniem, które miało umożliwić sprzedaż i dostarczanie ubrań z różnych magazynów, gdy codzienną, toczącą się według określonych planów pracę, zakłóciło pojawienie się koronawirusa. Okazało się, że czasu na pracę nad kodami w dotychczas znanym trybie już nie będzie. Wszystko, co zakładał sobie dział IT, potrzebne było na wczoraj.

13 marca 2020 r. Ministerstwo Zdrowia wprowadza rozporządzenie, które nakazuje zamknięcie wszystkich salonów w galeriach handlowych poza sklepami spożywczymi, kioskami i drogeriami. Na branżę odzieżową pada blady strach. Prawie wszystkie sklepy stacjonarne Reserved, Cropp, House, Mohito czy Sinsay w Polsce i na kilkunastu rynkach zagranicznych zostają na kilka miesięcy unieruchomione. W środku pozostają niesprzedane ubrania. Klienci zmuszeni przez restrykcje do robienia zakupów w internecie, zaczynają kupować wszystko, co zostało jeszcze w magazynach.

LPP zdecydowało się na „rozmrożenie” sklepowego zaopatrzenia. Przyszli pracownicy Silky Coders błyskawicznie opracowali nowe rozwiązanie ochrzczone nazwą „Defrost”, które umożliwiło wpięcie do systemu sprzedaży internetowej także sklepów stacjonarnych. Działy handlowe odetchnęły z ulgą. Na początku pandemii nikt nie mógł przewidzieć, ile czasu rząd postanowi trzymać centra handlowe zamknięte na cztery spusty.

Na zmianach skorzystali także klienci. Sklepy stacjonarne nie mogły sprzedawać towarów, ale nikt nie zabronił im wydawania rzeczy kupionych przez sieć. Internauci zamawiający ubrania poza zasobami magazynów mieli więc do dyspozycji też towar, który pozostawał na półkach i wieszakach w salonach. Teraz sprzedawcy tuż po otrzymaniu zamówienia mogli po prostu spakować np. T-shirt i spodnie, a następnie przekazać je do wysyłki.

Pandemia spowodowała, że z 8 proc. udziału e-commerce w obrocie LPP w ciągu kilku miesięcy zrobiło się 50 proc. Online stał się głównym kanałem sprzedaży – wspomina Piotr Tołłoczko. – Sprzedaż – nowe słowo klucz. Ludzie czuli, że są kluczowym elementem tego procesu, dążyli do tego, by działał jak najlepiej. Kulturę pracy mieliśmy wypracowaną, więc każdy zespół miał świadomość dbania o swój produkt – uzupełnia Enterprise Architect w Silky Coders.

Po pierwszym wstrząsie spowodowanym międzynarodowym lockdownem zaczęły pojawiać się kolejne innowacje. Sklepy internetowe marek Cropp i Sinsay wylądowały w chmurze Google. W Sinsay ścieżka zakupowa została zoptymalizowana tak, by Klient poświęcał jak najmniej czasu na formalności. Zaimplementowano też nowe, gwałtownie zyskujące na popularności w trakcie pandemii, formy płatności i dostawy – do Żabki i Paczkomatów.

Tymczasem e-commerce puchł jak szalony. Przez pierwsze pół roku trwania pandemii sprzedaż internetowa w LPP rosła w gigantycznym tempie – o 300 proc. miesięcznie. Zapadła również decyzja o pełnym przejściu na technologię React, która pozwoliła na uniezależnienie od siebie widoku i elementów biznesowych aplikacji. W jaki sposób to działa? Załóżmy, że brakuje funkcjonalności albo chcemy, by pewne elementy zachowywały się inaczej. Możemy wtedy wymienić tę część, jednocześnie zostawiając nienaruszony kod HTML albo Javascript.

Technologia React dała nam niezależność. Wcześniej każdy brand miał swoją logikę i tę logikę trzeba było powielać dla każdej marki oddzielnie. A że każda z nich miała jeszcze swoją specyfikę, to cały proces działania drastycznie się wydłużał. Dzięki Reactowi zlikwidowaliśmy te powielenia. Mamy w zasadzie jeden produkt, obsługujący różne brandy. Zmienia się tylko ich wygląd – mówi Piotr Tołłoczko.

React to jeden z przykładów technologii wykorzystywanej przez Codersów. Na co dzień pracują zwinnie, działając w nowoczesnym stacku technologicznym.

Powstaje Silky Coders

W pewnym momencie dla działu IT zaczyna się robić w LPP zbyt ciasno. Odmienność kultury organizacyjnej, metodyki pracy, wyzwania rynku IT, a także pandemiczny dowód wartości powodują, że w kwietniu 2021 r. dotychczasowy dział zostaje wyodrębniony ze struktur. Powstaje software house Silky Coders. Nowy podmiot nadal ściśle współpracuje z właścicielem Reserved. Ba, Grupa LPP zostaje jego jedynym klientem. Na pierwszy rzut oka wydawać by się więc mogło, że do rewolucji dochodzi tylko na papierze. Nic bardziej mylnego.

Wyodrębnienie z LPP daje Silky Coders dużo większą swobodę działania. Nielubiane przez programistów deadline’y stają się do pewnego stopnia elastyczne.

Piotr Tołłoczko opowiada również o bliższej komunikacji z biznesem i utworzeniu zespołu, który przygotowuje nowe rozwiązania architektoniczne. Pojawiła się możliwość realizacji proof of concept. Mówi, że wcześniej nie było mowy o podejmowaniu ryzyk związanych z nowymi technologiami. Teraz ta przestrzeń się pojawiła.

W LPP skupialiśmy się na udoskonalaniu tego, co istniało. Produkt ewoluował w oparciu o mechanizmy, które mieliśmy już wypracowane. Teraz, jeżeli coś nam się sprawdza, jak np. integracja z chmurą, to w to idziemy i szukamy nowych rozwiązań – dodaje. 

Wydzielenie ze spółki odzieżowej doceniają również sami pracownicy IT, bo nowa firma to też inna kultura organizacyjna, precyzyjnie dostosowana do potrzeb osób zatrudnionych w branży nowych technologii. Oprócz nastawienia na otwartość, doskonalenie produktu czy poszukiwanie innowacji, członkowie zespołów dostali też indywidualny budżet rozwojowy, który można wydać na szkolenie wewnętrzne lub kupić książki czy pójść na branżowy event organizowany poza firmą.

Zawodowy rozwój jest dla Silky Coders istotny, ponieważ po wyodrębnieniu spółka zmieniła filozofię i zamiast kłaść nacisk na wdrażanie rozwiązań woli, by to pracownicy aktywnie je proponowali.

 – Nie ma magicznej rady architektów, która mówi, co trzeba robić – podkreśla Piotr Tołłoczko. – Dużą wartość wnoszą hackathony. To po jednym z nich narodził się na przykład projekt dedykowany pracy Biura Obsługi Klienta, który ułatwił filtrowanie zamówień i zmienianie ich statusów – dodaje.

Pomyłka? Nic nie szkodzi

Spółka popiera też kulturę akceptacji błędu. Zdarza się przecież, że pracownicy realizują zadania w zespołach, a po pewnym czasie stwierdzają, że opracowywane przez nich koncepcje nie działają i trzeba je zmienić.

W poszczególnych projektach decydujemy, czy lepiej np. rozpocząć wdrożenie w mniejszym zakresie. Zdarza się jednak, że ostatecznie czasem przekraczamy założony wstępnie termin wdrożenia, doskonaląc najpierw produkt. Ale idziemy dalej, pomyłki to część naszej pracy, dzięki której zdobywamy cenne doświadczenie – przyznaje Piotr Tołłoczko.

Czasami proces wdrażania zmian jest na tyle skomplikowany i czasochłonny, że w jego trakcie niezbędne są kolejne korekty wcześniej przyjętych założeń. Taka sytuacja miała miejsce np. w przypadku zmiany wersji jednego z używanych frameworków. Po wielu miesiącach pracy została podjęta decyzja o powrocie do poprzedniej, aby ograniczyć koszty dalszego utrzymania systemu. Wymagało to odważnej decyzji o wykonaniu kroku w tył, ale z perspektywy czasu była ona bardzo dobra dla biznesu.

Tolerancja wobec błędów mocno zawęża się za to na finalnym etapie. Tu Silky Coders są już wyjątkowo ostrożni. Stosują podejście tzw. wydań kanarkowych stopniowo zwiększając dostępność nowej funkcjonalności dla użytkowników w miarę jego wygrzewania. Tym samym ograniczając ryzyko wystąpienia błędów w dużej skali.

Spółka dba również o dostosowanie sklepów internetowych do preferencji użytkowników wykorzystując testy A/B do weryfikacji wszelkich hipotez dotyczących ich rozwoju. Nowe opcje i rozwiązania są wybierane w oparciu o wyniki badań.

Black Friday – emocje tylko dla klientów

Jednym z ważniejszych zadań stojących przed spółką Silky Coders jest przygotowanie serwisów eCommerce do obsługi dynamicznie rosnącego ruchu klientów. Obecnie w ciągu dnia Grupa odnotowuje na swoich stronach 20-30 tys. użytkowników w czasie rzeczywistym. W ciągu doby sklepy internetowe brandów LPP generują prawie 200 GB danych w Google Analytics. Jeszcze kilka lat temu firma nazwałaby taki wynik peakiem sprzedażowym. I to możliwym wyłącznie w takie dni jak Black Friday, w trakcie którego sprzedawcy potrafią przyciągać klientów promocjami sięgającymi do kilkudziesięciu procent.

Analitycy z Silky Coders po każdej wyprzedaży rozbierają ruch na czynniki pierwsze. Sprawdzają, ile czasu użytkownicy spędzili na danej podstronie, jaki był procent towarów dodanych do koszyka, ile osób zdecydowało się ostatecznie na dokonanie transakcji. W ten sposób powstają scenariusze, na podstawie których serwisy są syntetycznie obciążane ruchem i sprawdzane pod kątem wąskich gardeł.

W 2021 roku w Black Friday przez nasze strony przewinęło się tyle osób, co rok wcześniej w analogicznym okresie przez pięć–sześć dni – liczy Michał Kocieniewski, DevOps Team Leader w Silky Coders.

Czy infrastruktura wykorzystywana w 2018 r. wytrzymałaby to obciążenie? Raczej nie. W tamtym roku wszystkie brandy LPP mogły przyjąć jednocześnie 100 tys. użytkowników. W 2021 r. sam Sinsay miał ich ponad 70 tys.

Dalsze plany Silky Coders

Idziemy w mikroserwisy i mikrofrontendy – deklaruje Piotr Tołłoczko.

Chmura to przyszłość i nasz filar – mówi jednocześnie Michał Kocieniewski.

Obaj odpowiadają dzisiaj za kluczowe obszary, po których Silky Coders chcą się poruszać w najbliższych latach. Spółka zamierza składać strony brandów LPP niczym z klocków. Gdy jeden z nich przestanie działać, reszta witryny normalnie funkcjonuje. Jeżeli więc na przykład w stopce wkradnie się błąd, to po prostu nie będzie się ona wyświetlać do czasu jej poprawienia. Z punktu widzenia klienta to niewielka różnica, bo składanie zamówień wciąż będzie możliwe.

Przy błędzie w kodzie aplikacja przestaje działać, a użytkownik nie może zrobić zakupów. Pandemia zmusiła nas do szukania takich rozwiązań, by kanał żył cały czas, bez żadnych przestojów. Zwiększyła naszą świadomość, ile takie pojedyncze błędy mogą kosztować – zauważa Piotr Tołłoczko.

Na liście życzeń Silky Coders, a w zasadzie całej Grupy LPP pojawił się także dalszy rozwój omnichannel. W największym skrócie chodzi o to, by klient został obsłużony zawsze w ten sam sposób, niezależnie od tego, jakim kanałem dotarł do marki LPP. Przykład? Jeżeli na stronie internetowej pojawia się nowa forma płatności, to co stoi na przeszkodzie, by od razu była dostępna także w aplikacji? Taka centralizacja jest jednak czasochłonnym procesem, na który Silky Coders patrzą w długoterminowej perspektywie. Postępy w tej sferze nie będą miały jednak znaczenia, jeśli programiści nie zapewnią serwisom LPP odpowiedniej przepustowości. Michał Kocieniewski zapewnia, że infrastruktura Grupy jest obecnie przygotowana na poziomie wielokrotnie wyższym niż peaki ruchu w czasie ostatniego Black Friday.

Strategicznym kierunkiem, w którym podążają Silky Coders, jest multicloud. W chmurze obliczeniowej Google’a wylądowały już cztery brandy LPP. Piąty, House, dołączy do nich lada chwila. W najbliższym czasie Grupę czeka druga część migracji – marki trafią do chmury Microsoft Azure, dzięki czemu uzyskają dostęp do zasobów obliczeniowych obu hyperscalerów, a tym samym większą elastyczność i niezależność.

Jednym przełącznikiem będziemy mogli decydować, jaka część ruchu będzie obsługiwana przez jakiego dostawcę – cieszy się Piotr Tołłoczko. – Wszystko rozpatrujemy dzisiaj w kontekście multicloud. Bez tego już nie projektujemy żadnych mikrosystemów. Jeżeli jakieś rozwiązanie nam nie daje tego, czego potrzebujemy, porzucamy je i szukamy innego – dodaje.

And last but not least Silky Coders skupiają się na pojęciu time-to-market, czyli skracaniu czasu, jaki upływa między rozpoczęciem prac nad rozwiązaniem, a jego wprowadzeniem na rynek. Spółka myśli o tym w ten sposób: biznes przychodzi do niej z problemem, a ona dostarcza rozwiązanie w ciągu maksymalnie kilku tygodni.

Trudno się tym ambicjom dziwić. LPP według wstępnych danych zanotowała w 2021 roku rekordowe przychody na poziomie przeszło 14 mld PLN i blisko 1 mld zł zysku. W kolejnych latach spółka nie zamierza zwalniać tempa rozwoju, dlatego pracownicy Silky Coders na nudę z pewnością narzekać nie będą.

Lokowanie produktu: Silky Coders