CDOArchitektura IT

Cyfrowa droga do doskonałości, czyli jak zbudowaliśmy GOonline

Jak sprawić, aby Bank BNP Paribas stał się jeszcze bardziej rozpoznawalnym graczem bankowości w Polsce pod kątem rozwiązań zdalnych i kanałów Digital? Jak poprowadzić projekt w oparciu o postulaty Agile w dużej organizacji, powstałej z połączenia kilku mniejszych banków? Jak wymienić wszystkie aplikacje obsługujące zdalnie klientów detalicznych w trakcie łączenia systemów bankowych? Te podstawowe pytania – oraz wiele innych – zadawałem sobie na początku i w trakcie trwania projektu wdrożenia GOonline – aplikacji web oraz platformy Digital obsługującej klientów detalicznych banku.

Cyfrowa droga do doskonałości, czyli jak zbudowaliśmy GOonline

Rynek bankowości w Polsce należy do najbardziej konkurencyjnych w Europie pod względem innowacyjności i wykorzystywanych technologii. W sektorze działa duża liczba podmiotów i nikt nie zajmuje pozycji monopolisty. Większość z czołowych firm podjęła działania nastawione na transformację organizacyjną i technologiczną. To przekłada się na wysoki poziom w zakresie oferowanych usług (np. usługi płatnicze – BLIK, płatności zbliżeniowe) oraz oferty produktów bankowych wspartych doskonałymi, prostymi procesami sprzedaży z wykorzystaniem kanałów zdalnych. Branża korzysta z najlepszych praktyk projektowania przyjaznego User Experience oraz nowoczesnych standardów i technologii. Aplikacje mobilne i web charakteryzują się dużą dostępnością, wydajnością i przyjaznym interfejsem.

Bank BNP Paribas na fali dynamicznego wzrostu

Bank BNP Paribas jest obecnie 6. co do wielkości bankiem pod względem wielkości aktywów. Fuzje, w wyniku których powstał dzisiejszy Bank BNP Paribas, doprowadziły do znacznego wzrostu organizacyjnego, ale też przyniosły nowe wyzwania. Większość z zespołów składa się z osób wywodzących się z różnych kultur organizacyjnych i posiadających różne przyzwyczajenia, z którymi trzeba było się zmierzyć.

Skupienie się na priorytetach związanych z łączeniem organizacji i systemów bankowych miało wpływ na zdezaktualizowanie technologii i narzędzi bankowości internetowej. Kilkanaście aktualizacji aplikacji w roku,  osiem godzin niedostępności miesięcznie wynikających z prac planowanych oraz awarii, 1,5 miesiąca czasu potrzebnego na dostarczenie nowej funkcjonalności do klientów to tylko niektóre ze wskaźników oddających wyzwania sytuacji, w której znajdował się bank, kiedy stanąłem przed zadaniem poprowadzenia projektu wdrożenia GOonline. Nowej aplikacji, która miała spełniać funkcję interfejsu bankowości internetowej oraz świadczyć logikę biznesowej i udostępniać dane dla wszystkich kanałów zdalnych klienta detalicznego.

Przeczytaj również
Tworzenie oprogramowania, puszczone na żywioł kończy się zwykle tak samo

Do codziennej pracy wybraliśmy framework Scrum wsparty mechanizmami skalowania Nexus. Zapewniliśmy dołączenie do Zespołów Product Ownerów, którzy na bieżąco wspierają tworzenie koncepcji i odbierają gotowy produkt. Wszystkie narzędzia wspierające proces wytwarzania i dostarczania oprogramowania do Klientów (Continuous Integration / Continuous Delivery) oraz monitoring zostały od stworzone podstaw przez zespół. Dzięki temu, przejęcie kwestii własności nad produktem i poczucie odpowiedzialności było naturalnym i nieodłącznym elementem naszej pracy. Takie podejście zapewniło nam odpowiednią elastyczność w sytuacji, gdy później musieliśmy łączyć zadania wynikające z wdrożenia GOonline z uczestniczeniem w migracji klientów banku Raiffeisen.

