Paralaksa albo informatycy też ludzie

Artykuł Andrzeja Gontarza ''Język informatyki i reszta świata'' (CW nr 5/2001) pozostawił mnie z uczuciami, które najtrafniej można uznać za mieszane. Pada w nim wiele stwierdzeń, z którymi na podstawie osobistych doświadczeń się zgadzam. Są one jednak dość starannie wymieszane z budzącymi mój sprzeciw opiniami wyrażanymi w artykule głównym i innych towarzyszących tekstach tego bloku. Publikacja niniejsza nie jest więc polemiką, a raczej komentarzem oraz - co było powodem jej powstania - próbą przedstawienia konstruktywnych propozycji.

Artykuł Andrzeja Gontarza ''Język informatyki i reszta świata'' (CW nr 5/2001) pozostawił mnie z uczuciami, które najtrafniej można uznać za mieszane. Pada w nim wiele stwierdzeń, z którymi na podstawie osobistych doświadczeń się zgadzam. Są one jednak dość starannie wymieszane z budzącymi mój sprzeciw opiniami wyrażanymi w artykule głównym i innych towarzyszących tekstach tego bloku. Publikacja niniejsza nie jest więc polemiką, a raczej komentarzem oraz - co było powodem jej powstania - próbą przedstawienia konstruktywnych propozycji.

Tekst, do którego się odnoszę, był częścią redakcyjnego bloku, do którego należy również wywiad z Ewą Bielicką, psychologiem z PKN Orlen. Nie ośmielę się polemizować z naukowo uzasadnionymi spostrzeżeniami pani Ewy, chciałbym jednak zwrócić uwagę, że patrząc z mojej - zawodowego informatyka - perspektywy, odnoszę wrażenie, że być może pani psycholog z kolei jest niewolnikiem aparatu pojęciowego swojej profesji. Zgadzam się ze spostrzeżeniami przedstawionymi w wywiadzie, dostrzegając wszakże perły nie zauważane przez użytkowników pod "plugawym czerepem" duszy informatyków.

Teza pani Bielickiej o ograniczonej zdolności informatyków do skutecznego komunikowania się w mowie, piśmie i uczynku jest prawdziwa, ale liczne wyjątki nieco ją osłabiają. Czołowi felietoniści CW: panowie Piotr Kowalski i Jakub Chabik są nie tylko praktykującymi informatykami, ale wręcz inżynierami, ekonomista, pan Bogdan Pilawski, jest również czynnym informatykiem, członkiem władz Polskiego Towarzystwa Informatycznego. Na łamach innych czasopism branżowych niespodziewanie wielu informatyków uprawia felieton, który jest formą szczególnie wymagającą językowo.

Sądzę, że zgrzyty percepcyjne i komunikacyjne pomiędzy informatykami a "normalnymi ludźmi" są w pewnym sensie symetryczne i noszą znamiona błędu paralaksy - obie strony patrząc na to samo, widzą co innego. Nie ma w tym złej woli ani zmowy, jest tylko obiektywny problem, którego połajanki nie rozwiążą. Myślę również, że nie będzie przejawem pyszałkowatości odrzucenie powszechnego społecznego postulatu przyjęcia przez informatyków wyłącznie sposobu komunikacji wymaganego przez użytkownika. Żądanie minimalnej precyzji w wyrażaniu potrzeb przez użytkownika jest ze strony informatyków dość oczywiste, a spełnienie tego warunku jest elementarnym wymogiem powodzenia wspólnego przedsięwzięcia, jakim jest opracowanie lub wdrożenie systemu informatycznego.

To prawda, mózgi informatyków i "reszty świata" z tekstu Andrzeja Gontarza pracują nieco inaczej: stwierdzenie "Czy zauważyłeś, że ogromna większość ludzi ma liczbę nóg większą od średniej?" - z gruntu prawdziwe - wywołuje radosną reakcję prawie każdego znanego mi informatyka oraz na ogół skonfundowane stwierdzenie użytkowników: "Ależ ludzie nie mają trzech nóg". Z kolei apokryficzna anegdota o nabywcy, który nie mógł zainstalować programu z dyskietek, bo po komunikacie "Włóż kolejną dyskietkę i naciśnij klawisz" wkładał ją, bez wyjmowania poprzedniej, jest przez informatyków kwitowana stwierdzeniem: "Co w tym śmiesznego, on przecież działał według instrukcji?". Zdanie: "Aby zrozumieć rekursję, trzeba rozumieć rekursję" staje się zabawne, dopiero kiedy się rozumie rekursję.

