Citizen Developer – kto to jest i jaką rolę pełni w organizacji?

Przyszłością programowania jest brak programowania — mawiał Chris Wanstrath, były dyrektor generalny serwisu GitHub. Jest dużo prawdy w tej wypowiedzi. Głównie dzięki temu, że w ostatnich latach znacznie rozwinął się rynek platform low-code/no-code (LCNC), a także programistów obywatelskich.

Dla wyjaśnienia, programista obywatelski to osoba, która tworzy aplikacje lub też możliwości aplikacji (w formie prototypów) do wykorzystania przez siebie lub współpracowników, używając przy tym narzędzi zatwierdzonych przez działy IT. To najczęściej platformy low-code i no-code, do których obsługi wystarczy niewielkie lub nawet brak doświadczenia w kodowaniu. Wiele organizacji dostrzega wartość w programowaniu obywatelskim i jak podaje Gartner aż 61% z nich ma lub planuje prowadzić u siebie inicjatywy rozwoju citizen development. 

W jaki sposób programiści obywatelscy mogą wspierać organizacje?

Przedstawiamy najważniejsze korzyści:

1. Rapid prototyping i szybszy development

Wykorzystanie platform LCNC zapewnia znacznie szybsze opracowywanie zarówno prototypów, jak i gotowych aplikacji. Nie musimy spędzać tygodni czy nawet miesięcy na tworzeniu MVP (Minimum Viable Product) konkretnych rozwiązań – platforma low-code zapewni narzędzia do stworzenia funkcjonalnej i atrakcyjnej wizualnie aplikacji w krótkim czasie. 

Do dyspozycji mamy gotowe komponenty i szablony do edycji, które powstały z myślą o wielokrotnym użytku. Nie ma sensu wymyślać koła na nowo. 

źródło: mendix.com

Tworząc prototypy i aplikacje w rozwiązaniu low-code programista obywatelski zyskuje dostęp do odpowiednich narzędzi i procesów, natomiast dział IT może nadzorować te prace. Następnie, w razie potrzeby, może zapewniać odpowiednie porady i wiedzę, aby wszystko przebiegało sprawniej, a gotowy projekt spełniał wymagania związane z wdrożeniem. 

Warto podkreślić, że programista obywatelski nie tylko może zdefiniować wymagania, lecz także przygotować gotowe prototypy i działające aplikacje. To ogromna wartość dla organizacji.

2. Zwiększona elastyczność i niższe koszty

Korzystając z rozwiązań LCNC zyskujemy większą elastyczność w dostosowywaniu się do zmian rynkowych i potrzeb klientów. Ze względu na to, że więcej osób – programistów obywatelskich – ma dostęp do narzędzi technologicznych i może wprowadzać zmiany, możemy szybciej reagować i wdrażać konkretne modyfikacje. 

Dodatkowo, z tego samego powodu, więcej osób może dbać o utrzymanie rozwiązań. Nie trzeba przy tym poświęcać czasu na przeglądanie niestandardowego kodu, ponieważ pracujemy z ustandaryzowanymi komponentami i szablonami. Nie jesteśmy więc uzależnieni od wiedzy konkretnych specjalistów IT, by zrozumieć jak działa i jak powinna działać dana aplikacja. Ostatecznie zyskujemy więcej czasu i zasobów do wykorzystania na nowe projekty. 

3. Backlog IT staje się mniejszy

W wielu firmach zapotrzebowanie na prace IT przewyższa możliwości samego działu. Wtedy konkretne zlecenia trafiają do blackloga i czekają na swoją kolejkę. Biorąc pod uwagę, że niedobór programistów jest bardzo duży i ciągle rośnie, nic nie wskazuje na to, aby sytuacja miała poprawić się w bliskiej przyszłości. 

Poleganie na platformach low-code sprawia, że wiele projektów realizują programiści obywatelscy. Dotyczy to zwłaszcza wewnętrznych aplikacji i usług, tworzonych na małą skalę.

4. Lepsza współpraca między działami

W firmach, które nie polegają na platformach LCNC, często dochodzi do napiętych sytuacji pomiędzy pracownikami i menedżerami a działem IT. Wiele osób naciska na IT, aby powstawały konkretne rozwiązania, natomiast specjaliści IT mają często pełne ręce roboty i nie potrzebują dodatkowych napięć i nieprzyjemnych sytuacji. 

