Narzędzie low-code może zrewolucjonizować krajobraz IT w Twojej firmie. Może ono przyspieszyć prototypowanie oraz rozwój aplikacji, jeśli doświadczasz braku doświadczonych programistów. Moim zdaniem, takie narzędzie wnosi ogromną wartość i powinieneś je co najmniej rozważyć.

Decyzja o wykorzystaniu low-code to dopiero pierwszy krok. Dostępnych jest wiele różniących się między sobą platform. By wybrać tą, która najlepiej zaadresuje Twoje potrzeby, trzeba sobie wpierw odpowiedzieć na parę pytań. Postaram się je zadać oraz zasugerować możliwe odpowiedzi.

Jakie dokładnie są Twoje potrzeby biznesowe?

Podobnie jak inne rzeczy w IT, low-code to tylko narzędzie. Nie ma sensu go wdrażać po to by mieć wdrożoną kolejną „fajną platformę”. Takie podejście może przypadkowo rozwiązać część wyzwań przed którymi stoisz, ale jednocześnie może stworzyć wiele nowych problemów. By tego uniknąć, musisz wpierw uświadomić sobie jakie są Twoje faktyczne potrzeby biznesowe oraz jakie cele mają realizować narzędzia, które wdrożysz.

Poniżej przedstawiam kilka możliwych scenariuszy oraz moje sugestie; co zrobić w poszczególnych przypadkach.

„Nie mam wsparcia w obszarze IT, dla mojej podstawowej działalności”

Przez “podstawową działalność” rozumiem tu kluczową dla firmy aktywność. Przynosi ona największą wartość dodaną i w tym obszarze nie ma miejsca na kompromisy. Dla banku może to być system centralny lub też bankowość internetowa. Dla firmy zajmującej się e-commerce: system dla obsługi klientów.

Może powiem teraz coś szalonego, ale to jest moment w którym należy ponownie rozważyć czy w powinieneś użyć platformy low-code w tym obszarze. Low-code może nie wszędzie się sprawdzić i jest niezmiernie ważne, by właściwie ocenić czy Twoja podstawowa działalność jest dobrym obszarem jego zastosowania. Pisałem o tym w odrębnym wpisie Jaka jest rola low-code w organizacji?. W skrócie: możesz już mieć dojrzały i dochodowy biznes, z dużymi budżetami i stabilnymi procesami. W tym przypadku radzę sprawdzić czy istnieje już odpowiednie rozwiązanie produktowe. Takie, które udostępnia szerokie możliwości dostosowań. Jeśli nie ma takiego produktu, warto rozważyć zlecenie projektu „na zamówienie” w firmie programistycznej.

Czy oznacza to więc, że platforma low-code nie powinna by brana pod uwagę jako główna platforma IT w zakresie podstawowej działalności? Na pewno nie. Jeśli Twoje procesy są naprawdę unikalne (jesteś np. startupem z naprawdę innowacyjnym modelem biznesowym), wtedy warto zdecydować się na low-code. Pozwoli to na szybkie modelowanie Twoich procesów i ich elastyczne dostosowania w miarę rozwoju biznesu. Jeśli po osiągnięciu dojrzałości będziesz potrzebować oprogramowania skrojonego na miarę, możesz pomyśleć o zainwestowaniu w taki projekt. Jest jednak duża szansa, że zostaniesz przy rozwiązaniu low-code, jako wystarczającym dla Twoich potrzeb.

„Moja podstawowa działalność jest wspierana przez rozwiązanie IT, któremu brakuje elastyczności”

Dość oczywistym w takiej sytuacji może być poszukiwanie kolejnego rozwiązania. Takiego które lepiej adresuje Twoje potrzeby lub też zapewnia większy zakres dostosowań. Trzeba mieć jednocześnie na uwadze, że proces migracji niesie ze sobą swoje ryzyka, pochłania czas i dodatkowy budżet. Również w takim kontekście low-code jest pomocny. Jeśli Twój podstawowy system pozwala na integrację, możesz wykorzystać platformę low-code jako jego naturalne rozszerzenie, pozwalające wdrożenie takich funkcjonalności jakich potrzebujesz.

