Wady i zalety rozwiązań no-code

Krzysztof Kempiński
kkempin’s dev blog
9 min readJul 31, 2024

W ramach podcastu “Porozmawiajmy o IT” miałem okazję porozmawiać z Jackiem Zawadzkim i wadach i zaletach no-code.

Posłuchaj naszej rozmowy w wersji audio 🎧 👇

Cześć! Mój dzisiejszy gość to doświadczony dyrektor IT, CEO, COO, strateg transformacji cyfrowej, CEO firmy 3QCode. Wykorzystuje swoje wieloletnie doświadczenie w transformacji biznesu z najnowszymi technologiami no-code i rozwiązaniami AI. Moim i Waszym gościem jest Jacek Zawadzki.

Cześć, Jacku! Bardzo miło mi gościć Cię w podcaście.

Cześć, Krzyśku, mi również jest bardzo miło. Dziękuję Ci za zaproszenie i witam wszystkich serdecznie. Mam nadzieję, że będzie ciekawie.

Jestem przekonany. Dzisiaj wraz z Jackiem spojrzymy na rozwiązania no-code, przyjrzymy się wadom i zaletom tych rozwiązań, spojrzymy na te obszary, gdzie no-code sprawdza się idealnie, jak również na te, gdzie lepiej może skorzystać z alternatywnych rozwiązań.

Zanim jednak do tego przejdziemy, to chciałbym Cię, Jacku, tak jak każdego mojego gościa, zapytać o to, czy słuchasz podcastów, no i być może będziesz w stanie zarekomendować jakieś ciekawe audycje.

Zdarza mi się czasami słuchać. Nie jestem jakimś maniakalnym słuchaczem podcastów, nie subskrybuję, nie słucham na bieżąco, natomiast oczywiście jeżeli dostanę jakąś rekomendację, jeżeli wpadnie mi jakiś podcast, to odsłuchuję. I oczywiście polecam Twój podcast, jak najbardziej Twoją stronę Porozmawiajmy o IT.

Dziękuję.

Jest tam kilka ciekawych pozycji, które również w przeszłości słuchałem, tak że polecam.

Cieszę się bardzo, dziękuję za tą rekomendację. Dobrze, myślę, że warto by tutaj było rozpocząć od zdefiniowania, czym właściwie no-code jest, bo mówi się o nim dużo, natomiast żebyśmy, jak to się ładnie mówi, byli na tej samej stronie, to może warto wprowadzić tych słuchaczy, którzy jeszcze wcześniej nie mieli z tym obszarem IT do czynienia i właśnie powiedzieć, czym no-code jest.

Okej, pewnie wielu ze słuchaczy spotkało się z taką definicją bardziej low-code’u i low-code to jest rozwiązanie czy platformy, które są pomiędzy takim pisaniem aplikacji zupełnie od zera, ale które dają dużą elastyczność w konfiguracji, w budowaniu nowych rozwiązań. Kolejną generacją są rozwiązania no-code’owe, rozwiązania, które nie wymagają w ogóle programowania, czyli nie wymagają umiejętności technicznych, Oczywiście też mają możliwość rozszerzenia, natomiast z samego założenia są to aplikacje, które buduje się z klocków.

My często podajemy też klientom przykład: jeżeli mamy klocki Lego, to możemy sobie z tych klocków zbudować dowolną budowlę, dowolny samochód, dowolny kształt i tutaj jest podobnie, czyli mamy gotowe komponenty, z których budujemy sobie gotowe rozwiązanie bez konieczności pisania kodu, co jest o tyle zaletą, że osoby nietechniczne również mogą korzystać z platformy no-codowej, żeby budować swoje aplikacje, żeby automatyzować procesy, żeby wprowadzać digitalizację do swojej firmy, jeszcze raz powtórzę, bez konieczności pisania kodu.

Tutaj mała gwiazdka oczywiście, ta konieczność pisania kodu się pojawia w momencie, kiedy potrzebujemy zintegrować się z jakąś inną aplikacją, z jakąś inną platformą, ze swoim własnym rozwiązaniem, to bardzo często ten kod jest potrzebny do napisania, aczkolwiek większość platform no-codowych posiada swoje API albo inny sposób integracji, więc nie ma tutaj z tym żadnego problemu.

