Kod po kilku wykonawcach
Warstwy dopisywane przez różne zespoły, bez dokumentacji i wspólnej konwencji. Zrozumienie zależności było pierwszym zadaniem, nie ostatnim.
Motochemia sprzedaje online w branży motoryzacyjnej - jednej z najbardziej wymagających w e-commerce, bo klient nie kupi części, jeśli nie ma pewności, że pasuje do jego silnika. Przejęliśmy sklep po innych wykonawcach i dopasowaliśmy sposób pracy do tego, co zastaliśmy: zamiast przepisywania od zera, wymiana obszar po obszarze - od wyglądu po wydajność, bez zatrzymywania sprzedaży.
Tło i problem biznesowy
Motochemia trafiła do nas z sytuacją, którą znamy z dziesiątek rozmów: sklep działał i generował sprzedaż, ale przez ręce kilku wykonawców przeszedł w stan, w którym każda zmiana wymagała ostrożności. Zgłoszenia u poprzedniego dostawcy czekały dłużej, niż pozwalał na to biznes.
Podstawą był osCommerce - silnik, który w swoim czasie napędzał tysiące sklepów, ale dziś ma za sobą lata i bardzo małe grono specjalistów gotowych w nim pracować. Do tego dochodziły warstwy dopisywane przez różne zespoły, bez dokumentacji.
Motochemia dostała od nas zespół: programistę fullstack, kierownika projektu, tech leada i testera. Przy pracy z kodem legacy to nie luksus, a warunek bezpieczeństwa - jedna osoba nie utrzyma jakości na systemie, którego nie da się w pełni przewidzieć.
Warstwy dopisywane przez różne zespoły, bez dokumentacji i wspólnej konwencji. Zrozumienie zależności było pierwszym zadaniem, nie ostatnim.
osCommerce to sprawdzone, ale wiekowe rozwiązanie. Rynek specjalistów gotowych w nim pracować jest bardzo wąski.
Zgłoszenia czekały, a sklep w tym czasie sprzedawał. Pierwszym zadaniem było przywrócenie przewidywalności.
Przy kampaniach i w sezonie sklep zwalniał. Każda sekunda wczytywania to porzucone koszyki.
Nie było możliwości zamknięcia sklepu na czas modernizacji. Wszystkie zmiany musiały wchodzić na żywym systemie.
Co zrobiliśmy
Wygląd sklepu pochodził z innej epoki e-commerce. Klient trafiający z reklamy widział interfejs, który nie budził zaufania przy zakupie części za kilkaset złotych.
Ścieżka zakupowa miała miejsca, w których klienci zwyczajnie rezygnowali - a sklep nie miał narzędzi, żeby to zmienić.
W motoryzacji klient musi mieć pewność, że część pasuje do jego wersji silnika. Bez katalogu branżowego sklep zdaje się na opisy produktów i wiedzę kupującego.
Stary silnik nie był projektowany pod obecną skalę ruchu. Przy większym natężeniu, zwłaszcza w kampaniach i sezonie, sklep zwalniał - a wolny sklep to porzucone koszyki.
Przy kodzie o nieznanej historii każda zmiana może odbić się w nieoczekiwanym miejscu. Bez procesu i testów wdrożenie na produkcję to loteria.
Szczegóły
Zaczynamy od odtworzenia wiedzy o systemie: struktura kodu, baza, integracje i miejsca, w których dopisywano rozwiązania na skróty.
Przed pierwszą zmianą upewniamy się, że mamy kopie, historię wersji i możliwość szybkiego powrotu do stanu poprzedniego.
Wymieniamy obszar po obszarze. Każda zmiana jest na tyle mała, że w razie problemu wiadomo dokładnie, co ją spowodowało.
W kodzie o nieznanej historii nie ma zmian bezpiecznych z definicji. Testy przed wejściem na produkcję są obowiązkowe, nie opcjonalne.
Wiedza o systemie trafia do dokumentacji na bieżąco - żeby nie zależała od jednej osoby w zespole.
Przepisanie od zera brzmi porządnie, ale zwykle oznacza rok bez nowych funkcji i ogromne ryzyko. Wymieniamy to, co faktycznie tego wymaga.
Zaczynamy od odtworzenia wiedzy o systemie: struktura kodu, baza, integracje i miejsca, w których dopisywano rozwiązania na skróty.
Przed pierwszą zmianą upewniamy się, że mamy kopie, historię wersji i możliwość szybkiego powrotu do stanu poprzedniego.
Wymieniamy obszar po obszarze. Każda zmiana jest na tyle mała, że w razie problemu wiadomo dokładnie, co ją spowodowało.
W kodzie o nieznanej historii nie ma zmian bezpiecznych z definicji. Testy przed wejściem na produkcję są obowiązkowe, nie opcjonalne.
Wiedza o systemie trafia do dokumentacji na bieżąco - żeby nie zależała od jednej osoby w zespole.
Przepisanie od zera brzmi porządnie, ale zwykle oznacza rok bez nowych funkcji i ogromne ryzyko. Wymieniamy to, co faktycznie tego wymaga.
Szczegóły
Klient wskazuje markę, model i wersję, a sklep pokazuje wyłącznie części, które pasują. To podstawowe oczekiwanie w tej branży.
Wyszukiwanie po numerach katalogowych i powiązaniach krzyżowych - tak, jak szukają zawodowcy i warsztaty.
Katalog branżowy dostarcza opisy, atrybuty i zdjęcia bezpośrednio od producentów, w jednolitej strukturze dla całego rynku europejskiego.
Precyzyjny dobór ogranicza najczęstszy powód zwrotów w motoryzacji: część nie pasuje do konkretnego egzemplarza samochodu.
Klient wskazuje markę, model i wersję, a sklep pokazuje wyłącznie części, które pasują. To podstawowe oczekiwanie w tej branży.
Wyszukiwanie po numerach katalogowych i powiązaniach krzyżowych - tak, jak szukają zawodowcy i warsztaty.
Katalog branżowy dostarcza opisy, atrybuty i zdjęcia bezpośrednio od producentów, w jednolitej strukturze dla całego rynku europejskiego.
Precyzyjny dobór ogranicza najczęstszy powód zwrotów w motoryzacji: część nie pasuje do konkretnego egzemplarza samochodu.
Efekty
nieprzerwanej współpracy, trwa do dziś
modernizacja na działającym sklepie
przebudowa całej warstwy prezentacji
integracja z branżowym katalogiem części
Porozmawiajmy- ocenimy stan kodu i powiemy, co da się modernizować, a co warto wymienić.