Uwzględniając powyższy kontekst, przy wyborze narzędzia low-code należy wziąć pod uwagę dwa główne czynniki:

  • Pierwszym są możliwości integracyjne. Potrzebujesz narzędzia, które będzie w stanie zintegrować się efektywnie z systemem obsługującym Twoją podstawową działalność. Jednocześnie integracja ta będzie wykonana przy użyciu wykorzystywanych już technologii.
  • Drugim jest spójność technologiczna w zakresie interfejsu użytkownika. Powinna ona pozwalać użytkownikom przełączać się płynnie pomiędzy systemem podstawowym i wdrożonymi wokół niego niestandardowymi funkcjonalnościami.

„Potrzebuję wsparcia dla prosesów pobocznych w mojej organizacji”

Z moich obserwacji wynika, że istnieje wiele organizacji które wykorzystują oprogramowanie szyte na miarę jedynie dla głównych procesów biznesowych. Dla pozostałych, jeśli to tylko możliwe, wykorzystywane są gotowe rozwiązania produktowe. Istnieje jednocześnie cały „plankton” prostych a jednocześnie specyficznych operacji, dla których nie ma wsparcia IT. W użyciu są narzędzia takie jak ołówek i papier lub w najlepszym przypadku MS Word lub Excel. Operacje te są na tyle proste i specyficzne, że ich automatyzacja z wykorzystaniem tradycyjnego podejścia IT jest ekonomicznie nieopłacalna. W tym kontekście low-code może rozwinąć swe skrzydła, pozwalając Ci zbudować jeden spójny front-end, adresujący wszystkie wymagane procesy.

Moją sugestią dla tego scenariusza jest postawienie na uniwersalną platformę low-code. Niekoniecznie musi ona mieć „wymyślny interfejs użytkownika”, ale oferuje szerokie portfolio modułów (algorytmy, procesy, integracje, generacja dokumentów, itp.) Takie podejście zminimalizuje konieczność wdrażanie dodatkowych, specjalistycznych narzędzi informatycznych w momencie gdy znajdziesz w swoich procesach jakieś niespodzianki. Pozwoli Ci natomiast zbudować spójny interfejs dla pracowników.

Kolejnym ważnym czynnikiem, który należy wziąć pod uwagę jest to, czy musisz tworzyć wydzielone aplikacje, czy raczej coś szeroko zintegrowanego w ramach Twojego ekosystemu IT. W tym ostatnim przypadku należy szczególnie zwrócić uwagę na możliwości integracyjne platform, które rozważasz.

„Mam wiele rozwiązań IT, ale nie są one ze sobą zintegrowane”

W tym obszarze, platforma low-code również może być przydatna, jeśli tylko ma szerokie możliwości integracyjne. Jeśli natomiast potrzebujesz wyłącznie funkcjonalności integracyjnych i nie masz dodatkowych potrzeb (GUI, procesy, itd.,) polecam rozważyć nieco prostsze platformy; no-code nakierowane właśnie na integrację. Dopiero po dojściu do ich ograniczeń, można przyjrzeć się zintegrowanym platformom low-code lub też ETL.

Jakiego rodzaju aplikacji potrzebujesz?

Aby dokonać optymalnego doboru narzędzi, zadaj sobie pytanie jakiego rodzaju procesy dominują w Twoim kontekście i czy istnieje platforma low-code, która jest wokół nich zbudowana. Istnieją na przykład platformy wyspecjalizowane w zarządzaniu dokumentami, inne w procesach biznesowych, jeszcze inne w aplikacjach mobilnych. Jeśli nie możesz rozpoznać takiego wzorca lub nie znajdujesz właściwego narzędzia, polecam wybrać jedną z uniwersalnych platform low-code. Pisałem o tym w poprzednich paragrafach.

Kto będzie budować aplikacje?

Jeśli masz na pokładzie jedynie ludzi, którzy nie mają wiedzy technicznej, zastanowiłbym się dwa razy przed przejściem na zaawansowaną platformę low-code. Może ona przytłoczyć swoimi możliwościami i spowodować więcej frustracji niż pomóc w efektywnym rozwoju aplikacji. Sugerowałbym wpierw rozpoczęcie pracy z platformą no-code, dopasowaną do Twoich potrzeb. Będziesz musiał dostosować się do jej ograniczeń, ale jest to lepsze niż tworzenie aplikacji, które mają problem z poprawnym działaniem lub też niemożliwością stworzenia aplikacji w ogóle.