Kiedy jednak w firmie mamy programistów obywatelskich, często wiele zapytań i potrzeb do IT może trafiać właśnie do nich. Dodatkowo wielu pracowników może samodzielnie nauczyć się obsługi konkretnych narzędzi i wprowadzać zmiany w aplikacjach, jedynie co pewien czas sięgając po wsparcie z działu IT. Relacje stają się wówczas bardziej partnerskie i mniej transakcyjne, a same projekty realizowane są w krótszym czasie i z większym zrozumieniem potrzeb obu stron. Firma przechodzi zaś transformację w kierunku digitalizacji, poprawia się obsługa klienta, a także pojawiają oszczędności.

5. Upskilling pracowników i większe możliwości rozwoju

Wiele osób chętnie rozpocznie naukę obsługi platform LCNC, ponieważ zyska dzięki temu nowe kompetencje. Ludzie chcą się rozwijać i ścieżka programisty obywatelskiego jest zdecydowanie świetnym pomysłem. Zyskujemy bowiem cenną wiedzę i umiejętności, które z czasem mogą się jeszcze rozszerzyć w stronę specjalisty IT i np. pełnoprawnego programisty. Droga od programisty obywatelskiego do junior developera nie jest daleka. 

Nauka języka programowania jest czasochłonna i wiele osób, choć ma odpowiednie chęci, często nie ma po prostu czasu. Kiedy jednak zdecydujemy się na platformy low-code, możemy szybko zacząć budowę prostych aplikacji i skupić się na tworzeniu rozwiązań dla organizacji. To z kolei szybko procentuje i zwiększa nasze szanse na awans i wyższe zarobki. Inaczej mówiąc, korzyści z programistów obywatelskich czerpie nie tylko organizacja, ale również sami programiści. 

Rapid development obniża TCO

Nowoczesne podejście do tworzenia aplikacji z wykorzystaniem low-code znacznie obniża TCO (Total Cost of Ownership), czyli całkowity koszt potrzebny do stworzenia i utrzymania projektu. 

Polegając na LCNC możemy znacznie szybciej wdrażać gotowe rozwiązania, obniżając przy tym koszty utrzymania i wsparcia. Weźmy za przykład stworzenie aplikacji w sposób tradycyjny – z pomocą programistów profesjonalnych. Do tego załóżmy, że aplikacja jest hostowana w środowisku lokalnym przez 5 lat, gdzie sporą część tego czasu poświęcamy na przeglądy, zatwierdzenia i ponowne zgłoszenia, a także wsparcie ze strony programistów i użytkowników biznesowych. Przy takich projektach, jeśli chcemy wprowadzić choćby niewielkie uaktualnienia aplikacji, musimy polegać na programistach i innych specjalistach IT. 

Teraz wyobraźmy sobie, że do podobnego projektu chcemy wykorzystać platformę low-code i weźmiemy pod uwagę komponenty wielokrotnego użytku, IDE zorientowane na współpracę oraz łatwą możliwość integrowania dodatkowych rozwiązań. Szybko skrócimy czas potrzebny na realizację wielu zadań. Firma Mendix podaje, że jeden z jej klientów poświęcał ok. 34 godz. na samo zatwierdzanie projektów, natomiast z platformą low-code skrócił ten czas do 4 godz. Biorąc pod uwagę, że średnia stawka dzienna developera jest wysoka i może wynosić ok. 350 dol., są to znaczne oszczędności kosztów. Inny przykład: w modelu tradycyjnego developmentu firma przeznaczała 7,5 godz. na obsługę każdego ticketu pomocy technicznej, a łącznie takich zgłoszeń było 25 w całym okresie życia aplikacji. Wdrożenie platformy low-code pozwoliło na zmniejszenie tych liczb o odpowiednio 40% i 60%. 

Dodajmy, że to tylko część oszczędności, jakie pojawią się po wdrożeniu low-code. Łącznie skrócimy czas rozwoju aplikacji jeszcze bardziej, co pozwoli na zaoszczędzenie pieniędzy czy też na rozwój większej liczby rozwiązań w tym samym czasie. 

Mendix obrazuje szybkość rozwijania projektów z platformą low-code w taki sposób:

Na podstawie źródła: mendix.com

Dzięki low-code możemy szybciej wdrażać rozwiązania i generować wartość. Wiele projektów jest gotowych po miesiącu zamiast po czterech, więc zyskujemy dodatkowe trzy miesiące, kiedy konkretne rozwiązanie może już obsługiwać klientów. To z kolei więcej przychodów dla firmy – na grafice w każdym miesiącu generowany jest przychód rzędu 200 tys. dol., więc mówimy tutaj o 600 tys. dol. dodatkowych środków.

Wyzwania związane z programowaniem obywatelskim

