Low-code - szybsze projektowanie i wdrażanie systemów IT

21 lutego 2022

Spis treści 

Wstęp
Co oznacza Low-Code?
Tradycyjne programowanie
Podejście low-code
Rodzaje projektów w low-code
Low-code od strony biznesu

 

Low-code - szybsze projektowanie i wdrażanie systemów IT

 

Low-code zyskuje popularność i może stać się optymalnym rozwiązaniem dla właścicieli firm, którzy chcą brać aktywny udział w projektowaniu i wdrażaniu własnych rozwiązań IT. Z roku na rok, obserwujemy rozwój kolejnych narzędzi wspierających działalność biznesową, a low-code dołącza do grupy tych innowacyjnych rozwiązań.

 

Co oznacza Low-Code?

Przeglądając w sieci publikacje o platformach low-code natkniemy się na takie określenia jak: low-code software (oprogramowanie low-code) lub LCDP - Low Code Digital Platform (cyfrowe platformy low-code). Te narzędzia oferują zupełnie nowe podejście do programowania rozwiązań IT. Low-code programming znaczy dosłownie programowanie własnych aplikacji, a nawet całych systemów przy użyciu mniejszej ilości kodu źródłowego.

Aby dobrze zrozumieć na czym polega low-code oraz jakie korzyści niesie, warto porównać je z tradycyjnym tworzeniem aplikacji.

 

Tradycyjne programowanie

Proces wdrożenia strony www, aplikacji mobilnej czy nawet dedykowanego systemu IT rozpoczyna się w momencie gdy nasz Klient zaakceptuje projekt funkcjonalny,  makietę (tzw. mock-up) lub prototyp projektu. Najpierw opracowuje się harmonogram i zakres prac, który następnie trafia do rąk inżynierów oprogramowania oraz dedykowanego zespołu programistów.

Tradycyjne programowanie opiera się na pisaniu kodu źródłowego. Ten etap dotychczas uważany był za niezwykle czasochłonny, a my wyjaśnimy dlaczego tak było. Dobrym przykładem jest tutaj prosty formularz kontaktu lub rejestracji. Programista, aby odtworzyć graficzną makietę formularza musiał napisać kod dla każdego elementu z jakiego zbudowany był formularz. Praca dewelopera nie ograniczała się jednak tylko do tej czynności. Napisany kod musiał zawierać również informacje o formatowaniu takiego formularza (np. umieszczone bezpośrednio w kodzie lub wyświetlane z innego źródła). To m.in. dane dotyczące:

  • kolorystyki, wymiarów, dostępnych obramowań,
  • formatu wyświetlanego tekstu (fontu, koloru czcionki, rozmiaru, stylu czy odstępu),
  • sposobu położenia, np. marginesów lub nagłówków, względem pozostałych elementów na stronie internetowej

Tak przygotowany formularz zobaczy nasz potencjalny Klient. Jednak jego nadrzędnym celem jest to, aby użytkownik wszedł z nim w interakcję. Dlatego deweloper musi zaprogramować jeszcze:

  • pola formularza, określić ich rodzaj oraz metodę przetwarzania zawartości,
  • nadać reguły, które sprawdzą czy dane wprowadzono poprawnie,
  • przyciski akcji, takie jak: ”Dodaj załącznik”, „Wyślij”
  • określenie zależności pomiędzy polami – brak wypełnienia jednego pola spowoduje blokadę wysłania formularza oraz pojawienie się odpowiedniego komunikatu informacyjnego.

Praca programisty na tym etapie jest niezwykle istotna. To on ustala jakie warunki powinny być spełnione przez użytkownika, aby formularz został przez niego poprawnie wypełniony.