Mam dostępnych tylko ludzi z biznesu.

Jeśli masz na pokładzie jedynie ludzi, którzy nie mają wiedzy technicznej, zastanowiłbym się dwa razy przed przejściem na zaawansowaną platformę low-code. Może ona przytłoczyć swoimi możliwościami i spowodować więcej frustracji niż pomóc w efektywnym rozwoju aplikacji. Sugerowałbym wpierw rozpoczęcie pracy z platformą no-code, dopasowaną do Twoich potrzeb. Będziesz musiał dostosować się do jej ograniczeń, ale jest to lepsze niż tworzenie aplikacji, które mają problem z poprawnym działaniem lub też niemożliwością stworzenia aplikacji w ogóle.

Mam potencjalnych “Citizen Developers”

Citizen Developer (CD) ma dość szeroką definicję. Opisałem ją szerzej w odrębnym wpisie: Kim jest Citizen Developer? Mówiąc najprościej, CD to osoba biznesowa posiadająca podstawową wiedzę techniczną lub kontekst techniczny (rozumie architekturę IT, struktury danych itp.). Moim zdaniem to idealny użytkownik platformy low-code, która w ich rękach będzie niesamowitym narzędziem. Ma odpowiednie nastawienie, by wykorzystać odpowiednio możliwości oferowane przez low-code, a w przypadku problemów wykorzystać wsparcie producenta platformy lub jego partnerów.

Mam wewnętrzny dział IT z zespołem deweloperskim

Jeśli masz dział IT w swojej organizacji, najprawdopodobniej oznacza to, że organizacja jest duża i ma wiele potrzeb w zakresie automatyzacji. Mając zespół „full stack” możesz korzystać z niemal każdego narzędzia, niezależnie od jego złożoności i poziomu technicznego. Ale byłbym ostrożny z założeniem, że zespół programistów będzie korzystał z platformy low-code.. Programiści robią to raczej niechętnie i twierdzą, że nie ma nic lepszego niż ich własny kod. Moją sugestią jest przypisanie takiego zespołu do rozwoju systemów wspierających kluczowe procesy i poszukanie w organizacji potencjalnych Citizen Developers (w IT lub poza nim). Zespół programistów może dbać o ogólne ramy architektoniczne, procedury zarządzania, czy budowę specyficznych rozszerzeń.

Jaki model wdrożeniowy preferujesz?

Jeśli planujesz mieć tylko jednego Citizen Developer’a, nie ma potrzeby specjalnego opracowywania tego tematu, istnieją dwie proste opcje:

  • Jeśli jesteś raczej małą organizacją, bez działu IT, możesz preferować korzystanie z j platformy low-code w chmurze.
  • Jeśli masz własną infrastrukturę i zespół administracyjny, możesz być zainteresowany wdrożeniem na własnym serwerze (np. ze względu na wymagania dotyczące bezpieczeństwa danych). Jedyną rzeczą do sprawdzenia jest to, czy rozważana platforma pasuje do twoich konkretnych preferencji.

Sprawa wymaga więcej uwagi, jeśli masz zespół programistów, którego członkowie pracują jednocześnie nad tym samym projektem. W takim przypadku sugeruję sprawdzenie, czy platforma, którą rozważasz, zapewnia odpowiednie narzędzia, procedury współpracy oraz najlepsze praktyki w zakresie zarządzania procesami.

Na jaki budżet możesz sobie pozwolić?

Wdrażanie low-code to nie tylko rozpoczęcie korzystania z „innego narzędzia”. Znacząco zmienia to paradygmat tworzenia aplikacji, a tym samym jest swego rodzaju eksperymentem dla organizacji. Z tego powodu polecam wybrać platformę, z której można korzystać bez ponoszenia znacznych inwestycji na samym początku. Najlepiej z darmowymi licencjami testowymi/rozwojowymi i opłatą komercyjną uzależnioną od rzeczywistego wykorzystania platformy. Pozwoli Ci to płacić za realną wartość biznesową, którą otrzymasz.