Tworzenie oprogramowania LCNC zapewnia duże korzyści, ale pojawiają się także wyzwania związane z zarządzaniem. Szerokie wykorzystanie tych narzędzi, w dodatku bez nadzoru ze strony IT, może doprowadzić do zjawiska shadow IT. Chodzi o tworzenie rozwiązań technologicznych – głównie oprogramowania, aplikacji i usług – które powstają bez wyraźnej wiedzy i zgody działu IT. 

Programiści obywatelscy, kiedy działają w pełni samodzielnie, mają tendencję do tworzenia aplikacji, które nie są skalowalne albo brakuje im kluczowych funkcji i zabezpieczeń. Takie aplikacje są jednak przekazywane pracownikom, a ci zaczynają z nich korzystać. Innym wyzwaniem jest to, że w momencie, gdy autor aplikacji odejdzie z firmy, brakuje później osób, które wiedziałyby jak wprowadzać zmiany w krótkim czasie i zapewnić wsparcie techniczne innym współpracownikom. 

O co warto zadbać?

Z tych powodów warto nadzorować prace związane z projektami LCNC i dbać o takie elementy jak odpowiednie zabezpieczenia czy dokumentacja techniczna (choćby podstawowa). Powinniśmy także zatroszczyć się o współpracę pomiędzy programistami i specjalistami IT a programistami obywatelskimi, polegającą na przekazywaniu gotowych aplikacji do działu IT. Firmy muszą zachować pewien stopień kontroli nad rozwojem oprogramowania LCNC i z tego powodu dobrą strategią jest model hybrydowy. Polega on na tym, że programista obywatelski tworzy i rozwija aplikację w 80%, a następnie przekazuje ją do profesjonalnych programistów, aby mogli ją dopracować i udostępnić w firmie. Proces ten jest wspierany przez dojrzałe platformy LCNC, które zapewniają odpowiednie standardy pracy, ujednolicone procesy wytwórcze oraz umożliwiają budowanie wspólnych polityk dla wszystkich uczestników procesu przygotowania, wdrażania i utrzymania zmian. Sumarycznie takie podejście sprawia, że dział IT zyskuje pewność co do bezpieczeństwa aplikacji, sprawdza czy wszystko działa poprawnie i może też dodać odpowiednie integracje, zwiększające funkcjonalność. Jeden programista profesjonalny może wspierać w ten sposób np. pięciu lub więcej programistów obywatelskich. 

Zanim jednak rozwój aplikacji będzie wspierany przez profesjonalnych programistów, programista obywatelski powinien jeszcze ustalić odpowiedni zakres prac z kierownikiem działu. To właśnie menedżerowie tej rangi powinni edukować pracowników na temat działania technologii low-code, zachęcać do rozwoju odpowiednich aplikacji, przekazywać dostępy do narzędzi, jak również ustalać zakres prac i obszarów operacyjnych tak dla programistów obywatelskich, jak i profesjonalnych. 

Szkolenia dla całych zespołów

Często niezbędne są szkolenia, aby poznać wszystkie najważniejsze funkcje systemów LCNC. Menedżerowie i dyrektorzy muszą bowiem wiedzieć, jakie są najlepsze praktyki w zakresie rozwiązań LCNC, co jest możliwe, a także w jakim zakresie. Warto również przygotować np. wewnętrzną bazę wiedzy SharePoint i zapewnić w takim intranecie dostęp do odpowiednich dokumentacji, poradników i materiałów szkoleniowych, aby programiści obywatelscy mogli szybko uczyć się technologii low-code i wiedzieć, co zrobić, gdy napotkają na problemy w trakcie rozwijania aplikacji. 

W dobie niedoboru specjalistów IT i rosnących kosztów biznesowych systemy low-code stają się coraz ważniejszą, często nieodłączną częścią infrastruktury IT. Zwłaszcza że prawie każda organizacja potrzebuje obecnie więcej talentów do tworzenia rozwiązań technologicznych. Jeśli chcemy umacniać swoją pozycję i dalej budować przewagę konkurencyjną, warto postawić na LCNC.

Nowoczesna platforma low-code

Samodzielnie twórz i rozwijaj aplikacje z Mendix, niezależnie od tego, czy potrafisz kodować.

Grzegorz Kubera

Były redaktor naczelny benchmark.pl i Laptop Magazine. Publikował w CD-Action, Esquire, PC World, Bloomberg Businessweek. Dziennikarz ekonomiczny i technologiczny. Autor dwóch książek biznesowych, bestsellerów na polskim rynku: "Przeskok. Jak rozwinąć własny biznes, kiedy wciąż pracujesz na etacie" (2019) oraz "Stwórz jednorożca. Od idei po startup wart miliony" (2016). Specjalizuje się w oprogramowaniu, cybersecurity, programowaniu i chmurze.

Więcej od tego autora