Śmiem wszakże twierdzić, że nie w krytykowanym języku informatyków tkwi sedno problemu. Język abstrakcyjnych modeli, w dużej mierze niezrozumiały dla użytkowników, jest niezbędnym medium komunikacji "technicznych" ludzi ze sobą. Typologia charakterów ludzkich jest budowana przy założeniu, że ludzie są albo komunikatywni, albo zamknięci, albo energiczni, albo ospali, albo wybuchowi, albo flegmatyczni. Sedno sprawy tkwi właśnie w słowie "albo". Zbiór cech charakterologicznych niezbędnych do skutecznego konstruowania programów jest poniekąd sprzeczny z takim, jaki ułatwiałby wydobywanie precyzyjnych wymagań z niejasnych, a często sprzecznych wypowiedzi użytkownika.

Cytowana w artykule opinia doc. Andrzej Kocikowskiego, że "sami informatycy dbają o to, by grono wybranych i wtajemniczonych zbytnio się nie poszerzyło, nie zależy im na rozwijaniu umiejętności użytkowników...", wydaje mi się absurdalna. Z informatyczną dociekliwością pozwolę sobie ją poddać rozbiorowi logicznemu. Kto? Informatycy. Informatycy, czyli kto? No, programiści. A jacy programiści mają wpływ na edukację użytkowników; czy od murarza wymagalibyśmy objaśnienia zasad obliczeń wytrzymałościowych? No, raczej nie. No to w takim razie kto? No ci panowie, którzy przygotowują projekt. Tych panów akurat na kuli ziemskiej brakuje już kilka milionów, więc jaki mają interes w tym, żeby komplikować sobie pracę, spędzając u klienta czas, który gdyby znaleźli wspólnie z klientem lepszą metodę komunikacji, mogliby poświęcić na pracę u kolejnego klienta i zarobić dużo pieniędzy? Nie wiem, czemu, ale coś jest nie tak.

Myślę, że pół kroku w stronę odpowiedzi zrobił Andrzej Gontarz, pisząc: "Nie mamy kłopotów, aby uzgodnić szczegóły projektu domu z architektem. Trudno natomiast porozumieć się nam z informatykiem w kwestii projektu bazy danych. Jesteśmy w stanie odczytać nawet znaczną część rysunków technicznych wykonanych przez architekta, ale nie potrafimy odszyfrować kodu źródłowego programu komputerowego. Dlaczego tak się dzieje?".

Metafora architektoniczna jest tu, moim zdaniem, kluczowa. Kiedy myślimy o budowie nowego domu, dyskutujemy najpierw o jego funkcjach i naszych marzeniach z przyszłymi mieszkańcami, wyobrażamy sobie, jakie wymogi użytkowe i estetyczne są dla nas najważniejsze. Dopiero kiedy mamy już o czym rozmawiać, wzywamy architekta. Ten zwraca nam uwagę na ograniczenia płynące z kształtu działki, układu mediów, charakterystyk materiałów, które mają być użyte. W trakcie tej dyskusji zawieramy wiele kompromisów, uwzględniając czas realizacji, cenę itd. W pierwszym etapie nie wnikamy w szczegóły: tu sypialnia, tam dwie łazienki, dach dwuspadowy. Technika kładzenia więźby nie zaprząta nam głowy. Koncepcję architektoniczną na projekt techniczny przenoszą panowie projektanci. Ich jest już kilku: jeden liczy statykę, drugi uzgadnia wymagania z energetyką, trzeci projektuje wnętrza. Na końcu panowie fachowcy wylewają fundament, inni kładą cegły, kolejni zakładają kanalizację, elektryczność, malują.

Nie przyszłoby nam nigdy do głowy wrzucać pana architekta i pana Franka, który klnie jak szewc, choć jest hydraulikiem, do jednego worka i mówić, że budowlańcy strasznie bluzgają, choć niekiedy pan architekt musi panu Frankowi wytłumaczyć, że ten coś robi nie tak, używając jego języka. Tymczasem zbiorowy rzeczownik "informatycy" używany jest w stosunku do wszystkich, którzy z komputerem mają coś wspólnego. Koncepcja podziału ról w informatyce użytkowej sprawdza się w praktyce od kilkudziesięciu lat. Umiejętności potrzebne architektowi systemu są zbędne koderowi programu i po części na odwrót. Sądzę więc, że problem nie w języku, a w organizacji pracy: na zwiad trzeba wysyłać pracowników asertywnych, a na tyłach trzymać sprawnych manualnie.