Nie daj się jednak złapać w prostą pułapkę „płać w miarę wzrostu”. Oszacuj ogólnie planowane wykorzystanie platformy (np. liczbę użytkowników) i sprawdź w takim scenariuszu całkowity koszt posiadania. Zrób to, zanim zainwestujesz znaczną część swojego czasu w testowanie i rozwój.

Mam też podpowiedź dotyczącą cen. Wiodący dostawcy platform low-code mogą czerpać korzyści ze swojej pozycji rynkowej oraz statusu marki. Jeśli interesują Cię bardziej przystępne budżety, warto przyjrzeć się mniejszym dostawcom. Wchodząc na rynek lub rozwijając się, są pod większą presją i mogą zaproponować bardziej atrakcyjne ceny. Oczywiście nie jest najlepszym pomysłem, rozpoczynanie współpracy ze start-upem, którego platforma jest wciąż w fazie rozwoju. W takim przypadku możesz dojść do momentu, w którym będziesz musiał czekać na kluczowe aktualizacje, finansując ich rozwój. To prowadzi nas do ostatniego punktu naszych rozważań.

Jaka jest dojrzałość platformy i oferowane możliwości wsparcia?

Na pewno zależy Ci na płynnym korzystaniu z platformy, bez wstrzymywania pracy ze względu na pojawiające się problemy. Zależne to jest od jakości i dojrzałości danej platformy. Najprostszym sposobem sprawdzenia tego jest sprawdzenie czasu obecności na rynku, liczby klientów i referencji. W tej kategorii prym wiodą najwięksi sprzedawcy. Ale to nie jedyny sposób mierzenia dojrzałości platformy. Istnieje grupa produktów (w tym nasz archITekt), która mimo pozornie krótkiej historii na rynku low-code, ma długą historię rozwoju i zastosowania w projektach wewnętrznych.

Wsparcie to kolejny ważny czynnik, który należy wziąć pod uwagę. Zanim poważnie zaangażujesz się w konkretne narzędzie, sprawdź, czy jesteś zadowolony z dokumentacji, samouczków lub społeczności istniejącej wokół niego. Tu znów, najwięksi sprzedawcy będą mogli pochwalić się większą ilością materiałów.
Szczerze mówiąc, jest tutaj też pewien haczyk. Dopóki nie jesteś dużą organizacją z dużym budżetem, możesz być traktowany jako „plankton”, bez indywidualnego podejścia w zakresie obsługi. I tu ponownie, warto zainteresować się mniejszymi dostawcami, ponieważ można u nich otrzymać bardziej indywidualne podejście.

Zdarzają się również sytuacje, w których musisz zrobić projekt bardzo szybko i nie masz czasu, aby zespół nauczył się nowego narzędzia. Nie musi to jednak stanowić problemu. Wielu dostawców może dla Ciebie opracować i wdrożyć projekt (lub mieć partnerów, którzy to zrobią). To sytuacja, w której możesz „mieć ciastko i zjeść ciastko”. Z jednej strony masz szybkie wdrożenie, z drugiej, Twój zespół ma czas na poznanie nowego narzędzia i przejęcie projektu do dalszego rozwoju.

Podsumowanie

Wybór odpowiedniej platformy low-code nie jest trywialnym zadaniem i nie ma uniwersalnej odpowiedzi na pytanie, która platforma jest najlepsza. Co jest najważniejsze: zanim wypróbujesz konkretne narzędzie low-code, zastanów się, co chcesz osiągnąć i jakie są Twoje rzeczywiste możliwości. Mam nadzieję, że zainspirowałem Cię do dalszego zbadania tej sprawy przedstawiając kilka subiektywnych, ale i praktycznych wskazówek.

Jeśli jesteś zainteresowany zagłębieniem się w więcej szczegółów, odezwij się do mnie proszę. Chętnie się z Tobą spotkam, by omówić Twój konkretny przypadek.

Slawomir Gierek
Head of Global Markets at VSoft
Zapraszam do połączenia na LinkedIn