Żeby lepiej zobrazować to zjawisko, poniżej przedstawiamy kilka podstawowych reguł programowania jakie deweloper umieszcza w polach takiego formularza:

  • pola obowiązkowe wyróżnione są znakiem "*", można je również dodatkowo zaznaczyć kolorem czerwonym
  • miejsce do wpisania adresu e-mail standardowo powinno wyświetlać symbol "@",
  • pole zmiany hasła z regułą określającą minimalną ilość znaków oraz dozwolone znaki specjalne. Tylko po spełnieniu tych warunków hasło zostanie zmienione, w innym przypadku wyświetlony zostanie komunikat o niepowodzeniu,
  • pola dotyczące zgody użytkownika na możliwość przetwarzania jego danych osobowych.

Formatowanie opisanego wyżej formularza jest procesem półautomatycznym. Dzięki temu nie wymusza on na programiście wpisywania całego kodu źródłowego. Może on posiłkować się gotowymi do użycia komponentami (np. kodem dla tabeli). Podobnie jest z programowaniem niektórych funkcji. Specjalna konsola podpowie im jaką część kodu należy wstawić.

Pomimo posiadania gotowych komponentów, wdrożenia potrafią być niezwykle skomplikowane i czasochłonne, w szczególności, gdy dotyczą projektowania złożonych aplikacji czy programów informatycznych. Podobna sytuacja występuje również podczas integracji wielu systemów od różnych dostawców. Wtedy wymagana jest implementacja Application Programming Interface (API), czyli specjalnego łącznika do komunikacji i przesyłania informacji pomiędzy nimi.

Należy zauważyć, że rynek IT cierpi dziś na brak wystarczającej liczby doświadczonych ekspertów, którzy specjalizują się w kilku językach programowania. Dlatego low-code może stać się odpowiedzią na wypełnienie luki kadrowej usług IT.

 

Podejście low-code

Celem pośrednim low-code jest maksymalne uproszczenie prac podczas przygotowywania koncepcji projektu, jak i kolejnego etapu programowania. Zasadniczo jest to możliwość połączenia dwóch etapów w jeden. To przejście z fazy projektowania do wdrażania cyfrowego.

Największą zaletą tego rozwiązania jest możliwość przyjęcia roli designera, już od początku projektu. Brak posiadania programistycznej wiedzy czy umiejętności nie jest przeszkodą w tym przedsięwzięciu. Możemy poruszać się w środowisku graficznym użytkownika (UI, User Interface), który jest intuicyjny i prosty w obsłudze. Swoją budową przypomina popularne programy graficzne, konfiguratory, czy narzędzia typu CMS.

W panelu użytkownika dobieramy interesujące nas elementy, które będą niezbędne do stworzenia naszego projektu. Na przykład tworzenie wniosku urlopowego dla pracownika, który będzie mógł sam go uzupełnić. W takiej sytuacji wybieramy gotowy komponent znajdujący się panelu. Może on mieć postać formularza dynamicznego, który zmieniamy zgodnie z naszymi potrzebami.

Wykorzystując gotowy już element możemy zaprojektować wygląd wniosku, zmienić rozmiar czcionki, kolorystkę formularza oraz dodać inne pola. Pozornie low-code może przypominać narzędzie do budowania formularzy, ale podczas jego używania widać istotną różnicę. Polega ona na tym, że każdemu polu formularza można nadać kod umożliwiający w prosty sposób wybranie odpowiedniej funkcji z listy rozwijanej.

Przykładowe programowanie wniosku:

  • określenie pola obowiązkowego – często pole „kodujemy” funkcją TAK / NIE, co odpowiada kodowi źródłowemu – required
  • wstawienie określonego rodzaju pliku, jego wagi oraz załącznika – możemy określić jakiego rodzaju typ pliku (np. docx, PDF, xlsx) oraz jego rozmiar np. do 30MB może dodać końcowy użytkownik
  • dodanie pola np. powodu reklamacji i możliwości wybrania jednej lub kilku opcji z listy rozwijanej

Tworzenie formularzy, to tylko jedna z wielu funkcji platform low-code. Posiadają one również narzędziasłużące do zarządzania i planowania procesów oraz ich obiegów – Business Process Management (BPM) / Workflow. Umożliwiają w prosty sposób rozrysowanie danego procesu, wraz z wszystkimi zależnościami pomiędzy jego elementami oraz określenie okoliczności mających wpływ na cały proces.