No tak, ten zbiór technologii powstał po coś oczywiście, po to, żeby zaspokoić pewne problemy, pewne oczekiwania. I teraz może właśnie warto byłoby powiedzieć, na jaki problem no-code odpowiada, jakie są jego główne zalety, po co mielibyśmy w ogóle z tych rozwiązań korzystać.

Z punktu widzenia biznesowego są dwie podstawowe zalety. Pierwsza to jest elastyczność. Co to znaczy elastyczność? Dla mnie elastyczność to jest szybki time to market przede wszystkim, czyli jeżeli chcemy nie tylko napisać, ale modyfikować bardzo często aplikacje, mamy procesy biznesowe, które często się zmieniają i potrzebujemy w tradycyjnych metodach programowania trochę czasu na to, żeby napisać ten kod, żeby go przetestować i ustabilizować, to platformy no-code’owe odpowiadają właśnie na potrzebę bardzo szybkiego time to market. Co to znaczy bardzo szybko? Jesteśmy w stanie w ciągu minut, maksymalnie godzin zmienić tę aplikację. I to jest jak gdyby pierwsza zaleta platform no-code’owych, czyli elastyczność.

Druga to jest czas implementacji. To to, co się wiąże jedno z drugim, czyli time to market, z jednej strony elastyczność wysoka, z drugiej strony czas implementacji. I to jest jak gdyby z perspektywy biznesowej.

Natomiast z perspektywy bardziej technologicznej to są z kolei trzy podstawowe elementy, które wyróżniają platformy no-codowe w stosunku do np. platform low-codowych albo do pisania aplikacji od zera.

Pierwsza, którą bardzo często reklamujemy i bardzo często o niej opowiadamy, to jest taki wewnętrzny governance, czyli zachowywanie pewnej spójności bez konieczności myślenia o tym i martwienia się o wewnętrzny governance, dlatego że spójność budowy aplikacji, dbanie o to, żeby ta aplikacja działała w sposób prawidłowy, jest zapewniane przez samą platformę.

Drugie to jest wydajność. Oczywiście nie wszystkie platformy no-codowe są super wydajne, natomiast są takie, które np. można zainstalować sobie on premisowo, czyli w swoim własnym data center i skalować je na wirtualnych maszynach w zasadzie bez jakichkolwiek limitów. W związku z tym wydajność tych platform no-code’owych czy low-code’owych dzisiaj już jest na bardzo wysokim poziomie w stosunku do tego, co było np. 5–10 lat temu. Czyli wydajność to jest druga rzecz.

I trzecia rzecz to jest zachowanie bezpieczeństwa. Dzisiaj jak sami wiemy, są dwa gorące tematy czy trzy gorące tematy z mojej perspektywy. Pierwszy to jest oczywiście AI szeroko pojęty. Drugi to jest bezpieczeństwo. A trzecie to są platformy no-code’owe. I tutaj właśnie à propos bezpieczeństwa platformy no-code’owe gwarantują nam bezpieczeństwo, dlatego że są zaprojektowane w taki sposób, żeby aplikacje, które powstają na platformie no-code’owej były w pełni bezpieczne dla używania przez klienta. Więc to są takie trzy podstawowe zalety technologiczne, jeżeli chodzi o platformy no-code’owe.

Oczywiście nie wszystkie platformy no-codowe są super wydajne, natomiast są takie, które np. można zainstalować sobie on premisowo, czyli w swoim własnym data center i skalować je na wirtualnych maszynach w zasadzie bez jakichkolwiek limitów. W związku z tym wydajność tych platform no-code’owych czy low-code’owych dzisiaj już jest na bardzo wysokim poziomie w stosunku do tego, co było np. 5–10 lat temu.

Powiedziałeś o wydajności, o bezpieczeństwie, o tym szybszym time to market. Myślę, że ten ostatni aspekt może być bardzo ciekawy nie tylko dla osób zajmujących się technologią, ale i biznesem, bo de facto to często generuje tę przewagę konkurencyjną, która może być albo nie być dla biznesów. Poprosiłbym Cię wobec tego, żebyś nieco ten temat przyspieszenia realizacji projektów na bazie właśnie no-code rozwinął, być może podał jakieś przykłady, jak za pomocą no-code jesteśmy w stanie szybciej produkty wydawać, a przez to być może szybciej wejść na rynek.

