Trochę informacji i rozmyślań

Dylematy nowoczesnych systemów

Nie tak dawno kolega z pracy podesłał mi zdjęcie jednego slajdu z prezentacji, podczas której mówiono o tym jak powinny wyglądać produkty przyszłości. Z mojego punktu widzenia nie okazało się to niczym odkrywczym. Pożądane cechy takiego produktu są bowiem oczywiste. To intuicyjność i idąca za tym łatwość użytkowania, kompleksowe podejście do rozwiązywanego problemu, czy wreszcie wbudowana logika i „zaszyte” doświadczenie twórców i wcześniejszych użytkowników. Dało to jednak impuls do napisania tej notatki.

Intuicyjność i łatwość użytkowania nie wymagają komentarza. W kompleksowym podejściu do rozwiązywania problemu kryje się nie tylko kompletność rozwiązania, ale też „rozwiązywanie problemu”. Produkt powinien coś rozwiązywać, a nie być stworzony dla samego istnienia.

Wbudowana logika i doświadczenie to te cechy, na których dzisiaj chcę się przez chwilę skupić. Nie byłbym sobą, gdybym nie odniósł tego tematu do tworzenia systemów informatycznych.

Od zawsze staram się projektować i tworzyć systemy, które będą łatwe w użyciu. Automatyzuję możliwie dużo procesów, upraszczam czynności wykonywane przez użytkownika. W systemach, nad których rozwojem pracuję przez kilka lat, stopniowo wdrażam doświadczenie nabyte przez użytkowników i ich wiedzę. I w przypadku takich systemów mam okazję do obserwacji.

Chcąc nie chcąc, kolejne wersje systemów wprowadzają w życie użytkowników kolejne uproszczenia. Zwalniają ich z wykonywania jakichś powtarzalnych czynności. Przygotowują analizy, które do tej pory przeprowadzali sami. Zapewniają zmniejszenie liczby sytuacji, w których można popełnić błąd… Zwalniają z myślenia.

Jakiś czas temu doszedłem to takiej konkluzji i zmusiło mnie to do zastanowienia, czy systemy informatyczne na pewno powinny iść tą drogą? Czy zaszywanie coraz większej ilości logiki wewnątrz oprogramowania jest na pewno słusznym kierunkiem? Ostatecznym stadium rozwoju takiego systemu może być przecież maszynka, która potrzebuje do obsługi niewykwalifikowanego „klikacza”.

Z punktu widzenia produktywności – super, im prościej i z mniejszą ilością błędów tym szybciej, im szybciej tym potencjalnie więcej. Z punktu widzenia użytkownika – im mniej myślenia wymaga obsługa systemu, tym większe problemy będzie on miał z obsłużeniem zagadnienia nietypowego. Ostatecznie może nawet nie wiedzieć jak dany proces, obsługiwany przez system informatyczny, przebiega.

Pytanie – czy można inaczej?

W tle rozmyślań pojawiają się kwestie dotyczące systemów „z drugiej strony”. Czy bez automatyzacji, bezbłędności (niewłaściwej ludziom) jesteśmy w stanie funkcjonować pod nadzorem systemów np. kontrolujących VAT? Czy jesteśmy w stanie zapewnić prawidłowość raportowania w przypadku projektów, zachowując przy tym pewność, że wszystko jest w porządku, a nie nadzieję, „że nic nie znajdą”?

Systemy pracujące na dużych pakietach danych, do tego sprzężona sztuczna inteligencja (szczególnie uczenie maszynowe) stopniowo sprawiają, że człowiek nieuzbrojony w system informatyczny staje się bezbronny np. przy kierowanej kontroli (już dzisiaj znalezienie próby, którą należy sprawdzić, aby coś znaleźć nie stanowi dla kontrolujących problemu).

Pozostaje więc skupić się na tym, aby systemy informatyczne były „produktami przyszłości” i spróbować przekazać, jak działają „pod maską”. A skoro systemy informatyczne będą zwalniały z myślenia w trakcie pracy, to warto mieć hobby, które z myślenia nie zwalnia.