Firmy bardzo często korzystają z tych narzędzi do planowania swoich systemów, aby w przejrzysty sposób przedstawić deweloperowi pełen obraz swojej działalności i łączących ich procesów w organizacji. Wszystkie główne etapy tego procesu umieszcza się w diagramie, w formie pojedynczych elementów.

Wybrane etapy procesu na przykładzie wniosku reklamacyjnego:

  • Klient wypełnia i wysyła wniosek reklamacyjny w formie online,
  • otrzymanie wniosku i przypisanie mu numeru referencyjnego (ewidencja w systemie),
  • automatyczna wysyłka potwierdzenia e-mailem przyjęcia zgłoszenia,
  • przeanalizowanie wniosku oraz wydanie stosownej decyzji,
  • wysłanie do Klienta informacji zwrotnej o podjętej decyzji i wyniku reklamacji.

Początkowy proces charakteryzuje się statycznym schematem, zawierającym tylko główne etapy. Kolejnym krokiem jest zaprojektowanie odpowiedniego workflow pomiędzy nimi i w ramach każdego z nich (jeśli są bardziej rozbudowanymi procesami jak np. etap „analiza wniosku oraz podjęcie decyzji”).

Dopiero teraz następuje programowanie oparte na holistycznej logice biznesowej oraz zależnościach zachodzących pomiędzy poszczególnymi elementami schematu. Szczegółowo określamy warunki, które powinny być spełnione, aby przejść do kolejnych etapów. Wskazujemy odpowiedni kierunek zdarzeń, które powinny zaistnieć przy następnych krokach.

Do osiągnięcia odpowiednio zbalansowanego workflow wykorzystujemy odrębną sekcję ze zdefiniowanymi funkcjami, umieszczoną w interfejsie użytkownika. Wszystkie zawarte w niej akcje mogą być zrealizowane po spełnieniu właściwych warunków.

Przykład akcji i warunków:

  1. Klient - wypełnianie wniosku:
  • zgodne z warunkami: poprawnie uzupełniony wniosek, dołączenie załącznika we właściwym formacie, aktywacja przycisku „Wyślij”
  • niezgodne z warunkami: brak wyboru wymaganego pola, pojawienie się komunikatu z informacją wskazującą błąd
  1. Analiza wniosku znajdującego się w systemie:
  • rejestracja wniosku, przypisanie odpowiedniej kategorii, nadanie numeru zgłoszenia.
  • analiza treści zgłoszenia, automatyczna klasyfikacja problemu do istniejącej bazy rozwiązań
  1. Obieg otrzymanej dokumentacji:
  • przekierowanie wniosku do odpowiedniego działu,
  • przypisanie osoby odpowiedzialnej za weryfikuję oraz nadanie statusu zgłoszenia,
  • e-mail do Klienta informujący o etapie złożonego wniosku oraz możliwości śledzenia jego statusu

 

Low-code - szybsze projektowanie i wdrażanie systemów IT

Wymienione powyżej przykłady algorytmów biznesowych są standardem dostępnym na platformach low-code. Funkcje niestandardowe możemy swobodnie tworzyć poprzez modyfikację ukrytego kodu źródłowego danego elementu diagramu.

Funkcje dostępne w low-code usprawniają tradycyjne i czasochłonne procesy programowania. Sprawiają, że stają się one bardziej dynamiczne i skoordynowane z potrzebami otoczenia biznesowego. Powstały głównie do wdrażania interfejsów użytkownika, projektowania procesów biznesowych oraz ich automatyzacji.

Każdy proces dostępny na platformie może stworzyć dowolna osoba, posiadająca wiedzę z zakresu logiki biznesowej i funkcjonująca w tym środowisku. Potrafiąca wykorzystać swoje umiejętności do tworzenia procesów z zasobów IT firmy.

