Inżynieria autonomii: Jak Netguru wspiera autonomiczne sklepy Żabka Nano

Contents
Żabka, najszybciej rozwijająca się sieć sklepów convenience w Polsce, uruchomiła sklepy autonomiczne, a Netguru dołączyło do projektu jako wsparcie technologiczne.
Klient
Dysponując niemal 12 000 sklepów we wszystkich większych miastach i miejscowościach oraz ponad 4 mln transakcji dziennie, Żabka Polska jest jedną z największych sieci handlowych w Polsce.
Żabka nieustannie wdraża nowe usługi, oferuje cieszącą się ogromną popularnością aplikację lojalnościową, Żappkę, i wprowadza najnowocześniejsze rozwiązania cyfrowe dla handlu detalicznego, zmieniając oblicze całej branży.
Sklepy autonomiczne to kolejny przykład śmiałej wizji tej firmy.
Sklepy autonomiczne
Autonomiczne sklepy Żabki – Nano – są otwarte całą dobę, 7 dni w tygodniu. Nie ma w nich koszyków, kasjerów ani lady, więc klienci wchodzą, biorą to, czego potrzebują, i wychodzą – o każdej porze dnia i nocy.
Płatność za wybrane produkty jest automatycznie pobierana z karty płatniczej klienta w momencie opuszczenia sklepu.
Klient wchodzi do sklepu przy użyciu aplikacji Żappka lub karty kredytowej.
Zaawansowane systemy skanowania oraz technologia computer vision oparta na sztucznej inteligencji gwarantują, że klient zapłaci dokładnie za to, co wybrał, i może szybko opuścić sklep bez konieczności fizycznego przejścia przez kasę.

Projekt
Żabka nawiązała współpracę z Netguru jako partnerem technologicznym w celu zaplanowania, zaprojektowania, wdrożenia i utrzymania architektury sklepów autonomicznych, obejmującej systemy odpowiedzialne za autoryzację klientów, płatności i rozpoznawanie obrazu (dostarczone przez innego dostawcę) oraz sprzęt sklepowy, taki jak automatyczne drzwi i telemetria.Innymi słowy, Netguru pełniło rolę kluczowego partnera technologicznego, budując warstwę integracyjną umożliwiającą współpracę różnych systemów jako jednego ekosystemu.
Ściśle współpracując z Żabką, zintegrowaliśmy dane Żabki z jej dostawcami i partnerami, zapewniając solidną podstawę techniczną dla płynnego doświadczenia klienta zaprojektowanego przez zleceniodawcę.
Zakres naszych prac
- Stworzenie architektury systemu
- Projektowanie i wdrożenie infrastruktury chmurowej z wykorzystaniem Microsoft Azure
- Rozwój backendu w języku Python
- Integracje

Wyzwania
- Budowanie pionierskiego projektu – cały format był nowatorski, a Żabka była pierwszą firmą, która wprowdziła sieć sklepów bez obsługi na taką skalę i o takim zasięgu.
- Zarządzanie złożonością technologiczną – aby zapewnić automatyczne rozliczanie klientów, musieliśmy zaprojektować i wdrożyć architekturę systemu koordynującą każdy aspekt operacyjny sklepów autonomicznych.
- Integracja złożonego środowiska zależności – rozbudowany system musiał bezbłędnie przechwytywać i obsługiwać zdarzenia pochodzące z wielu urządzeń.
- Zapewnienie skalowalności już rozbudowanego projektu – architektura produktu i oprogramowanie musiały zostać zbudowane w sposób umożliwiający ich szybkie skalowanie.
Podejście
Projekt tej skali i rangi wymagał starannego i systematycznego podejścia zarówno pod względem technologicznym, jak i kadrowym.
Budowanie dedykowanego zespołu projektowego
Aby sprostać wszystkim wyzwaniom projektu, Netguru zbudowało elastyczny, samozarządzający się zespół o wszystkich wymaganych kompetencjach i nastawieniu zorientowanym na produkt. Deweloperzy dyżurni czuwali nad całym systemem na bieżąco. W zależności od fazy projektu zaangażowane były następujące osoby:
|
ROLA |
ZAKRES ODPOWIEDZIALNOŚCI |
|
Solution Architect |
Analiza potrzeb klienta, tworzenie i utrzymywanie wizji technicznej produktu oraz praktyk deweloperskich, opracowywanie rozwiązań technicznych, a także zbieranie i przetwarzanie wysokopoziomowych wymagań technicznych. |
|
Product Owner |
Priorytetyzacja backlogu produktu oraz zapewnienie sprawnej komunikacji między Product Ownerami Żabki a zespołem deweloperskim Netguru. |
|
Tech Lead |
Utrzymywanie ekspertyzy technicznej i kierowanie fazą developmentu. |
|
Engineering Lead |
Nadzorowanie procesu dostarczania, utrzymywanie jakości dostaw oprogramowania, tworzenie strategii inżynieryjnej dla klienta oraz zapewnianie zgodności z najlepszymi praktykami w zakresie wytwarzania oprogramowania. |
|
Backend Developers i DevOps Engineers |
Budowanie produktu zgodnie z architektonicznymi i funkcjonalnymi wymaganiami projektu. |
|
Project Manager |
Zarządzanie wszystkimi aspektami projektu, w tym zespołem, komunikacją z klientem oraz rezultatami prac. |
|
PM Lead |
Nadzorowanie zarządzania, organizowanie pracy zespołu oraz tworzenie nowych rozwiązań w zakresie utrzymania systemu. |
|
QA Engineers |
Testowanie i zapewnienie jakości na wszystkich etapach developmentu. |

