Umiejętność szybkiego dostosowania się do zmiennych oczekiwań klientów w świecie cyfrowym, polega na ciągłym eksperymentowaniu i błyskawicznym uczeniu się. Możliwe jest to dzięki skróceniu cykli produkcyjnych oprogramowania, czyli szybkiemu przechodzeniu od pomysłu do wdrożenia i wyciągnięciu wniosków biznesowych z udostępnionej usługi dla klientów. W świecie usług cyfrowych zwyciężają bowiem organizacje, które potrafią adaptować się do szybko zmieniających się oczekiwań klientów i warunków rynkowych.
Świetnym przykładem jest rynek mediów, który na początku XXI wieku przeszedł proces transformacji cyfrowej. Dotychczas popularne sklepy z płytami muzycznymi zostały wyparte przez bardziej elastyczne firmy technologiczne, takie jak Apple. Fizyczne nośniki muzyki zastąpiła ich zdigitalizowana wersja. Zamiast całych płyt, klient mógł zakupić pojedyncze piosenki z najnowszych wydań przez aplikacje w telefonie. Dziś ogromne znaczenie mają serwisy muzyki cyfrowej, które oferują usługi w oparciu o streaming. Spotify to jedna z pierwszych firm, która wdrożyła i wyskalowała zwinny model dostarczania oprogramowania. Dzięki temu jest w stanie konkurować z takimi technologicznymi gigantami, jak Apple.
Firma technologiczna z licencją bankową
W PKO Banku Polskim przez wiele lat pracowaliśmy w modelu kaskadowym, w którym cykl produkcyjny oprogramowania składał się z fazy analizy i planowania, a następnie projektowania, budowy, testowania i wdrożenia. Organizacyjnie byliśmy podzieleni na zespoły odpowiedzialne za poszczególne etapy prac. Cykl produkcyjny w modelu kaskadowym od pomysłu do wdrożenia trwał od 6 do 12 miesięcy.
Jednym z głównych dla nas wyzwań było podjęcie decyzji w jakich obszarach banku skalujemy nowy model prac. Transformację rozpoczęliśmy w miejscu, w którym były największe wyzwania rynkowe, czyli od systemów szybkozmiennych. Są to głównie aplikacje kanałowe wykorzystywane bezpośrednio przez naszych klientów, aplikacje obsługujące procesy sprzedaży i obsługi produktów oraz aplikacje analityczne. W trakcie wdrożenia zauważaliśmy, że nowy model pracy nie wszędzie się sprawdza i nasza transformacja musi być dostosowana zarówno do wyzwań rynkowych jak i obecnej architektury technologicznej oraz kultury organizacyjnej.
W momencie, w którym zaczęliśmy bardziej dynamicznie rozwijać aplikacje używane bezpośrednio przez naszych klientów zauważaliśmy, że w tym obszarze model kaskadowy nie sprawdza się i potrzebujemy bardziej zwinnych metod, które pozwolą nam zmniejszyć czas poświęcony na dostarczenie nowego oprogramowania. Zaadaptowane metodyki zwinne Agile i DevSecOps w wybranych obszarach naszej organizacji pozwoliły na skrócenie cyklu produkcyjnego od 2 do 12 tygodni.
Dziś uważamy się za firmę technologiczną z licencją bankową i konkurujemy głównie z graczami z poza sektora bankowego. Z jednej strony wykraczamy poza tradycyjne usługi finansowe, z drugiej zaś strony na tradycyjny dla nas rynek finansowy wchodzą FinTech’y oraz tacy giganci technologiczni, jak Apple, Amazon czy Facebook. Aby konkurować na zmieniającym się rynku, musieliśmy pełną parą przyspieszyć i wyskalować nowy model na pozostałą część organizacji.
Na czym polegała transformacja do modelu DevSecOps?
Wdrożenie i skalowanie modelu DevSecOps w banku PKO BP obejmuje trzy główne obszary: organizacyjny, technologiczny i kulturowy. Obszar organizacyjny polega na przejściu z organizacji zorientowanej funkcjonalnie na organizacje zorientowaną na produkty. Zamiast podziału na zespoły biznesowe, rozwój oprogramowania, zapewnienie jakości, bezpieczeństwo, utrzymanie oprogramowania i infrastruktury zaczęliśmy tworzyć zespoły multidyscyplinarne odpowiedzialne za rozwój i utrzymanie danego produktu. Dodatkowo w obszarze technologicznym – czerpiąc inspiracje z zespołów Site Reliability Engineering w Google – zaczęliśmy tworzyć multidyscyplinane zespoły odpowiedzialne za poszczególne platformy technologiczne, bo platforma to przecież też produkt, który ma swojego klienta.
W obszarze technologicznym postawiliśmy na:
- Standaryzację i automatyzację cyklu wytwórczego oprogramowania – wdrażając podejście Continuous Delivery, które polega na jak największej automatyzacji komplikacji kodu, testowania, wdrażania i monitorowania aplikacji.
- Wdrożenie zwinnej architektury aplikacji – opartej na mikroserwisach dostarczanych w kontenerach.
- Migrację do chmury obliczeniowej – z wykorzystaniem zasobów Operatora Chmury Krajowej oraz jego partnerów, zapewniającej nam – bezpieczny i zgodny z przepisami dostęp – do najbardziej innowacyjnych technologii w chmurze publicznej takich dostawców, jak m.in. Google, oraz automatyczny i elastyczny dostęp do infrastruktury sprzętowej.
W obszarze kultury organizacyjnej kluczowy nacisk kładziemy na współpracę i odpowiedzialność za dostarczone produkty oraz ciągły rozwój kompetencji pracowników. Jesteśmy bowiem świadomi, że o wykwalifikowanych pracowników musimy walczyć z największymi technologicznymi firmami świata, które mają w Polsce centra outsourcingowe. Dlatego zależy nam, aby zapewnić naszym pracowniom najwyższe standardy prac oraz dostęp do najnowszych technologii, aby ciągle mogli się rozwijać.
Największe wyzwania związane z wdrożeniem zwinnych metod
Jednym z głównych wyzwań było podjęcie decyzji w jakich obszarach banku skalujemy nowy model prac. Transformację rozpoczęliśmy w miejscu, w którym były największe wyzwania rynkowe, czyli od systemów szybkozmiennych. Są to głównie aplikacje kanałowe wykorzystywane bezpośrednio przez naszych klientów, aplikacje obsługujące procesy sprzedaży i obsługi produktów oraz aplikacje analityczne. W trakcie wdrożenia zauważaliśmy, że nowy model pracy nie wszędzie się sprawdza i nasza transformacja musi być dostosowana zarówno do wyzwań rynkowych jak i obecnej architektury technologicznej oraz kultury organizacyjnej. W obszarach, które nie wymagają częstych zmian i cechują się większą stabilnością bardziej sprawdza się model kaskadowy. Wdrażanie agile „na siłę” nie działa, dlatego odpowiedzialnie podejmujemy decyzję w których obszarach banku go wdrażamy.
Dziś uważamy się za firmę technologiczną z licencją bankową i konkurujemy głównie z graczami z poza sektora bankowego. Z jednej strony wykraczamy poza tradycyjne usługi finansowe, z drugiej zaś strony na tradycyjny dla nas rynek finansowy wchodzą FinTech’y oraz tacy giganci technologiczni, jak Apple, Amazon czy Facebook. Aby konkurować na zmieniającym się rynku, musieliśmy pełną parą przyspieszyć i wyskalować nowy model na pozostałą część organizacji.
Kolejnym wyzwaniem jest skala działania na wielu płaszczyznach równocześnie. W naszym przypadku skalowanie DevSecOps obejmuje większość linii biznesowych, ponad 2000 pracowników oraz ok. 50 krytycznych aplikacji. A to wszystko robimy tak, aby nie zwolnić rozwoju naszego biznesu, ale systematycznie przyspieszać, ciągle dostosowując się do zmiennych wymagań klientów i napędzając rozwój w nowych obszarach biznesowych.
Adam Marciniak, wiceprezes zarządu Banku PKO BP nadzorujący Obszar Informatyki