Celem było zapewnienie klientom nowoczesnego, zaawansowanego technologicznie, wygodnego, intuicyjnego i szybkiego narzędzia, a tym samym podkreślenie   roli i miejsca Banku BNP Paribas na mapie działających w kraju instytucji finansowych dostarczających nowoczesne rozwiązania Digital. Dodatkowym utrudnieniem dla tego przedsięwzięcia był zbliżający się projekt łączenia systemów bankowych po fuzji.

Zmiany sposobu pracy i kultury

Pierwszym krokiem było przygotowanie odpowiedniej struktury organizacyjnej i wybór metodyki pracy. Było dla mnie jasne, iż musimy podążyć za trendami i zapewnić zwinne metody pracy (Agile) oraz skupić w jednym miejscu wszystkie kompetencje rozwojowe i utrzymaniowe DevOps. W celu zapewnienia niezależności oraz warunków do kształtowania nowych postaw postawiliśmy na podejście z wydzielonym Scrum Studio, w którego skład weszły osoby w całości dedykowane do tego przedsięwzięcia i reprezentujące niezbędne kompetencje: projektanci UX, graficy, analitycy biznesowi i techniczni, architekci, developerzy, testerzy, osoby odpowiedzialne za operacje na produkcji i monitoring. Dzięki temu mogliśmy zachęcić i stymulować samodzielność oraz samoorganizację. Wszystkie potrzebne narzędzia i umiejętności były na miejscu.

Do codziennej pracy wybraliśmy framework Scrum wsparty mechanizmami skalowania Nexus. Zapewniliśmy dołączenie do Zespołów Product Ownerów, którzy na bieżąco wspierają tworzenie koncepcji i odbierają gotowy produkt. Wszystkie narzędzia wspierające proces wytwarzania i dostarczania oprogramowania do klientów (Continuous Integration / Continuous Delivery) oraz monitoring zostały stworzone od podstaw przez zespół. Dzięki temu, przejęcie właścicielstwa nad produktem i poczucie odpowiedzialności było naturalnym i nieodłącznym elementem naszej pracy. Takie podejście – do pracy i kultury funkcjonującej w zespole – zapewniło nam odpowiednią elastyczność w sytuacji, gdy później musieliśmy łączyć zadania wynikające z wdrożenia GOonline z jednoczesną migracją klientów z wcześniej działających systemów bankowych na nowy.

Przeczytaj również
Silky Coders: mamy unikalną możliwość testowania pomysłów na ogromną skalę

Technologie oparte o mikroserwisy i doskonałe procesy

W efekcie prac zespołu powstała aplikacja GOonline, będąca platformą składającą się z ponad 60 mikroserwisów i obsługującą ponad 1 mln aktywnych użytkowników. Ważnym elementem rozwiązania stały się narzędzia wspierające jej funkcjonowanie i dostarczanie aplikacji do klientów oraz ich monitorowanie. Jako platformę do uruchomienia środowiska mikroserwisowego wykorzystujemy Open Shift. Zapewnia nam ona pełną skalowalność oraz automatyzację procesówy utworzenia i odzyskania kontenerów.

W efekcie prac powstała aplikacja GOonline, będąca platformą składającą się z ponad 60 mikroserwisów i obsługującą ponad 1 mln aktywnych użytkowników. Jako platformę uruchomieniową środowiska mikroserwisowego wykorzystujemy Open Shift. Zapewnia nam ona pełną skalowalność oraz automatyzujący procesy utworzenia i odzyskania kontenerów. Do obsługi procesu tworzenia środowisk aplikacji wykorzystujemy nam Jenkins, który uruchamia skrypty Ansible lub Liqidbase (baza danych). Z kolei w celu kontroli wersji wystandaryzowanego repozytorium służą nam BitBucket oraz Nexus. Bezpieczeństwo zapewniamy skanując kod i repozytoria z wykorzystaniem SonarQube i Nexus IQ. W każdym procesie instalacji aplikacji wywoływane są testy integracyjne napisane przy użyciu Jmetera oraz testy GUI przygotowane w Selenium. Dzięki temu deweloperzy dostają niezwłocznie informację zwrotną odnośnie jakości przygotowanego kodu.

