• Stanisław Rusinowski, autor |

Względnie niskie bariery wejścia w rozwiązania typu low-code decydują o ich dość szybkiej adaptacji w organizacjach. Pojedyncze zautomatyzowane procesy szybko skłaniają organizację do dalszej automatyzacji pracy. W efekcie w dość szybkim tempie na danej platformie uruchomionych może być kilkadziesiąt procesów. Prace utrzymaniowe związane z kilkoma procesami nie zajmują wiele czasu, jednakże narastająca liczba wdrożonych procesów, które często korzystają lub są zintegrowane z innymi systemami IT sprawia, że ilość pracy utrzymaniowej wzrasta. Czy można zoptymalizować tę pracę? Czy można w samym procesie wytwórczym zadbać o to ile tej pracy w przyszłości będzie i jak bardzo będzie czasochłonna?

Rozwiązania low-code – czym są i jakie niosą ze sobą korzyści?

Mianem low-code nazywa się sposób tworzenia narzędzi z użyciem niewielkiej ilości kodu. Platformy działające w tej filozofii są dostępne dla szerokiego grona użytkowników, nie tylko dla wykwalifikowanych programistów. Pozwalają użytkownikom na budowanie prostych aplikacji i procesów.

Konieczność szybkiego wdrażania i automatyzowania procesów powoduje, że organizacje chętnie otwierają się na low-code’owe rozwiązania. Charakteryzuje je niska bariera wejścia, czyli:

  • stosunkowo niskie koszty licencyjne,
  • szybkość wdrożenia,
  • brak konieczności posiadania zaawansowanych kompetencji programistycznych osób odpowiedzialnych za analizę i wdrożenie rozwiązania.

Jakość rozwiązań na platformach low-code

Narzędzia tworzone na platformach low-code opierają się na prostych z punktu widzenia programowania rozwiązaniach. Użytkownik ma możliwość budowania aplikacji ze sprawdzonych, predefiniowanych elementów. Niezawodność części składowych nie gwarantuje jednak jakości finalnego produktu – dlatego nie powinno się pomijać kwestii zapewnienia jakości przy wdrażaniu tego typu narzędzi.

Jakość rozwiązania należy rozpatrywać w kilku wymiarach:

  • bezbłędnym działaniu aplikacji z punktu widzenia klienta
  • zoptymalizowanych pod względem czasowym pracach utrzymaniowych
  • zastosowaniu szablonów powtarzających się elementów oraz zapewnienie architektury umożlwiającej dalsze rozbudowywanie rozwiązania

Zapewnienie jakości aplikacji na platformie low-code w trakcie procesu wytwórczego

Wypracowanie odpowiednich zasad i praktyk oraz ich przestrzeganie przy równoczesnym elastycznym podejściu uwzględniającym specyfikę automatyzowanych procesów pozwala na zapewnienie jakości w każdym z wymienionych wyżej wymiarów. Tak możemy wyróżnić następujące działania na poszczególnych etapach procesu wytwórczego:

1. Etap analizy

Pierwszym priorytetowym działaniem na tym etapie powinno być zweryfikowanie czy proces nadaje się do automatyzacji, np. zaczynając od sprawdzenia danych w przypadku rozwiązań RPA, takich jak Microsoft Power Automate (czy są ustrukturyzowane?), a kończąc na analizie systemów używanych w procesie (czy jesteśmy w stanie na nich operować lub z nimi współpracować, jeśli to konieczne?).

Po potwierdzeniu możliwości zastosowania rozwiązania low-code powinno się przystąpić do analizy szczegółowej. Istotne jest ustalenie dedykowanych szablonów do przeprowadzenia takiej analizy. Szablony powinny mieć zdefiniowany zakres informacji, który musi zostać pozyskany na temat poszczególnych kroków procesu. Odpowiednia konstrukcja szablonu zapewnia, że zakres analizy pokryje wszystkie kroki i możliwe ścieżki realizowane w procesie, jak również pozwoli na zidentyfikowanie związanych z danym krokiem ryzyk oraz akcji mitygacyjnych.