Tak, przykładów jest wiele oczywiście. Takim chyba najbardziej podstawowym przykładem jest workflow, dlatego że wiele platform no-code’owych ma wbudowane silniki workflow albo wręcz powstały bazując na silniku workflow. I teraz jeżeli mówimy o zgodności z pewnymi standardami typu BPMN, to bardzo szybko jesteśmy w stanie używając tej notacji zbudować takie workflow, zintegrować je z jakąś aplikacją wewnętrzną i przetwarzać to workflow właśnie w takiej aplikacji no-code’owej. Tutaj niektórzy analitycy twierdzą, że do 10 razy szybciej jesteśmy w stanie to zbudować.

Jeżeli chodzi o aplikacje proste, aplikacje proste webowe, gdzie ta interakcja z użytkownikiem jest na takim podstawowym poziomie, powiedziałbym, czyli mówimy tutaj o rejestracji danych, mówimy o takim bardzo prostym przetwarzaniu tych danych, wyświetlaniu i raportowaniu, to tutaj jesteśmy w stanie od 5 do 7 razy szybciej zbudować gotową aplikację, gdzie właśnie wykorzystujemy to, że wewnętrzny governance jest zapewniony przez platformy, gdzie mamy zapewnioną wydajność, nie musimy się tutaj o to martwić i mamy zapewnione bezpieczeństwo, jest tutaj 5–7 razy.

Największym wyzwaniem chyba są aplikacje, które mają dość skomplikowane algorytmy przetwarzania danych, np. w branży finansowej czy w branży produkcyjnej to zastosowanie no-codu jest tutaj zdecydowanie mniejsze, dlatego że sam sposób sterowania produkcją, czy tak jak w finansach, pewne algorytmy przetwarzania danych, wyliczania odsetek, przetwarzania produktów są na tyle skomplikowane, że muszą mieć dedykowany kod. Tutaj oczywiście platformy no-code’owe też pomagają w tym, żeby szybko zbudować jakieś rozwiązanie i zintegrować je z pewnymi zewnętrznymi serwisami, które właśnie odpowiadają za całą algorytmikę i za całe przetwarzanie, więc tutaj ten czas jest podzielony troszkę pomiędzy taki tradycyjny software development, gdzie to przetwarzanie musi być napisane od zera w jakimś wybranym języku programowania, ale już interfejsy użytkownika, już raportowanie, już dashboardy możemy bez problemu wykonać w platformie no-code’a, w związku z tym tutaj pewnie 2–3 razy szybciej jesteśmy w stanie takie rozwiązanie zbudować.

Jak widzisz, niezależnie od tego, gdzie chcemy zastosować no-code, ten time to market jest szybszy od bardzo skomplikowanych rozwiązań, on jest 2–3 razy szybszy do prostych rozwiązań, w zasadzie gotowców można powiedzieć, gdzie on jest do 10 razy szybciej.

Tutaj znowu taka mała uwaga, nie każda platforma no-code’owa ma swój własny marketplace, natomiast są takie platformy no-code’owe, które posiadają marketplace, mają tam setki, czasami nawet tysiące gotowych aplikacji, I tutaj możemy z tego skorzystać, możemy sobie taką aplikację ściągnąć z marketplace’u, często one są bezpłatne, czasami są płatne i możemy ją tylko i wyłącznie dostosować do swoich własnych potrzeb, co jeszcze bardziej skraca nam cały proces wytworzenia takiej aplikacji, dlatego że mamy już gotową aplikację i musimy tylko do niej wprowadzić zmiany. A ponieważ wcześniej zgodziliśmy się co do tego, że time to market zmian takich change requestów do tej aplikacji jest bardzo, bardzo szybki, to tutaj mówimy o jeszcze większym przyspieszeniu w tworzeniu tego typu rozwiązań.

