CASE STUDIES Rozwiązania informatyczne dla biznesu
SPis TREŚCI 1. Nowy e-commerce dla Poczty Kwiatowej 03 2. Dedykowana aplikacja mobilna dla TIM S.A. 11 3. Wdrożenie sprzedaży B2B/B2C w ELMARK Automatyka 18 4. Kompleksowe wdrożenie startupu CABAS.pl 26 5. Pełna obsługa sprzedaży i magazynu oraz integracje z systemami wewnętrznymi Decoking 35 6. Wdrożenie systemu B2B dla Drukarnia SPEED Sp. z o.o 44 2
1. Nowy e-commerce dla Poczty Kwiatowej
O firmie Poczta Kwiatowa sp. z o.o. zaczynała jako pionier sprzedaży kwiatów w kanale e-commerce, obecnie jest liderem w branży wysyłki kwiatów na terytorium Polski. Marka Poczta Kwiatowa jest rozpoznawalna przez konsumentów na terenie całego kraju. Poczta Kwiatowa umożliwia wysyłkę kwiatów do dowolnego miejsca w Polsce w czasie krótszym niż 4 h oraz doręczenie ich za granicę do ponad 150 państw. Firma wytycza trendy florystyczne w Polsce i została wyróżniona za jakość usług licznymi nagrodami oraz certyfikatami, zarówno konsumenckimi, jak i fachowymi w branży E-commerce. 4
1.1. Wymiana e-commerce Współpraca między Pocztą Kwiatową a X-Coding rozpoczęła się w efekcie podjętej decyzji o zmianie systemu e-commerce. Wpływ na to miało kilka kluczowych czynników: Poczta Kwiatowa niewspółmierny do wyników koszt rozwoju obecnej platformy, znaczne problemy wydajnościowe, nieprzystosowane do zmieniających się trendów rozwiązania sprzedażowe. Wydajność jest dzisiaj problemem wielu popularnych sklepów internetowych. Brak rygorystycznego podejścia do ich działania skutkuje realną utratą przychodów. Czas ładowania poszczególnych stron to wskaźnik, który powinien być monitorowany na każdym etapie projektowym i powdrożeniowym. Obecnie minimalne wymagania to: strona główna 1-2 sekundy, każda inna strona w procesie zakupowym 2-3 sekundy. Witryny, które nie spełniają tych wymagań, nie są użyteczne dla klientów i powodują tendencję do wyjścia ze sklepu. 1.2. Wdrożenie projektu Naszym zadaniem było kompleksowe wdrożenie nowej platformy, która przede wszystkim zapewni bezproblemowy dostęp klientom, a jednocześnie będzie spełniała ich oczekiwania. Zdecydowaliśmy się na wybranie Magento jako podstawowego silnika aplikacji. Za podjęciem decyzji przemawiały wysokie wymagania klienta w zakresie funkcjonalności systemu, potencjalnych możliwości dalszego rozwoju, a także wskazane wyżej potrzeby 5
dotyczące stabilności aplikacji. Doświadczenie zespołu pod kątem optymalizacji wydajnościowej projektów opartych o platformę Magento pozwoliło wdrożyć system spełniający wysokie wymagania pod kątem szybkości działania witryny. Poczta Kwiatowa Agile Etap wdrożeniowy został podzielony na dwutygodniowe sprinty, planowane i opisywane na bieżąco przez zespół projektowy złożony z przedstawicieli obydwu firm. Taka synergia podczas prac projektowych w naszym przekonaniu jest konieczna do dostarczenia projektu o optymalnej wartości. Bieżąca, sumienna praca obu stron na rzecz projektu powoduje: zwiększenie świadomości o powstającym projekcie, możliwość reagowania na zmiany (które w przypadku innowacyjnych projektów pojawiają się nawet co dzień), obniżenie kosztów wytworzenia oprogramowania, zwiększenie efektywności komunikacji między firmami. Ostatecznie etap wdrożeniowy przed premierą zajął 10 sprintów pracy 8-osobowego (stałego) zespołu projektowego. Dedykowane funkcjonalności Poczta Kwiatowa to przede wszystkim platforma innowacyjna, będąca pionierem w swojej branży. Z tego powodu wiele funkcjonalności jest nietypowych i wymagających indywidualnych rozwiązań. W efekcie, w projekcie zostały wdrożone 23 dedykowane moduły, odpowiadające za realizację między innymi: 6
integracji z zewnętrznymi systemami, zaawansowanego wariantowania produktów, warunkowania daty doręczenia produktu, zarządzania ofertą. Poczta Kwiatowa Szczególnie warto zwrócić uwagę na zaawansowane warunkowanie i wariantowanie produktów, które ze względu na charakter prowadzonej działalności jest niespotykany w innych rozwiązaniach e-commerce. Poza funkcjonalnościami, sklep został zintegrowany z wieloma usługami, zarówno zewnętrznymi jak i wewnętrznymi firmy, takimi jak: modułowy pakiet planowania zasobów przedsiębiorstwa, dedykowane oprogramowanie logistyczne firmy, płatności online (m.in. PayPal, Skrill, Sofort, Polcard). dziś Ślub 23.07.2016 17:00 + 17,00zł Dodaj do koszyka 7
Wydajność aplikacji Jednym z kluczowych czynników decydujących o powodzeniu projektu była skalowalność aplikacji. W celu zapewnienia maksymalnej wydajności platformy, zastosowaliśmy szereg mechanizmów sprzętowych i programowych, m.in: Poczta Kwiatowa load balancer, dedykowany serwer bazodanowy oraz serwer obsługujący cache, dedykowany serwer obliczeniowy, wielopoziomowe mechanizmy cache mechanizmy przyśpieszania ładowania strony przez zmniejszenie ilości żądań generowanych przez podstrony serwisu, zaawansowane mechanizmy optymalizacji kodu HTML oraz CSS i JS, optymalizacja przechowywania sesji użytkowników, mechanizm CDN. 8
HTPS WWW Poczta Kwiatowa LOAD BALANCER HTTS 1 2 3 1 2 APP APP 3 APP serwer aplikacyjny comp SERWER OBLICZENIOWY redis session SERWER BAZODANOWY redis cashe MySql 9
1.3. Efekty i dalszy rozwój Efektem przeszło 3500 h przepracowanych w projekcie jest jedno z największych dedykowanych wdrożeń Magento w Polsce. Zespołowi udało się także osiągnąć najważniejsze cele postawione przed projektem: wdrożenie wydajnej platformy obsługującej ponad 1000 jednoczesnych użytkowników, przystosowanie funkcjonalności Magento do potrzeb klientów, zaawansowane integracje i osadzenie projektu w środowisku wewnętrznym IT firmy. Obecnie projekt znajduje się w fazie dynamicznego rozwoju, by jeszcze lepiej spełniać oczekiwania swoich klientów.
2. Dedykowana aplikacja mobilna dla TIM S.A.
O TIM TIM S.A. jest jednym z największych dystrybutorów artykułów elektrotechnicznych w Polsce. 25 lat w branży, z czego 17 lat na Giełdzie Papierów Wartościowych w Warszawie, to wystarczająca ilość czasu, żeby zdobyć bezcenne doświadczenie na rynku. Spółka jest także laureatem wielu prestiżowych nagród, otrzymała między innymi Gazele Biznesu, Diament Forbes, itp. Technologie, innowacja, mobilność - te trzy hasła stanowią obecny klucz do rozwoju TIM S.A. Firma jako pierwsza na rynku w tej branży udostępniła swoją ofertę przez Internet zarówno dla klienta biznesowego, jak i indywidualnego, bez koniecznośći wcześniejszego rejestrowania się czy logowania. Inwestycje w kanał on-line zaowocowały w otwarcie latem 2013 roku wysokiej klasy sklepu internetowego, dostosowanego w pełni do potrzeb odbiorców branży elektroenergetycznej. 12
2.1.Rozpoczęcie współpracy Po niewątpliwym sukcesie platformy e-commerce, TIM zdecydował się na prezentację swojej oferty handlowej również w kanale m-commerce. Współpraca z X-Coding IT Studio została nawiązana w celu zaprojektowania i wdrożenia dedykowanej aplikacji mobilnej na system operacyjny Android. TIM Specyficzna grupa odbiorców oraz wymagania rynku spowodowały, że przed naszymi specjalistami stanęło wyzwanie zbudowania aplikacji, która będzie przede wszystkim użyteczna i ergonomiczna. Pamiętać należy, że głównymi klientami firmy TIM S.A. są klienci B2B (hurtownie, sklepy) dla których proces zakupowy musi być jak najbardziej uproszczony oraz czytelny, a samo wyszukiwanie produktów musi odbywać się w jak najbardziej intuicyjny sposób. 13
Dlatego też każdorazowo interakcje z użytkownikiem były projektowane w oparciu o makiety funkcjonalne. Dzięki temu dużo łatwiej było odwzorować procesy zachodzące w sklepie na urządzeniach mobilnych, a także nanosić konieczne zmiany bez niepotrzebnych kosztów. W oparciu o warsztaty z klientem udało się wypracować optymalną ściężkę obsługi klienta oraz realizacji zamówień, przy równoczesnym zachowaniu wszystkich specyficznych dla branży funkcji, które zawarte były w sklepie internetowym. Dzięki współpracy poszczególnych działów firmy X-Coding IT Studio oraz TIM S.A. udało się przygotować taki projekt funkcjonalny oraz graficzny, który z jednej strony jest w pełni zgodny z Corporate Indetity firmy TIM S.A., a jednocześnie spełnia wymogi użyteczności zakupu przy użyciu urządzeń przenośnych. TIM 2.2. Wdrożenie na zapleczu sklepu internetowego To, co wyróżniało ten projekt na tle innych, to przede wszystkim kontekst środowiskowy. Firma TIM S.A. w momencie realizacji projektu dysponowała już nie tylko gotowym sklepem internetowym wdrożonym na silniku Magento, ale także całym zapleczem informatycznym wspomagającym główne procesy biznesowe realizowane w przedsiębiorstwie. Analiza funkcjonalna wykazała, że najlepszym rozwiązaniem jest integracja aplikacji mobilnej bezpośrednio ze sklepem internetowym, w celu zapewnienia dokładnie tych samych warunków handlowych bez konieczności duplikowania danych, implementacji funkcjonalności lub komunikacji z systemami zewnętrznymi. Android ios CORE MAGENTO API TIM.PL ŚRODOWISKO INFORMATYCZNE FIRMY 14
2.3. Magento Core API Do realizacji funkcjonalności przewidzianych w aplikacji mobilnej wykorzystane zostało Magento Core API. To zbiór metod umożliwiających komunikację pomiędzy platformą a systemami zewnętrznymi. API zostało oprogramowane tak, by umożliwiać dostęp do najważniejszych obiektów systemu, takich jak TIM produkty, kategorie, klienci, zamówienia, etc. Dzięki API Magento otwiera się na systemy zewnętrzne. Biorąc jednak pod uwagę skalę zmian w samej platformie, jak również wymagania funkcjonalne aplikacji mobilnej, konieczne okazało sie wdrożenie uzupełnionej logiki na potrzeby komunikacji z aplikacją mobilną. Maciej Harbuz \ Dyrektor Technologii X-Coding IT Studio Z Magento Core API wykorzystaliśmy zaimplementowane zabezpieczenia, role i ograniczenia dostępu oraz protokół komunikacji SOAP. Wszystkie komunikaty musiały zostać zaimplementowane z uwzględnieniem zmian dokonanych w e-commerce TIM S.A., takich jak zaawansowane narzędzie do cięcia kabli oraz zmodyfikowana logika procesu zakupowego. Uwzględnienie całej funkcjonalności zmodyfikowanego sklepu do poziomu komunikatów API było największym wyzwaniem, z jakim spotkaliśmy się podczas wdrożenia projektu. Jednocześnie na wszystkich etapach implementacji dbaliśmy o to, żeby rozwój sklepu pociągał w jak najmniejszym stopniu potrzebę zmian w funkcjonalnościach mobilnych. 15
2.4. Zwinnie osiągnięte cele projektu Cały proces wdrożenia realizowany był zgodnie z metodologią SCRUM. Takie podejście było właściwie konieczne z uwagi na prowadzone równolegle prace rozwojowe i przyniosło następujące pozytywne skutki: udało się zsynchronizować prace z rozwojem samego sklepu internetowego, dzięki czemu mogliśmy wdrażać zmiany w tym samym momencie, minimalizując ryzyko wystąpienia różnic w funkcjonalnościach TIM zakres projektu był elastyczny i dostosowany do bieżących potrzeb i rozwoju samego sklepu efektem każdego sprintu była pełnoprawna aplikacja mobilna, gotowa do publikacji w Google Play. Dzięki temu rynek szybciej mógł zacząć używać narzędzia, a TIM mógł szybciej zebrać opinie zwrotne. Zespół projektowy pracował w cyklu dwutygodniowym. W każdym sprincie realizowane było: planowanie bieżącego zakresu prac realizacja zakresu testy automatyczne i akceptacyjne odbiór i publikacja produktu cząstkowego. Efekty przeszło 11 miesięcy prac pokazały, że po raz kolejny metodologia zwinna była najlepszym możliwym wyborem. 16
2.5. DALSZY ROZWÓJ TIM S.A. prowadzi obecnie dużą ekspansję na rynku sprzedaży internetowej. Dlatego też dynamiczny rozwój platformy e-commerce powoduje konieczność bieżącego utrzymania i rozwoju wersji mobilnej, a także otwierania się na pozostałe systemy operacyjne. Firmy zdecydowały się wobec tego na przedłużenie współpracy.
3. Wdrożenie sprzedaży B2B/B2C w Elmark Automatyka
o firmie ELMARK Automatyka to jeden z czołowych dystrybutorów produktów automatyki przemysłowej na polskim rynku. Ponad 30 lat doświadczeń w branży powoduje, że ich klienci mogą liczyć nie tylko na profesjonalną obsługę, ale także doradztwo specjalistów, o czym świadczą liczne certyfikaty oraz prowadzone szkolenia. To co wyróżnia ELMARK Automatyka spośród konkurencji, to przywiązanie do jakości świadczonych usług oraz nowatorskie rozwiązania mające na celu łatwiejsze zapoznanie klienta z oferta firmy oraz możliwością zakupów za pośrednictwem internetu. Dziś ELMARK Automatyka zwiększa swój zakres usług, realizując przeszło 19 000 zamówień rocznie co wiąże się z wartością 56 milionów złotych w 2015r. 19
3.1. Nowy system B2B/B2C lepsze doświadczenia zakupowe e-commerce $ niższe koszty operacyjne ELMARK klienci tego oczekują większe zaangażowanie klientów lepsza świadomość marki Decyzja o wdrożeniu nowej platformy sprzedażowej spowodowana była głównie potrzebą dostarczania lepszych doświadczeń zakupowych klientom w segmencie B2B, automatyzacją obsługi sprzedaży klientom zagranicznym, a także otwarciem sprzedaży internetowej dla klientów detalicznych. To kierunek zgodny z trendem panującym w branży. Do zadań X-Coding należało kompleksowe wdrożenie sklepu internetowego, który będzie spełniał jednocześnie potrzeby obu typów odbiorców, zintegrowanie go dwukierunkowo z systemami wewnętrznymi firmy (obsługa magazynowo księgowa: WF-MAG), a także z poprzednią wersją e-commerce przedsiębiorstwa. 20
3.2. Technologia W przypadku nowego sklepu ELMARK Automatyka naszą rekomendacją było Magento w wersji Community, które w segmencie Open Source jest najlepszym oprogramowaniem, gdy kluczowym wymaganiem biznesowym jest skuteczne wdrożenie strategii omnichannel. Możliwość dostosowania funkcjonalności do indywidualnych potrzeb klienta i zaawansowane narzędzia ułatwiające różnego rodzaju integracje w tym przypadku odegrały kluczową rolę na etapie wdrożenia i dalszego rozwoju. 3.3. Wdrożenie systemu ELMARK UX w obliczu specyficznej branży Segment automatyki przemysłowej jest specyficzny, jeżeli chodzi o projektowanie interakcji z użytkownikami. Nie znajduje tutaj zastosowania wiele mechanizmów zwiększających wartość zamówienia, ponadto kluczowe jest dobre opracowanie nawigacji, ponieważ problemy z nią związane są głównym powodem porzuceń. Z tego powodu na etapie przedwdrożeniowym dużo czasu poświęciliśmy na precyzyjne opracowanie makiet funkcjonalnych całego serwisu. Braliśmy przy tym pod uwagę zarówno target i specyfikę branży, jak i doświadczenia zakupowe z poprzednim sklepem. Analiza przedwdrożeniowa zaowocowała w 14 dokładnie opisanych makiet funkcjonalnych, co ułatwiło projektowanie graficzne, ale też późniejsze prace nad systemem. 21
ELMARK Dedykowane funkcjonalności Główną przewagą sklepu nad konkurencją miała być mnogość dedykowanych funkcjonalności, odpowiadających najbardziej wyrafinowanym potrzebom klientów firmy (którzy już teraz przyzwyczajeni są do wysokiego poziomu obsługi). Przede wszystkim zastosowaliśmy szereg najnowszych rozwiązań z rynku B2C. Na potrzeby modyfikacji sklepu wdrożyliśmy 21 dedykowanych modułów. Dodatkowo dokupionych zostało 17 płatnych modułów, co pozwoliło znacznie obniżyć koszty wdrożenia. Jednym z kluczowych argumentów przemawiających często za wyborem Magento jest właśnie znaczna ilość tych ostatnich, dostępna poprzez platformę Magento Connect. Moduły, które szczególnie warto wskazać, to: Subkonta - pozwalające na współpracę pomiędzy poszczególnymi działami parterów firmy ELMARK Automatyka w zakresie kompletowania i procesowania zamówienia, jak również rozdzielający prace różnych 22
jednostek danego partnera, które nie powinny interferować na poziomie zakupów, Multiwarehouse - zaimplementowaliśmy rozbudowaną strukturę informacji o produktach w ponad 20 lokalizacjach oraz system uprawnień dla poszczególnych partnerów decydujący o bardziej lub mniej szczegółowej informacji o dostępnych stanach magazynowych, dodaliśmy do tego możliwość wyboru odbioru osobistego w kilku lokalizacjach na podstawie dostępnych stanów magazynowych, Limit kredytowy - partnerzy firmy ELMARK Automatyka mają możliwość uzyskania limitu kredytowego znacząco ułatwiającego rozliczenia oraz przyśpiesza proces realizacji zamówienia, limit ten jest uwzględniany przez nowy kanał e-commerce. ELMARK Do ostatniego klienta Pierwszy raz mieliśmy do czynienia z projektem sklepu, który nie miał w założeniu zastąpić swojego poprzednika, ale stanowić dla niego na tyle atrakcyjną alternatywę, że klienci samodzielnie podejmą decyzję o wyborze nowego rozwiązania. Jednocześnie decyzja ta była odpowiedzią na konserwatyzm w branży dlatego szczególną uwagę należało zwrócić na ewolucyjny, a nie rewolucyjny charakter wprowadzanych modyfikacji. Takie podejście miało jedną bardzo ważną konsekwencję - integracja musiała obejmować nie tylko systemy wewnętrzne firmy, ale także działać w obu kierunkach między sklepami tak, by klienci otrzymali jednolite informacje. Stanęliśmy wobec tego przed zagadnieniem utrzymania spójności danych pomiędzy systemami, bezawaryjnej komunikacji i zgrania wszystkiego w czasie. Ostateczna komunikacja wyglądała następująco: 23
NOWY SKLEP informacje produktowe STARY SKLEP klienci zamówienia warunki handlowe stany magazynowe WF-Mag ELMARK dane produktowe dane produktowe BUSINESS INTELLIGENCE ELMARK Biorąc pod uwagę zakres danych, z pomocą przyszły kolejki asynchroniczne, które znacznie zredukowały ryzyko utraty spójności danych między systemami. 24
3.4. podsumowanie Wdrożenie nowego sklepu dla ELMARK Automatyka można podsumować następującymi słowami kluczowymi: ponad 1600 przepracowanych godzin pół roku pracy czteroosobowego zespołu projektowego zapewnienie ciągłości funkcjonowania platform dzięki zaawansowanym mechanizmom integracji innowacyjne rozwiązania sprzedażowe dla branży automatyki przemysłowej. Obecnie, po uruchomieniu platformy on-line, przeszliśmy w tryb ciągłego rozwoju, by móc sprawnie odpowiadać na rosnące potrzeby sektora.
4. Kompleksowe wdrożenie startupu cabas.pl
o cabas.pl CABAS.pl o sobie mówi wielki internetowy ryneczek. To miejsce, które łączy lokalnych sprzedawców z całego kraju, oferujących swoje wyroby oraz klientów poszukujących regionalnych, kulinarnych specjałów. Projekt jest odpowiedzią na stale rosnące zapotrzebowanie rynkowe na żywność regionalną, produkowaną przez mniejszych producentów, zgodnie z tradycyjnymi recepturami, z najlepszej jakości składników, która ma być alternatywą dla masowo produkowanych artykułów spożywczych. Trend jest mocno zauważalny w sprzedaży tradycyjnej - stragany targowe przeżywają obecnie drugą młodość, coraz więcej ludzi wybiera także zakupy w osiedlowych sklepikach, zamiast w supermarketach. CABAS.pl jest pierwszym portalem, który przenosi lokalną sprzedaż straganową na szeroką skalę, docierając do klientów z całej Polski, wykorzystując wielokanałową sprzedaż e-commerce i m-commerce. Z jednej strony sprzedawcy mogą w końcu oferować swoje produkty na terenie całego kraju, z drugiej strony smakosze otrzymują narzędzie, za pomocą którego będą mogli zaspokoić swoje potrzeby bez wychodzenia z domu. 27
4.1. Rozpoczęcie współpracy INNOWACJA TECHNOLOGIA MOBILNOŚĆ WARTOSC DODANA PROJEKTU Cabas Współpraca z CABAS.pl rozpoczęła się w wyniku planowanej inwestycji na kompleksowe zaprojektowanie i wdrożenie systemu. X-Coding IT Studio zostało wybrane jako rzetelny partner z bogatym doświadczeniem w docelowej branży funkcjonowania platformy. Pierwszy etap w projekcie to przede wszystkim analiza wymagań projektowych pod kątem dodatkowych funkcjonalności, powiększających przewagę konkurencyjną. Często wymagania opracowane w dokumentacji nie odzwierciedlają faktycznego potencjału platformy, dlatego w oparciu o standardy rynkowe i oczekiwania klientów szukamy szans w podniesieniu wartości dodanej dostarczanej przez serwis. W efekcie jeszcze przed rozpoczęciem prac udało się zwiększyć atrakcyjność serwisu, a tym samym zwiększyć jego elastyczność na coraz szybciej rosnącym rynku sprzedaży FMCG on-line. 28
4.2. TECHNOLOGIA Biorąc pod uwagę wymagania funkcjonalne, a także potrzeby biznesowe, do wdrożenia platformy wybrany został silnik Magento w wersji Community. Wykorzystanie Magento pozwoliło zaimplementować pożądane funkcjonalności nie tylko optymalnie kosztowo, ale też w pełni skalowalnie, co przy osiągnięciu masy krytycznej będzie miało kluczowe znaczenie do utrzymania user experience na najwyższym poziomie. Magento jest obecnie najbardziej popularną i najszybciej rosnącą platformą ecommerce na świecie. Wsparcie producenta, plany rozwojowe i duża społeczność skupiona wokół tego narzędzia pozwala na znaczne obniżenie kosztów późniejszego rozwoju, ale także znacznie ułatwia utrzymanie bezawaryjnej pracy systemu. Dodatkowym atutem sklepu jest natywne wparcie dla urządzeń mobilnych dzięki wbudowanemu w system API, przez co zminimalizowaliśmy koszt wdrożenia komunikacji z aplikacjami zewnętrznymi. Cabas 4.3. MOBILNOŚĆ Nie sposób myśleć obecnie o uruchomieniu sprzedaży w kanale e-commerce bez odpowiedniego wsparcia dla urządzeń mobilnych. W tym wypadku była to kwestia tym bardziej kluczowa, jako, że mamy do czynienia z branżą FMCG, gdzie potrzeba zakupowa rodzi się bardziej pod wpływem impulsu niż długotrwałych poszukiwań. Cabas.pl został przygotowany w technologii RWD w trzech różnych widokach: Mobile first regular screen, tablet, mobile, 29
dzięki czemu pozwala na wygodne zakupy nie tylko w domowym zaciszu, ale też podczas różnych codziennych czynności. Dla klientów, którzy preferują natywne aplikacje, CABAS.pl oferuje aplikację dla systemu Android dostępną w sklepie Google Play. Aplikacja umożliwia użytkownikom jeszcze bardziej sprawne poruszanie się po bogatej ofercie regionalnych sprzedawców. W przypadku wielu projektów, często konieczny jest wybór pomiędzy wdrażaniem wersji RWD lub wdrożeniem natywnych aplikacji. CABAS.pl oferuje oba rozwiązania, wychodząc naprzeciw oczekiwaniom zarówno klientów preferujących RWD jak i zwolennikom aplikacji mobilnych. 4.4. Wdrożenie systemu Cabas PROJEKTOWANIE GRAFICZNE IMPLEMENTACJA TESTY / STABILIZACJA Projektowanie graficzne Pierwszym zadaniem fazy projektowej było zaprojektowanie graficzne systemu na podstawie makiet funkcjonalnych, stanowiących wsad do projektu. Na etapie projektowania funkcjonalnego stanowiliśmy wsparcie merytoryczne, często weryfikując założenia z oczekiwaniami rynkowymi i dobrymi praktykami UX. 30
Przy każdym projekcie duży nacisk kładziemy na elementy graficzne. Z punktu widzenia sklepu internetowego, look&feel to jeden z ważniejszych czynników, często decydujący o tym, że klient zostaje lub porzuca witrynę. Organizacja projektu Prace od rozpoczęcia projektu do zakończenia pełnej funkcjonalności trwały 15 miesięcy. W tym czasie w prace projektowe zaangażowani byli projektanci interakcji, graficy, testerzy, manager projektu i oczywiście zespół programistów. Od początku prace nad systemem CABAS.pl wspierane były przez szereg systemów wspomagających pracę: repozytorium kodu (svn), system obsługi zgłoszeń (redmine), obsługa continous integration (jenkins), automatyzacja testów obciążeniowych (siege), project management (podio), Cabas oraz programy pozwalające na skuteczną komunikację Wrocław (siedziba X-Coding IT Studio) - Gdańsk (biuro CABAS.pl) - Warszawa (miejsce pracy sponsora): Skype, Hangouts, Team Viewer. Taka organizacja pracy zapewniła niezakłócony przebieg projektu, a także uporządkowała współpracę między zespołem projektowym a zamawiającym. Integracje Na etapie wdrożenia konieczne okazały się integracje z systemami ułatwiającymi pracę sprzedawców, ale także zachęcających klientów do częstszych zakupów, m.in.: integracja z bazami produktów: 31
»» Brand24, produktywsieci.pl, opisy produktow.pl integracja z serwisem dzielenia przelewów dla poszczególnych sprzedawców:»» Transferuj.pl MassPayment, integracja z Google Calendar zarówno w zakresie zamówień klientów, jak i dostaw sprzedawców, wtyczka napisana w JavaScript, pozwalająca zarządzać listami zakupowymi z poziomu zewnętrznych serwisów internetowych. Z technicznego punktu widzenia, integracją było również wdrożenie aplikacji mobilnej na system Android, z wykorzystaniem Magento API. Ważnym założeniem było wdrożenie komunikacji w taki sposób, by stanowiła szynę danych, do której w łatwy sposób będzie można podłączyć aplikacje zaprojektowane na inne systemy, na przykład Apple ios. Szybkość witryny Ze względu na charakterystykę portalu, większość podstron składa się prawie w całości z dynamicznych treści, które są modyfikowane przez wielu sprzedawców, a nie, jak ma to miejsce w tego typu serwisach, przez administrację sklepu. Tym samym, w trakcie prac nad portalem jednym z wyzwań stało się zapewnienie krótkich czasów ładowania podstron. Cabas Z problemem poradziliśmy sobie, stosując zaawansowane mechanizmy, takie jak: Mod_Pagespeed oraz Redis w połączeniu z wielopoziomowym cache. Do tego konieczna była konfiguracja bazy danych w pełni wykorzystująca zasoby serwera, a także mechanizmy opóźnionego ładowania (ang. Lazy Loading). W efekcie udało się skrócić czas ładowania strony głównej z 10 do 1 sekundy bez zwiększania parametrów wydajnościowych sprzętu. Wymaganym przez klienta poziomem wydajności serwisu było utrzymanie ruchu na poziomie 1 odsłony na sekundę (w szczycie 3 odsłony na sekundę). Po pracach optymalizacyjnych serwis jest w stanie wytrzymać ruch na poziomie ciągłych 6 odsłon na sekundę przy wykorzystaniu 2 z 3 dostępnych serwerów. 32
Testy / stabilizacja Podczas prowadzenia projektów, bardzo dużą uwagę przykładamy nie tylko do poprawności projektu w sensie spełniania podstawowych założeń, ale też do niezawodności dostarczanego rozwiązania. W celu zapewnienia odpowiedniego poziomu jakości, wewnętrznie projekt był realizowany etapami, dzięki czemu łatwiej było nam zapanować nad dostarczaniem poszczególnych funkcjonalności. W każdym etapie z różną intensywnością w development zaangażowani byli niezależni testerzy. W ten sposób mogliśmy wykonać pełny cykl produkcyjny wdrożenie testy stabilizacja odbiór na mniejszych objętościowo produktach częściowych, w efekcie dostarczając spójną i stabilną całość. W testy akceptacyjne poszczególnych etapów zaangażowany był także klient i sponsor projektu, dzięki czemu mogliśmy na bieżąco utrzymywać także zgodność biznesową. Cabas Cabas w liczbach 724 Przypadków użycia i 340 wymagań funkcjonalnych ponad 700 buildów jenkinsa. Niemal 5000 rewizji svn. 2 483 529 427 B dziennego backupu danych (i ciągle rośnie) 3 1365 89 33
4.5. DALSZY ROZWÓJ Jeszcze przed zakończeniem prac nad serwisem CABAS.pl sponsor projektu zauważył tworzącą się na rynku niszę na cykliczne dostarczanie produktów regionalnych w boxach niespodziankach (cudmiodbox.pl, sielskibox.pl) i zdecydował się wdrożyć w serwisie mechanizmy niezbędne do wypromowania wśród sprzedawców tej formy oferowania swoich produktów. Dzięki elastyczności Magento nasz zespół mógł przejść do prac wdrożeniowych nowej funkcjonalności nie zaniedbując przy tym pierwotnych założeń projektowych. Poza rozwojem funkcjonalności, zespół X-Coding IT Studio będzie także odpowiedzialny za prawidłową i wydajną pracę serwisu CABAS.pl.
5. Obsługa sprzedaży i magazynu DecoKing
o Decoking Głównym obszarem działalności firmy DecoKing jest handel tekstyliami w Internecie. W początkowej fazie rozwoju firma budowała swoją sprzedaż wyłącznie na rynku polskim, intensyfikując działania sprzedażowe przez kanał Allegro. Zebrane w ten sposób doświadczenia na rodzimym rynku e-commerce umożliwiły dynamiczny rozwój i wypracowanie coraz lepszych metod maksymalizacji sprzedaży on-line. Dziś firma DecoKing jest jednym z liderów w branży z wieloletnim doświadczeniem na rynku e-commerce. Swoje produkty sprzedaje nie tylko w Polsce, ale także prowadzi intensywną ekspansję na rynki zachodnie, głównie Niemcy. Nabyte doświadczenie pozwoliło szybko wdrożyć optymalny model sprzedaży. Wraz z rozwojem firmy szybko okazało się, że wolumen zamówień, a także oczekiwania naszych zachodnich klientów w stosunku do jakości obsługi, wymagały usprawnienia procesu obsługi zamówień w firmie. 36
5.1. Rozpoczęcie współpracy nad Falconem Firma DecoKing zdecydowała się na współpracę z X-Coding IT Studio w celu skupienia działań mających rozwiązać problemy w obsłudze narastającej ilości obsługiwanych zamówień. Biorąc pod uwagę rozwój firmy, a także poniesione inwestycje, stanęliśmy przed zadaniem zaprojektowania narzędzia, które nie tylko spełni potrzeby bieżące, ale będzie również przygotowane na utrzymanie skali na przestrzeni najbliższych lat. Do głównych zadań X-Coding IT Studio należało: identyfikacja i propozycja automatyzacji kluczowych procesow biznesowych w firmie dostarczenie oprogramowania realizującego te procesy, osadzenie aplikacji w istniejącym środowisku IT w firmie (m.in. Subiekt GT). InsERT GT FV Ebay WZ magazyn Decoking Allegro Amazon Offline PRZYJĘCIE FALCON KOMPLETACJA WERYFIKACJA WYSYŁKA 37
Automatyzacja procesu biznesowego Na potrzeby zwiększenia wydajności magazynu, przeprojektowaliśmy główny proces biznesowy, który razem z procesami wspomagającymi oparty został o scentralizowany system zarządzania zamówieniami. Główny proces został zaprojektowany następująco: etapy 1. Klient składa (i opłaca) zamówienie w jednym z zewnętrznych systemów 2. Zamówienie zostaje automatycznie pobrane do systemu Falcon 3. System Falcon generuje w systemie Subiekt GT dokument WZ oraz aktualizuje stany magazynowe danego produktu we wszystkich systemach zewnętrznych 4. Zamówienie z wystawionym dokumentem WZ trafia do młodszego magazyniera, który przy pomocy kolektora danych otwiera kompletację zamówienia, kompletuje produkty oraz zamyka kompletację zamówienia 5. 6. Skompletowane przez młodszego magazyniera zamówienie trafia do starszego magazyniera, który, dla utrzymania możliwie najniższego współczynnika błędu, przeprowadza proces sprawdzenia kompletności i poprawności paczki do zamówienia Potwierdzone zamówienie trafia do automatycznego przypisania numeru listu przewozowego w integracji z DPD, po przypisaniu numeru listu przewozowego automatycznie drukowana jest etykieta na paczkę na na drukarkach termicznych Decoking 7. Po przyklejeniu gotowej etykiety na spakowaną paczkę przesyłka jest gotowa i oczekuje na kuriera, który poinformowany jest już w momencie przypisywania numeru listu przewozowego i raz dziennie odbiera przesyłki. 38
Na każdym etapie procesu kluczowymi aspektami były: spójność - wymiana danych nie może powodować niespójności lub braków w zewnętrznych systemach niezawodność - system musi zapewniać, że dane nie są obarczone błędem stabilność - system musi pracować bez przerwy (nie licząc planowanych przerw konserwacyjnych), a w przypadku wystąpienia awarii - zebrać dane różnicowo bez duplikatów skalowalność - biorąc pod uwagę rozwój przedsiębiorstwa, wystąpiła potrzeba łatwego zwiększenia wydajności platformy przy zwiększeniu obciążenia modułowość - przypięcie nowego systemu zewnętrznego nie powinno wiązać się z przebudową całości. 5.2. WDROŻENIE SYSTEMU Technologia Zdecydowaliśmy się na wdrożenie dedykowanego oprogramowania w następującej konfiguracji: Decoking Baza danych - MySQL Silnik aplikacji - Symfony 2 Framework Frontend - Dojo Framework Dzięki tak dobranej konfiguracji dużo łatwiej utrzymać wysoką wydajność aplikacji, a także przejrzystość kodu, nie tracąc przy tym możliwości dalszej rozbudowy systemu. Ważną kwestią dla nas jest również fakt, że Symfony 2 Framework dysponuje dużą ilością otwartych rozszerzeń, dzięki czemu udało się zmniejszyć koszty poniesionej inwestycji 39
w funkcjonalnościach, które nie są bezpośrednio związane z potrzebami naszego klienta. Cała komunikacja z backendem została rozwiązana w sposób asynchroniczny w formacie JSON. W połączeniu z Dojo Framework uzyskaliśmy najbardziej optymalną, w sensie wymiany danych, aplikację webową przyjazną dla użytkownika operującego na dużych zbiorach danych. M DB v SF2 DOJO v IMPLEMENTACJA I URUCHOMIENIE PRODUKCYJNE Decoking Rozmiar funkcjonalny aplikacji był na tyle duży, że zdecydowaliśmy się na wdrożenie systemu etapami tak, by systematycznie odciążać poszczególne cykliczne prace wykonywane w przedsiębiorstwie przez system Falcon. Dzięki podziałowi, udało się również efektywnie zarządzać zakresem projektu, dostosowując go do bieżących potrzeb klienta. Naturalnie pierwszym i jedynym niezmiennym etapem prac było przygotowanie struktury bazy danych i podstawowych funkcjonalności, które w przyszłości miały realizować procesy biznesowe w firmie. Był to zarazem najważniejszy etap, na efekcie którego opieraliśmy każde następne prace. 40
Każdy cykl produkcyjny związany był z dostarczeniem klientowi pełnego zestawu funkcjonalności realizującego krok biznesowy lub proces wspomagający. Dzięki temu odciążane były kolejne stanowiska pracy i następowało to tak szybko, jak tylko możliwe. INTEGRACJE Jak zostało wspomniane, aplikacja stanowiła middleware, do którego podłączone były wszystkie aplikacje zewnętrzne. Integracja wobec tego obejmowała wszystkie kluczowe systemy używane w firmie: Allegro»» kanał ecommerce»» ebay Amazon InsERT GT system obsługi kurierskiej DPD Utrzymanie jakości Od początku trwania projektu jednym z głównym wymagań klienta była niezawodność systemu. Konieczna była implementacja zaawansowanego logowania zdarzeń w systemie, oparta o poziomy ważności i eskalacje. Decoking Archiwizacji zdarzeń i kompleksowa walidacja danych na każdym etapie pozwalała bardzo szybko identyfikować błędy, odpowiednio je adresować i w efekcie podejmować działania naprawcze. W ten sposób zredukowaliśmy czas reakcji na awarię do kilkudziesięciu minut, mając kompletną informację o błędzie jeszcze przed zgłoszeniem jej przez klienta. 41
Opinia klienta Współpraca z X-Coding IT Studio rozpoczęła się w ważnym momencie dla mojej firmy. Chcąc dalej się rozwijać, musiałem podjąć stanowcze kroki zmierzające do budowy takiego systemu informatycznego, który zautomatyzowałby jak największą ilości elementów obsługi klienta i procesów sprzedażowych. W wyniku prac prowadzonych przez zespól X-Coding IT Studio, udało stworzyć się system, który pozwolił zwiększyć wolumen sprzedaży, przy utrzymaniu stałego zatrudnienia i zwiększeniu niezawodności procesu obsługi. Dzisiaj wiem, że tak szybki i efektywny rozwój mojej firmy byłby niemożliwy bez specjalistów z X-Coding IT Studio. Nasza współpraca zaowocowała w system, który jest dla mnie i moich pracowników łatwy w obsłudze, działa szybko i intuicyjnie, a także umożliwia dalszy rozwój firmy. Decoking 42
5.3. Dalszy rozwój DecoKing jest obecnie na etapie bardzo dynamicznego rozwoju. W najbliższym czasie zostaną wdrożone nowe mechanizmy usprawniające pracę magazynierów przy pierwszym etapie kompletowania przesyłki i jednocześnie zostanie zwiększona ilość kanałów sprzedaży o rynek brytyjski. Po tym etapie planowana jest rozszerzona integracja z serwisem ebay obejmująca pełną obsługę płatności i zwrotów oraz reklamacji klientów.
6. Wdrożenie systemu B2B dla netpack Sp. z o.o.
O firmie Drukarnia netpack, ze swoim przeszło 12-letnim doświadczeniem, należy do grupy liderów w branży poligraficznej. Firma może pochwalić się bogatym portfolio realizacji na rzecz odbiorców z Polski i Europy zachodniej. Na szczególną uwagę zasługuje zainteresowanie usługami przez dużych graczy na rynku. Zarówno jakość produktów, zakres usług i dynamika rozwoju firmy zostały niejednokrotnie nagrodzone prestiżowymi tytułami (m.in. Gazele Biznesu, Diamenty Forbes). Przewagą konkurencyjną firmy zdecydowanie jest zaawansowane zaplecze maszynowe (urządzenia takich firmy jak Canon czy Heidelberg), co przekłada się nie tylko na jakość wydruku, ale również na szybkość realizacji zamówienia. W połączeniu z doświadczonym zespołem produkcyjnym, netpack skutecznie zaspokaja wysokie wymagania klientów. 45
6.1 Kanał B2B Współpraca pomiędzy netpack a X-Coding IT Studio rozpoczęła się w wyniku planowanej inwestycji na uruchomienie sprzedaży internetowej w kanale B2B. Głównym celem postawionym przez firmę było zwiększenie wolumenu sprzedaży przy jak największej automatyzacji procesu realizacji zamówień (co przekłada się bezpośrednio na utrzymanie rozmiarów zespołu, a tym samym kosztów stałych). Z punktu widzenia sprzedaży internetowej, kanał B2B jest drogą, na którą decyduje się coraz więcej przedsiębiorstw. Wynika to przede wszystkim z odmiennej charakterystyki sprzedaży. W zależności od branży, może to być źródło dodatkowego przychodu na poziomie od 20% do nawet 80% w stosunku do wartości pochodzącej z kanału B2C. Co więcej, przychód ten osiągany jest przy niższych kosztach poniesionych na marketing. Warto tutaj również zauważyć, że z punktu widzenia realizacji zamówienia, szczególnie w branży zorientowanej na produkcję, najczęściej nie występuje potrzeba reorganizacji funkcjonowania przedsiębiorstwa. Często nawet, ze względu na rozmiary pojedynczego zamówienia, proces produkcyjny upraszcza się. Netpack 46
6.2. Wartość dodana optymalnego planu W przypadku tego typu projektów, zawsze rekomendujemy wykonanie pełnej analizy biznesowej. Niemożliwym jest nie docenić wniosków płynących z dobrze przeprowadzonej analityki. Wykorzystując standardy opracowane przez International Institute of Business Analysis, dokument dostarcza rzetelnej wiedzy w obszarach: procesów biznesowych zachodzących w przedsiębiorstwie, interesariuszy w projekcie, charakterystyki pracy poszczególnych stanowisk, szans i zagrożeń wynikających z potencjalnych zmian, w kontekście projektowanego oprogramowania. Łącząc wszystkie dostępne techniki (m.in. wywiad środowiskowy, opinia ekspercka, dobre praktyki), w łatwy sposób udało się zaplanować nie tylko zakres funkcjonalny oprogramowania, ale również ocenić jego wpływ na harmonię pracy firmy. Analiza biznesowa przeprowadzona w 3 miesiące przez X-Coding IT Studio zaowocowała w następujące skutki: zidentyfikowaliśmy jasno cel oraz potrzeby biznesowe stojące za inwestycją, zrozumieliśmy charakterystykę pracy i bieżące problemy, które wymagają rozwiązania, klient upewnił się, że wydaje pieniądze na dokładnie to, czego potrzebuje, firma otrzymała obiektywny obraz kondycji poszczególnych stanowisk i sugestie dotyczące optymalizacji jakości realizowanej pracy, dział techniczny otrzymał jasno sprecyzowane wymagania biznesowe oraz funkcjonalne dotyczące tworzonego oprogramowania. Netpack Widać zatem, że korzyść była obustronna, a ryzyko wzajemnego niezrozumienia zostało zminimalizowane. 47
6.3. WDROŻENIE Zdecydowaliśmy się na realizację projektu zgodnie z metodologią zwinną, korzystając ze SCRUM. To, co zadecydowało o takim podejściu, to przede wszystkim fakt, że dzięki temu firma netpack, mogła zacząć w jak najkrótszym czasie korzystać z dostarczanych przez zespół modułów wchodzących w skład całego systemu. Metodologia zwinna i odpowiednio zaplanowane etapy pozwoliły także na miękkie przejście na nowy system, eliminując tym samym potencjalne zagrożenie związane z przestojem w produkcji. Pracownicy, którzy jako pierwsi uzyskali dostęp do nowego systemu pomogli stworzyć wokół niego pozytywną atmosferę oczekiwania na nowe funkcjonalności, które niezbędne były do rozwoju firmy netpack. Tym samym zminimalizowaliśmy wpływ pracowników negatywnie nastawionych do zmian w przedsiębiorstwie. daily review feedback zadanie REJESTR ITERACJA PRODUKT Netpack 48
System został podzielony na następujące moduły: moduł EDI moduł projektowy moduł generowania i przesyłania faktur moduł generowania raportów moduł weryfikacji stanu zamówienia moduł wykrywania błędów moduł logistyczny Całość systemu została oparta o framework Symfony 2.3, który bardzo dobrze wspiera modułową architekturę systemu i dostarcza wielu podstawowych funkcjonalności takich jak mechanizm uwierzytelnienia i autoryzacji użytkowników, generowanie pdf, obsługa cache. W module EDI została zaprojektowana całość komunikacji i wymiany informacji pomiędzy partnerami a firmą netpack. System udostępnia API, które obsługuje zarówno protokół REST jak i SOAP, co ułatwia integrację poszczególnym partnerom. W module faktur zaimplementowany został automatyczny podpis elektroniczny dołączany do wygenerowanego dokumentu PDF. Partnerzy netpack mają dzięki temu mechanizmowi pewność, że faktura pochodzi od firmy netpack i nie została zmodyfikowana podczas wymiany informacji pomiędzy przedsiębiorstwami. Netpack 49
6.4. SCRUM w netpack Małe kroki Wdrożenie projektu zostało podzielone na dwutygodniowe sprinty. To z jednej strony najkrótszy okres potrzebny na wdrożenie spójnych funkcjonalnie elementów systemu, z drugiej strony przy większym czasie wzrasta ryzyko obniżenia jakości produktów cząstkowych. Wyjątkiem od wyżej przyjętej reguły był pierwszy sprint, trwający 5 tygodni, w którym ustabilizowaliśmy środowiska testowe oraz devcornery i dostarczyliśmy podstawową aplikację pod przyszły rozwój. Testy, testy, testy Stałym elementem każdego sprintu było ciągłe wsparcie testerów aplikacji. Przy takich rozmiarach projektu, była to jedna z kluczowych ról, dzięki której zachowaliśmy jakość kolejnych produktów cząstkowych. Rodzaje testów, które wykonywaliśmy iteracyjnie: testy funkcjonalne - przede wszystkim pod kątem spełniania user story, ale także użyteczności aplikacji testy wydajności - mające na celu zapewnienie utrzymania wysokiego poziomu ruchu, zgodnie z przewidywaniami biznesowymi, testy bezpieczeństwa - podatność aplikacji na typowe ataki z użyciem narzędzi automatycznych (podatność na SQL Injection, XSS, CSRF), Netpack 50
Rola klilenta Od samego początku prac staraliśmy się angażować klienta w codzienną rutynę zespołu programistycznego. Wobec tego interesy klienta były reprezentowane podczas codziennych standup meetingów, zarówno scrum master jak i programiści byli dobrze skomunikowani z poszczególnymi działami, w których wdrażaliśmy system. W efekcie takich działań my dużo szybciej reagowaliśmy na zmiany, klient był stale dobrze poinformowany, a przede wszystkim poszczególne etapy były odbierane praktycznie w trybie ciągłym. Agile się opłaca Metodologia zwinna w przypadku tego projektu była najlepszym możliwym wyborem. Dobra komunikacja, efektywna praca zespołu i rezultaty zawsze zgodne z oczekiwaniami to główne argumenty za. Dodatkowym, ale również wartym podkreślenia rezultatem, były same produkty cząstkowe, które etapami wypierały stare rozwiązania i stopniowo stabilizowały się w środowisku przedsiębiorstwa. Netpack 51
efekty Głównym efektem prac jest system, który zaspokaja potrzeby biznesowe przedsiębiorstwa w zakresie realizacji zamówień w kanale B2B. Warto jednak wspomnieć o pozostałych pozytywnych konsekwencjach realizacji projektu: Zoptymalizowaliśmy główne procesy biznesowe, co w efekcie pozwoliło utrzymać zatrudnienie przy trzykrotnie większym obłożeniu, Poszczególne stanowiska uczestniczące w realizacji zamówień zostały udrożnione i otrzymały dedykowane rozwiązania, które wnoszą większą ergonomię pracy, Wdrożone narzędzia analityczne pozwalają lepiej estymować kosztorysowanie, Obniżony został średni koszt produkcji jednego zamówienia, Mechanizmy monitorowania i eskalacji umożliwiły uszczelnienie kontroli jakości. Ponadto udało się również scentralizować zarządzanie projektami z wszystkich kanałów, którymi dysponuje firma. Netpack 52
6.5. DALSZY ROZWÓJ Biorąc pod uwagę, że prognoza zakłada uzyskanie przychodu na poziomie 60% z kanału B2B, a także zadowolenie klienta z wdrożonych rozwiązań, firmy podjęły decyzję o długoterminowej współpracy w zakresie rozwoju i utrzymania oprogramowania, a także optymalizacji kanału e-commerce, w którym realizowana jest sprzedaż B2C. Celem długoterminowym współpracy jest przede wszystkim podniesienie konwersji w obydwu kanałach, z wykorzystaniem m.in. inbound marketingu, a także dropshippingu.
X-Coding IT Studio Ul. Czysta 4 50-013 Wrocław Polska Kamil Mikołajczyk Account Manager k.mikolajczyk@x-coding.pl (+48) 665 442 183 www.x-coding.pl