Do obsługi  procesu tworzenia środowisk aplikacji wykorzystujemy Jenkins, który uruchamia skrypty Ansible lub Liqidbase (baza danych). Z kolei w celu kontroli wersji wystandaryzowanego repozytorium służą nam BitBucket oraz Nexus. Bezpieczeństwo zapewniamy skanując kod i repozytoria z wykorzystaniem SonarQube i Nexus IQ. W każdym procesie instalacji aplikacji wywoływane są testy integracyjne napisane przy użyciu Jmetera oraz testy GUI przygotowane w Selenium. Dzięki temu deweloperzy dostają niezwłocznie informację zwrotną o jakości przygotowanego kodu. Monitoring rozwiązania stworzyliśmy w oparciu o stack ELK, natomiast warstwę wizualizacji zapewnia Grafana. Całość składa się na w pełni zautomatyzowany, wystandaryzowany i bezpieczny proces dostarczania aplikacji do klientów. Nie występuje w nim żadna czynność ręczna, a pełne środowisko GOonline jesteśmy w stanie stworzyć w niecałe 40 minut.

Przeczytaj również
Polacy nie ufają reklamom w internecie, chcą otrzymywać spersonalizowane komunikaty

Korzyści biznesowe nowego podejścia

Takie podejście do technologii, architektury oraz automatyzacji procesów umożliwiło nam dostosowanie się do potrzeb Product Ownerów w zakresie częstotliwości i elastyczności dostarczania zmian. Skróciliśmy sześciokrotnie nasz Lead Time i pięciokrotnie zwiększyliśmy częstotliwość wdrożeń w stosunku do wartości sprzed rozpoczęcia prac. GOonline udowodnił jakość i stabilność przyjmując największy ruch klientów w dniu połączenia operacyjnego Banku BNP Paribas i Raiffeisen Bank Polska, zaledwie miesiąc po pierwszym uruchomieniu produkcyjnym. Nową jakość funkcjonalną i techniczną dostrzegli zarówno klienci (przyrost użytkowników kanałów GOonline wyniósł 80 proc. w 12.2020 r. vs 12.2019 r.), jak i jurorzy takich konkursów, jak Złoty Bankier (drugie miejsce w kategorii wygody użytkownika) oraz dziennikarze Newsweek Polska (drugie miejsce w kategorii bankowość zdalna).

Wprowadzamy zmiany bez niedostępności

Najnowsze technologie, automatyzacja oraz kwestie właścicieli stosowanych narzędzi pozwoliło nam wykonać kolejny krok, rewolucyjny na rynku bankowości w Polsce. Wszystkie zmiany i wdrożenia realizujemy bez niedostępności aplikacji GOonline. Jest to możliwe dzięki architekturze mikroserwisowej, modelowi blue-green deploymenu oraz strukturze dostępu do aplikacji pozwalającej podejrzeć jej funkcjonowanie, zanim tę możliwość uzyskają Klienci. Jest to bardzo bezpieczny i stabilny proces, który niejednokrotnie wykonujemy w trakcie dnia roboczego, czyli w czasie największej aktywności użytkowników. Takie podejście również przełożyło się na uznanie ekspertów wyrażone wyróżnieniem w kategorii dostępność w konkursie Złoty Bankier (trzecie miejsce – najwyższe wśród top sześciu banków w Polsce).

Wdrożenie GOonline było fascynującą przygodą w kilku wymiarach. Przedefiniowaliśmy podejście banku w zakresie stosowanych metodyk pracy oraz kultury organizacyjnej. Eksperymentalnie wdrożyliśmy najnowsze technologie i udowodniliśmy ich jakość oraz stabilność w praktyce. Dzięki temu otrzymaliśmy potwierdzenie skuteczności pracy w metodykach zwinnych i zachęciliśmy inne obszary do stosowania podejścia Agile. Z punktu widzenia całej organizacji był to przełomowy krok w kierunku transformacji, natomiast Klienci zobaczyli instytucję stawiającą na ich jeszcze większą wygodę i jakość w obszarze digital.

Michał Choiński, Head of IT Digital Channels Department, BNP Paribas Bank Polska

Artykuł ukazał się na łamach Magazynu ITwiz nr. 1/2021. Zamów poniżej:

Magazyn ITwiz 1/2021

Tagi

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.