SPis TREŚCI 1. Kompleksowe wdrożenie startupu CABAS.pl 03 2. Pełna obsługa sprzedaży i magazynu oraz integracje z systemami wewnętrznymi Decoking 12 3. Wdrożenie systemu B2B dla Drukarnia SPEED Sp. z o.o 21 4. Dedykowana aplikacja mobilna dla TIM S.A. 31 2
1. 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. 4
1.1. Rozpoczęcie współpracy Cabas + + INNOWACJA TECHNOLOGIA MOBILNOŚĆ WARTOŚĆ DODANA PROJEKTU 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. 5
1.2. TECHNOLOGIA Cabas 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. 1.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, 6
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. Cabas 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. 1.4. Wdrożenie systemu 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. 7
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ę. Cabas 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), 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: 8
»» Brand24, produktywsieci.pl, opisy produktow.pl integracja z serwisem dzielenia przelewów dla poszczególnych sprzedawców: Cabas»» 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. 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. 9
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. Cabas 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 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 10
1.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.
2. 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. 13
2.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. Decoking 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 ebay magazyn WZ FV allegro amazon PRZYJĘCIE FALCON offline KOMPLETACJA WERYFIKACJA WYSYŁKA 14
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 Decoking 2. Zamówienie zostaje automatycznie pobrane do systemu Falcon 3. 4. 5. 6. 7. System Falcon generuje w systemie Subiekt GT dokument WZ oraz aktualizuje stany magazynowe danego produktu we wszystkich systemach zewnętrznych 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 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 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. 15
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 Decoking 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. 2.2. WDROŻENIE SYSTEMU Technologia Zdecydowaliśmy się na wdrożenie dedykowanego oprogramowania w następującej konfiguracji: 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 16
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 V Decoking DB SF2 C DOJO IMPLEMENTACJA I URUCHOMIENIE PRODUKCYJNE 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. 17
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: Decoking 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. 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. 18
Decoking 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. 19
2.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.
3. 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. 22
3.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. Netpack B2B 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ę. 23
3.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, Netpack 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. Widać zatem, że korzyść była obustronna, a ryzyko wzajemnego niezrozumienia zostało zminimalizowane. 24
3.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. Netpack daily review feedback zadanie REJESTR ITERACJA PRODUKT 25
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. Netpack 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. 26
3.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. Netpack 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), 27
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. Netpack 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. 28
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, Netpack 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. 29
3.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.
4. 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. 32
4.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. 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. TIM 33
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. 4.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. TIM 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. ios Android Core Magento API TIM.PL ŚRODOWISKO INFORMATYCZNE FIRMY 34
4.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 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ą. TIM 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. 35