Jako Chief Information Officer w Sii, na co dzień jestem odpowiedzialny za rozwój i utrzymanie systemów informatycznych, wspieranie klientów firmy przy realizacji nowych projektów wdrożeniowych oraz wytyczaniu strategicznych kierunków rozwoju. Moim zdaniem dwa największe wyzwania, z jakimi musi się obecnie mierzyć branża IT, to optymalizacja krajobrazu aplikacyjnego i migracja systemów IT do chmury.
Optymalizacja krajobrazu aplikacyjnego: czym jest i kiedy staje się krytyczna dla organizacji?
W każdej dużej firmie „Time to market” jest jednym z kluczowych wyzwań stawianych przed zespołami dostarczającymi rozwiązania IT. Powoduje to, że czas realizacji zmiany, wynikającej z potrzeby biznesowej, jest bardziej istotny, niż spójność architektury korporacyjnej aplikacji, które firma posiada. Potrzeba szybkiej automatyzacji kluczowych procesów biznesowych powoduje, że są one tworzone w oderwaniu od istniejących obiegów danych w organizacji. Integracja, centralizacja i uspójnienie danych, tworzonych w ramach nowego procesu, ma być realizowane w kolejnym etapie, którego priorytet z czasem maleje i ostatecznie zostaje zaniechany. A ostatni, chyba mój „ulubiony” powód, przez który ład aplikacyjny jest bardzo trudny do utrzymania, to PoC (Proof of Concept). Ma on jedynie zweryfikować wykonalność pomysłu oraz elastyczność rozwiązania. Często udany PoC płynnie przechodzi w aplikację działającą produkcyjnie na szeroką skalę. Tego typu decyzja niesie za sobą ciężar problemów opisanych powyżej. Ponadto, z racji skalowania na rozwiązanie testowe, generuje wiele barier wydajnościowych oraz rozwojowych, gdyż ze względu na to, że był to „tylko PoC”, jakość kodu oraz optymalizacja wydajnościowa nie spełniają żadnych standardów tworzenia docelowego rozwiązania produkcyjnego.
Ten przydługi wstęp opisuje efekt końcowy – mamy w organizacji dużą liczbę aplikacji, które realizują podobne procesy w podobny sposób, wykorzystując zbliżony zestaw informacji, a są całkowicie od siebie odseparowane.
Posłużę się przykładem. Często różne departamenty wykorzystują narzędzia tej samej klasy (np. CRM), wdrożone bardzo szybko i będące doskonałą odpowiedzią na problemy i potrzeby konkretnego działu, ale nie mają szans na wspieranie procesów przekrojowych. Kończy się to tym, że mamy liczne bazy danych klientów, często zawierających te same informacje. Utrudnia to przeprowadzanie spójnych akcji marketingowych. Kierujemy wielokrotnie ofertę produktową do tych samych odbiorców, którzy już kilka razy zadeklarowali, że sobie takiej komunikacji nie życzą, a w dobie RODO dochodzi dodatkowe i brzemienne w skutkach niebezpieczeństwo nieposiadania lub błędnego zarządzania zgodami związanymi z przetwarzaniem danych osobowych.
W efekcie mamy w firmie architekturę spaghetti, która nie pozwala na spójne zarządzanie procesami i danymi w organizacji. Powoduje to, że informacja zarządcza jest niespójna, co sprawia, że decydenci nie ufają danym, na bazie których mają podejmować decyzje. Koszt utrzymania systemów IT jest niewspółmiernie wysoki do skali wartości dodanej, którą wnosi do organizacji (wiele systemów tej samej klasy wymaga ponoszenia kosztów licencji, zespołów utrzymaniowych i rozwojowych oraz często dodatkowo białkowy interfejs, przenoszący dane z jednego systemu do drugiego). W tym momencie na najwyższym szczeblu organizacji najczęściej podejmowana jest decyzja o uspójnieniu procesów, ograniczeniu liczby wykorzystywanych narzędzi IT i optymalizacji kosztów utrzymania poprzez rezygnację ze wsparcia wewnętrznego lub zewnętrznego aplikacji, w zależności od modelu, w jakim dana organizacja funkcjonuje.
Optymalizacja krajobrazu aplikacyjnego: najczęstsze wyzwania
Decyzja o optymalizacji jest prosta do podjęcia i mało kontrowersyjna sama w sobie. Wszyscy się zgadzamy, że lepiej mieć w firmie jedno narzędzie do zarządzania relacjami z klientami, jedno miejsce do przechowywania dokumentów i jeden Workflow automatyzujący procesy biznesowe. Dużo trudniej jest ustalić, jak ma wyglądać docelowa architektura systemów IT, a jeszcze trudniej przeprowadzić zmianę, która reorganizuje strukturę całego biznesu. Każdy system ma swoich zwolenników, także w obszarze biznesowym, wykorzystujących dobrodziejstwa automatyzacji, jak i IT utrzymującego rozwiązanie. Każdy interesariusz zachwala i broni sposobu pracy, do którego jest przyzwyczajony, krytykując wszelkie kontrpropozycje, określając je jako drogie, nieoptymalne i potencjalnie zabijające jego biznes, a to w końcu on zarabia pieniądze dla firmy i z tym faktem ciężko jest polemizować. Ten konflikt interesów często doprowadza do sytuacji, w której programy optymalizacyjne upadają i wszyscy godzą się z nie rozwiązującym problemów statusem Quo.
Migracja systemów IT do chmury jako szansa na optymalizację krajobrazu aplikacyjnego
Moim zdaniem nie ma złotego środka na rozwiązanie tego problemu. Jednym z kluczowych elementów, bez którego optymalizacja nie ma szans dojść do skutku, jest bardzo wysokie umocowanie sponsora projektu oraz jego duże zaangażowanie i aktywność przy monitorowaniu i promowaniu projektu. Poziom C-Level jest według mnie nieodzowny, gdyż problemy dotykają różnych obszarów, biznesów i grup interesów, więc konieczna jest duża moc sprawcza, aby projekt mógł dojść do skutku. COO, CFO oraz CEO to role, które z założenia zawsze patrzą na całokształt firmy, a nie partykularne interesy danego obszaru biznesowego.
Lecz umocowanie programu to nie jedyny element kluczowy z perspektywy realizacji projektu. Drugim, bardziej kompleksowym, jest kwestia jak zbudować organizację IT, aby pogodzić interesy wszystkich grup, i nie zostać posądzonym o stronniczość. Według mnie najlepszym rozwiązaniem jest połączenie tych działań z drugim największym wyzwaniem, jakie stoi przed IT w dzisiejszych czasach, czyli chmurową rewolucją.
Wszyscy najwięksi dostawcy oprogramowania jasno dali do zrozumienia, że przyszłość rozwoju systemów IT to chmura. Udowadniają to poprzez strumień inwestycyjny nakierowany na rozwiązania chmurowe i nowe polityki licencyjne, które wymuszają na odbiorcach poważne rozważenie chmury jako ciekawej alternatywy dla rozwiązań on-premise. Nie uciekniemy od chmury, więc uważam, że warto upiec dwie pieczenie przy jednym ogniu.
Warto wykorzystać program optymalizacyjny wychodząc z poziomu czystej karty. Dzięki temu można oderwać się od utartych sposobów rozwiązywania problemów przez pryzmat technologii, jakie chcielibyśmy wykorzystać do rozwiązania kwestii organizacyjnych. Takie podejście pozwala nie tylko odciąć się od uwarunkowań procesowych, ale też od nowa ułożyć całą infrastrukturę sprzętową oraz zaprojektować warstwowy rozwój oprogramowania, bez korzystania z dobrze znanych utartych ścieżek.
Jak zacząć?
Dla organizacji przyzwyczajonej do rozwiązań w pełni zarządzanych poprzez własne zasoby infrastrukturalne, wejście do chmury jest decyzją zmuszającą wszystkich interesariuszy procesu do wyjścia z własnej strefy komfortu. Potrzebna jest zmiana sposobu myślenia, zdobycie nowej wiedzy o utrzymywaniu oraz rozwoju systemów i procesów w zupełnie nowym ekosystemie, całkowicie odmiennym od tego znanego dotychczas. Według mnie najlepiej zacząć od istotnego procesu biznesowego, który do tej pory nie był efektywnie wspierany przez narzędzia IT, lub jest w znacznym stopniu odseparowany od najbardziej połączonych ze sobą procesów w firmie. Takie podejście pozwoli na zweryfikowanie nowej technologii, nauczenie się nowego procesu wytwarzania oprogramowania oraz zarządzania zmianą.
Bardzo istotne jest, aby jednym z elementów PoC wejścia w chmurę była szeroka promocja tego wydarzenia w organizacji, aby zwiększyć zaangażowanie osób podchodzących do zmiany z entuzjazmem, przekonać niezdecydowanych i zmniejszyć niechęć osób nastawionych negatywnie.
Przy tak dużej rewolucji zarządzanie zmianą w obszarze marketingowo-komunikacyjnym może się okazać dużo trudniejsze i bardziej istotne, niż same aspekty techniczne, z którymi zawsze ostatecznie jesteśmy w stanie się uporać. Pierwsze wdrożenie powinno być bardzo wnikliwie monitorowane, aby pozwoliło organizacji wyciągnąć wnioski i zbudować bazę do kontynuowania procesu zmiany.
Co dalej?
Najlepszą odpowiedzą jest uwielbiane, zwłaszcza w przypadku zderzeń ze szczególnie trudnymi tematami, „to zależy”. Program migracji rozwiązań IT do chmury powinien uwzględniać wiele elementów, między innymi:
- zdolność organizacji do absorpcji zmian
- efektywność przeprowadzonego PoC
- możliwości wytwórcze wewnętrznego IT
- budżet przeznaczony na ten program
- umiejętności i możliwości wykorzystania zewnętrznych dostawców
- ramy czasowe na wdrożenie
- determinację organizacji aby przeprowadzić zmianę
Czynników warunkujących podejście do wdrożenia jest bardzo dużo i trzeba zawsze indywidualnie rozpatrywać wszystkie przypadki. Pewne jest jednak, że chmura to przyszłość i odwlekanie decyzji o jej wykorzystaniu jedynie utrudni proces zmiany. Warto iść do przodu, by nie powielać błędów firm, które nie nadążyły za przyszłością.
Michał, dochodzisz do bardzo fajnych wniosków i słusznie zauważasz aspekty wdrożeń na które wiele firm nie zwraca kompletnie uwagi, osobiście bardzo się z Tobą zgadam. Bardzo fajny i merytoryczny post – gratuluje.