Nie widzę najmniejszej potrzeby, aby użytkownik odszyfrowywał kody programów. Z betoniarzem nie dyskutujemy na ogół o proporcjach piasku, wody i cementu, bo to nie nasza sprawa. Zakładamy, że ktoś, kto się na tym zna, pilnuje sprawy. Odpowiednikiem rysunków technicznych w informatyce są różne modele: danych, procesów, interakcji i tych, jak wynika z moich doświadczeń, użytkownik może się nauczyć. Tak jak w przypadku projektowania domu istnieje cała hierarchia takich modeli służących precyzyjnemu porozumiewaniu się uczestników procesu budowy na różnych etapach i poziomach. Składu betonu pilnują pracownicy odpowiedzialni za jakość.

Tak więc, powtarzam, istota problemu tkwi nie w cechach charakterologicznych czy rodzaju komunikacji, a w organizacji procesu wytwórczego. W obecnej dobie problemem czyniącym sytuację trudną dla obu stron jest wspomniany brak odpowiednio przygotowanych pracowników. To jest oczywiście kamyczek do naszego, informatycznego ogródka: nikt za nas nie określi podziału ról i proporcji oraz kompetencji pracowników mających je pełnić.

Z obowiązku zaproponowania metod i technik komunikacji natomiast informatycy wywiązują się coraz lepiej, co jest dowodem na zachodzenie procesu dojrzewania dziedziny. Na przykład w artykule Borysa Stokalskiego Macro Patterns: Translating E-Business Strategy into Information Systems Architecture, opublikowanym w miesięczniku IT Cutter Journal w sierpniu 2000 r., autor proponuje zastosowanie wzorców architektonicznych, jako platformy komunikacji z użytkownikiem. Odpowiednikiem fundamentu z tekstu Andrzeja Gontarza może być np. system ERP, liczbę okien w budynku określamy liczbą cyfrowych kanałów komunikacyjnych (WWW, WAP, kiosk informacyjny), odpowiednikiem ścian może być broker informacyjny, a dachu - hurtownia danych. Sądzę, że z czasem - i to już raczej niedługim - użytkownicy przyjmą propozycję komunikowania się na tym poziomie.

Aby powstał wykonany profesjonalnie program, potrzeba wielu wykonawców o różnych specjalnościach i różnych cechach charakteru. To oczywiście kosztuje, zwłaszcza wobec braku odpowiedniej liczby profesjonalistów na rynku pracy. Zapotrzebowanie na nich czyni ich płace odpowiednio wyższymi, nieważne czy sprawiedliwie czy nie. Tak po prostu jest na obecnym etapie rozwoju tej dziedziny techniki. Andrzej Gontarz pisze: "Gdy reguły operowania w przestrzeni wirtualnej staną się składnikami społecznego doświadczenia i wiedzy, bariera komunikacyjna zostanie usunięta..." i tu się z nim zgadzam: kupując samochód z ABS-em, nie kupujemy rozwiązania technicznego, tylko cechę pojazdu zwiększającą bezpieczeństwo jazdy. Jeśli sprzedawca nie umieścił jej w promocji, to płacimy za nią dodatkowe pieniądze.

Tymczasem użytkownicy (mam świadomość, że wpadam w pułapkę uogólnienia, przed którą ostrzegałem kilka akapitów wcześniej) wyznają często zasadę, że skoro oni płacą, to wymagają, aby "państwo od komputerów" zrobili tak, żeby było dobrze. Sądzę, że ważnym składnikiem społecznego doświadczenia powinno stać się również to, że statystycznie rzecz biorąc dostaje się to, za co się zapłaciło. Jeśli uważamy, że nie stać nas na to, żeby zatrudnić firmę, w której będą zarówno sprawni programiści, jak i analitycy-konsultanci szkoleni w określaniu wspólnie z klientem wymogów przyszłego systemu oraz pracownicy odpowiedzialni za jakość i czytelne przygotowanie dokumentacji, to rozmawiamy z kimś, kogo kwalifikacje nie są wystarczające, ale za to jest on tani. Jednym z efektów jest potem narzekanie na informatyków, jako takich. Problem etyki zawodowej, czyli podejmowania się zadań ponad siły przez niektórych informatyków, pozostaje poza zasięgiem tego artykułu, choć oczywiście godzien jest dyskusji, na przykład na łamach Computerworld.

No i wróciliśmy do języka, ale na poziomie, na którym chyba łatwiej będzie znaleźć porozumienie. Mówiąc o informatyce i do informatyków, trzeba po prostu poważnie rozmawiać o pieniądzach: tych, które dzięki informatyce się zarobi, i tych, które trzeba na to wydać.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200