Rynek pracy stale zabiega o specjalistów w tej dziedzinie, zwanych „Citizen Developerami”. Zapotrzebowanie na ich usługi stale rośnie, co pozwala na możliwość wypełnienia tej niszy.

 

Rodzaje projektów w low-code

Programowanie w low-code jest na tyle elastyczne, że nie wprowadza ograniczeń dla developerów.

Bez względu na wielkość firmy i branży, w której działa, narzędzie pozwala na zaprojektowanie i wdrożenie m.in.:

  • pojedynczych formularzy np. wnioski, oświadczenia, umowy
  • procesów zbierania informacji, danych, zamówień
  • prostych aplikacji mobilnych lub rozbudowanych platform typu self-service
  • oprogramowania łączącego cały zbiór powyższych elementów.

Połączenie low-code z ideą Minimum Viable Product(MVP) daje więcej możliwości. Hybryda taka umożliwia zbudowanie prostej aplikacji, np. do zgłoszeń reklamacyjnych i śledzenia ich statusu. Następnie można ten proces rozbudowywać o kolejne elementy, takie jak np. ankieta badań zadowolenia Klienta.

Jedną z ciekawych funkcji platform low-code jest budowa prostych aplikacji umożliwiających rozwiązywanie wewnętrznych potrzeb firmy. Pozwalają one na automatyzację codziennych procesów i skracanie czasu na wykonywanie czynności, takich jak np. konsolidacja danych z większej ilości źródeł. Dzięki możliwości użycia odpowiednich kodów, dane zawarte w skoroszycie Excel mogą zamienić się w aplikację, która przeanalizuje dane oraz udzieli dostępu do informacji.

Low-code posiada również rozszerzone funkcje oprogramowania, które pozwalają na bardziej szczegółową analizę. Zaawansowana wersja software’u do raportowania sprzedaży umożliwia wyświetlanie w formie widżetu wskaźnika KPI oraz innych danych. Ważną cechą jest jego aktualizacja w czasie rzeczywistym. Informacja zwrotna na temat wyników sprzedaży wyświetlana, np. na głównej stronie intranetu, czy systemu CRM, może być istotna dla przedstawicieli handlowych.

 

Low-code od strony biznesu

Dzisiejszy biznes opiera się głównie na technologiach optymalizacji pracy, obniżania kosztów rozwoju aplikacji czy prędkości wypuszczania ich na rynek.

Czy low-code zastąpi klasyczne podejście do programowania?

Systemy informatyczne z tradycyjnym oprogramowaniem odchodzą do lamusa. Transformacja i modernizacja systemów IT jest dziś wyznacznikiem skutecznego biznesu. Procesy opierają się głównie na automatyzacji, która pozwala na optymalizację pracy deweloperów. Na rynku pojawia się coraz więcej programistów wykorzystujących w swojej pracy Sztuczną Inteligencję, rozwiązania Internet of Things (IoT) czy Power Business Intelligence. Rozwiązanie Microsoft Power Apps (low-codowy element Power Platform) daje możliwość samodzielnego zaprojektowania prostej aplikacji czy własnego chatbota.

Praktyki low-code są doceniane przez światową organizację Gartner. Uważnie przygląda się ona rozwojowi tych platform i nagradza ich twórców. Można pokusić się nawet o stwierdzenie, że low-code jest pewnego rodzaju kompromisem w projektowaniu stron. Rozwiązania tego typu spowodowały wyraźne skrócenie dotychczasowego dystansu pomiędzy światem IT i biznesem. Z drugiej jednak strony, systemy pozwalające na budowanie rozwiązań low-code muszą być tradycyjnie zaprogramowane. Co więcej, w przypadku bardziej zaawansowanych rozwiązań i rozbudowanych problemów konieczność klasycznego programowania rozwiązań IT jak na razie nie zanika i nic nie wskazuje, by miała całkowicie zaniknąć.

 

 

 

Zobacz inne artykuły

Co możemy dla Ciebie zrobić?

Wyślij