Na tym etapie dobrą praktyką jest także stworzenie już pierwszych scenariuszy testowych.

2. Etap wdrożenia

Etap ten, w przypadku rozwiązań klasy RPA, zaczynamy od zaplanowania szkieletu algorytmu dla robota. W etapie tym istotne jest zapewnienie pracy wszystkich członków zespołu wdrażającego boty zgodnie z zasadami dobrych praktyk wytwórczych. Często dostawcy platform klasy low-code organizują szkolenia lub udostępniają materiały treningowe w formie e-learningu (np. ścieżki i moduły szkoleniowe udostępnione na stronie Microsoft Learn) oraz dzielą się zbiorem najlepszych praktyk.

Same zespoły na bazie tych praktyk oraz zdobywanego doświadczenia określają własny katalog dobrych praktyk. Dobrze jest stworzyć swego rodzaju „check-listę” w celu weryfikacji rozwiązania („code review”). Zapewnienie spójnego sposobu pracy przez wszystkich członków zespołu wdrażającego pozwoli w przyszłości na zminimalizowanie ryzyka występowania błędów w powtarzających się elementach, jak również wpłynie na skrócenie czasu niezbędnego do identyfikacji elementów wymagających poprawy.

Ważne jest także dobranie odpowiedniej metodyki wdrażania. Z wiodących metodyk zdecydowanie najlepiej sprawdzi się Agile. Jej założenia sprawiają, że można szybko zareagować na ewentualne braki w procesie analizy, które często wynikają z zapominania przez użytkowników o istotnych elementach procesu. To również Agile pozwala zaadresować ewentualne nieporozumienia między stroną biznesową a developerami, które dzięki przeplataniu się procesu wytwórczego z testowaniem, są identyfikowane na wczesnym etapie i mogą zostać szybko zaadresowane przy stosunkowo niskich kosztach. 

3. Etap testowania

Weryfikacja poprawności wdrożenia zgodnie z wynikami analizy powinna pokrywać zakres oczekiwanych funkcjonalności i schematów zachowań. Etap testowania powinien być zorientowany na weryfikację nie tylko tzw. „Happy path”, ale w szczególności wyjątków w oparciu o wcześniej stworzone scenariusze testowe. Testowanie rozwiązań powinno się odbywać na kilku poziomach tj. testowanie przez zespół wdrażający jak również testowanie przez przyszłych użytkowników botów

Jakość kluczem efektywnego utrzymywania wdrożonych narzędzi low-code

Gdy zakończy się testowanie, aplikacja może zostać uruchomiona na platformie. Następuje wtedy faza utrzymania – stałego zarządzania zautomatyzowanymi procesami związanymi z narzędziem. Poziom obłożenia osób odpowiedzialnych za utrzymanie jest odzwierciedleniem zapewniania odpowiedniej jakości na poszczególnych etapach procesu wytwórczego. Czynniki pozwalające na minimalizowanie zgłoszeń utrzymaniowych oraz ułatwiające ich sprawną realizację, gdy wystąpią, to przede wszystkim:

  • wyczerpująco przeprowadzona analiza;
  • odpowiednio przygotowana dokumentacja, która pozwala na zrozumienie procesu oraz sposobu jego implementacji;
  • zastosowanie dobrych praktyk przy tworzeniu narzędzia;
  • realizacja właściwych scenariuszy testowych.

Zapewnienie zespołowi utrzymaniowemu wiedzy z przebiegu całego procesu wytwórczego umożliwi sprawne realizowanie prac utrzymaniowych bez względu na to, czy zajmują się tym osoby, które brały udział we wdrażaniu, czy nie.

  • Stanisław Rusinowski KPMG w Polsce

    Stanisław Rusinowski

    autor, Starszy Konsultant, Advisory, Zespół ds. Inteligentnej Automatyzacji i Sprawnych Rozwiązań

    Blog articles