Rozumiem. Dla mnie ten obszar rozwiązań no-code i low-code różni się dosyć mocno od tradycyjnych, powiedzmy, form wytwarzania oprogramowania, że mówi się równie często nie tylko o tych problemach, zagadnieniach technicznych, ale i o tym aspekcie biznesowym, który tutaj mimo wszystko jednak mam wrażenie, że stoi u podstaw tego, w ogóle no-code, low-code. I jednym z takich bardzo ważnych zagadnień, jeśli chodzi o ten obszar biznesowy, jest z pewnością koszt wytworzenia oprogramowania, który bardzo często jest dużym, znaczącym kosztem w każdym projekcie czy w każdym przedsiębiorstwie.

Chciałbym Cię zapytać, jak to wygląda w przypadku właśnie tych rozwiązań no-code. Czy faktycznie jest tak, że one istotnie obniżają koszty wytworzenia produktu?

Tak, tutaj w zasadzie ja bym zwrócił uwagę na dwa aspekty. Z jednej strony mamy proces wytworzenia produktu, a z drugiej strony mamy proces utrzymania tego produktu i jego dalszego rozwoju. My mamy przykłady takich projektów, gdzie faktycznie jeżeli chodzi o samo wejście z platformę no-code’ową i napisanie aplikacji, to było to wykonywane przez nas i ten koszt jest wprost proporcjonalny do czasu, bo umówmy się, że tak naprawdę w IT bardzo dużym kosztem czy największym kosztem są specjaliści, którzy muszą usiąść i napisać taki kod. Jeżeli jesteśmy w stanie napisać pięciokrotnie szybciej daną aplikację, to automatycznie koszt zbudowania takiej aplikacji jest może niekoniecznie pięciokrotnie mniejszy, ale na pewno jest mniejszy. I to jest jedna rzecz.

Druga rzecz, tak jak mówiłem w naszych projektach bardzo często jak już taka aplikacja powstanie, to później kolejne zmiany do tej aplikacji, np. zmiany do workflow, czy zmiany do formatek w aplikacji są wykonywane albo przez analityków biznesowych, albo wręcz przez osoby z biznesu, co z jednej strony znowu skraca czas, skraca samą komunikację z IT, nie obciąża IT jako departamentu, który ma inne bardzo ważne zadania, ale też bardzo często koszt osób, które nie są techniczne, nie mają umiejętności technicznych, również jest mniejszy, w związku z czym całościowo podchodząc do tego, można powiedzieć, że sama implementacja na platformach no-code’owych jest zdecydowanie tańsza.

Oczywiście jest tutaj element licencji, dlatego że każda platforma no-code’owa, czy większość platform no-code’owych, te, które mają zastosowania w średnich lub dużych przedsiębiorstwach, wymaga zakupienia licencji i zawsze licząc TCO takiego projektu trzeba uwzględnić również koszt licencji i koszt ewentualnego supportu. Nie chciałbym tutaj podawać jakiś tam statystyk, natomiast z naszego doświadczenia wynika, że takie TCO projektów kilkumiesięcznych pisanych na platformie no-code’owej, gotowego, kompleksowego rozwiązania, jest tańszy niż pisanie tego od zera, a stabilizacja takiego rozwiązania czy bezpieczeństwo takiego rozwiązania jest zdecydowanie większe.

Te testy oczywiście są prowadzone, natomiast jest to zdecydowanie szybsze do wdrożenia i w zasadzie nie wymaga stabilizacji, bo działa od pierwszego dnia.

Z jednej strony mamy proces wytworzenia produktu, a z drugiej strony mamy proces utrzymania tego produktu i jego dalszego rozwoju. My mamy przykłady takich projektów, gdzie faktycznie jeżeli chodzi o samo wejście z platformę no-code’ową i napisanie aplikacji, to było to wykonywane przez nas i ten koszt jest wprost proporcjonalny do czasu, bo umówmy się, że tak naprawdę w IT bardzo dużym kosztem czy największym kosztem są specjaliści, którzy muszą usiąść i napisać taki kod. Jeżeli jesteśmy w stanie napisać pięciokrotnie szybciej daną aplikację, to automatycznie koszt zbudowania takiej aplikacji jest może niekoniecznie pięciokrotnie mniejszy, ale na pewno jest mniejszy.

👉 Czytaj dalej: https://porozmawiajmyoit.pl/poit-253-wady-i-zalety-rozwiazan-no-code/

--

--

Krzysztof Kempiński
kkempin’s dev blog

IT expert. Ruby on Rails/iOS/Elixir programmer. Blogger. Podcaster.