Etap 1: Projektowanie architektury systemu
W pierwszej fazie, wspólnie z Żabką, przygotowaliśmy szczegółową dokumentację techniczną opisującą wszystkie procesy zachodzące w autonomicznym sklepie, a także architekturę produktu zdolną do obsługi tych procesów, gotową do opracowania i wdrożenia.
Uwzględniliśmy indywidualne wymagania produktowe (stabilność systemu, wysoka wydajność i szybkość) oraz ograniczenia. Odpowiedzieliśmy również na cele biznesowe klienta dotyczące wyjątkowego doświadczenia zakupowego oraz przyszłej skalowalności.
Etap 2: Planowanie i rozbudowa infrastruktury
W kolejnym kroku cała infrastruktura chmurowa została zaplanowana, zaprojektowana i wdrożona z wykorzystaniem rozwiązań Microsoft Azure. Przeprowadziliśmy dogłębną analizę środowiska Azure, aby zaplanować proces implementacji, który pozwoliłby wykorzystać możliwości platformy i przezwyciężyć jej ograniczenia.
Następnie przygotowaliśmy i wdrożyliśmy architekturę w chmurze oraz opracowaliśmy zestaw szczegółowych rekomendacji dla zespołu deweloperskiego na potrzeby dalszych prac.
Etap 3: Tworzenie MVP
Faza implementacji rozpoczęła się od stworzenia MVP aplikacji synchronizującej systemy odpowiedzialne za koordynację wszystkich kluczowych procesów w sklepach, umożliwiając Żabce walidację konceptu z rzeczywistymi klientami.
Testy przyniosły pozytywne wyniki, co pozwoliło nam przejść do ostatniego etapu procesu.
Etap 4: Rozwój systemu
Ten ostatni etap obejmował opracowanie i wdrożenie systemu zdolnego do obsługi procesów w wielu sklepach jednocześnie.
Technologia: Systemy wejściowe
Równolegle z rozwojem technologii dla autonomicznych sklepów pracowaliśmy nad budową systemu wejściowego dla nowej konfiguracji autonomicznego sklepu. Został on zaprojektowany tak, aby umożliwić klientom wejście do sklepów przy użyciu karty płatniczej i wymagał integracji z zewnętrznymi dostawcami.

Rezultaty
- Klienci Żabka Nano mogą cieszyć się zakupami dostępnymi 24/7 w w pełni autonomicznych sklepach w ponad 50 lokalizacjach.
- Klient otrzymał najwyższej klasy, innowacyjny system gotowy do obsługi znaczącego ruchu.
- Dostarczony system jest stabilny, wydajny i łatwy w utrzymaniu.
- Żabka Nano umocniła swoją wiodącą pozycję na rynku i jest pionierem cyfrowej transformacji w handlu detalicznym.