Oświecony informatyk

Procesy żywe

Alexander interesuje się tzw. strukturami żywymi, czyli (trochę upraszczając) strukturami, które powodują, że czujemy się w ich obecności ożywieni, bardziej wolni, bardziej ludzcy, czyli jak mówi Alexander generują w nas głębokie uczucie (do tego terminu jeszcze wrócę). Struktury takie powszechnie występują w naturze, również w tradycyjnym budownictwie, czy dawnych wytworach rzemiosła, natomiast są rzadkością w wytworach współczesnej cywilizacji. Co istotne, struktury żywe nie tylko w naturalny sposób przyczyniają się do samorozwoju, ale również mogą mieć kluczowe znaczenie dla technicznej jakości systemów.

Interesuje go także, jakie procesy mogą doprowadzić do powstania struktur żywych. Okazuje się, że jest to wąska klasa procesów, które nazwał procesami żywymi. Ogólnie mówiąc procesy takie działają poprzez sekwencyjne rozwijanie całości, podobnie jak rozwija się np. zarodek (osoby zainteresowane szczegółami odsyłam do prac Alexandera, zwłaszcza "The Nature of Order, Book Two, "The Process of Creating Life").

Nawiasem mówiąc, procesy opisywane przez Alexandera mają nie tylko takie znaczenie, że informatyka może stać się bardziej ludzka, mogą mieć ogromny wpływ również na jakość od strony technicznej tworzonych systemów i sam proces tworzenia systemów. Jak mówi Alexander: "W terminach tworzenia oprogramowania oznacza to, że można powiedzieć, jaki rodzaj procesu może wytworzyć dobry kod, a jaki nie. Mówiąc bardziej dramatycznie, możemy określić proces, który zawsze wygeneruje dobry kod".

Jednak, co jest istotne z punktu widzenia tematu niniejszego artykułu, to wpływ procesów żywych na człowieka. Działają one, podobnie jak żywe struktury, lecząco i integrująco na osobowość osób uczestniczących w nich. Zatem praca może być nie tylko środkiem do osiągania określonych celów, ale również drogą rozwoju i samopoznania, może być znacznie bardziej twórcza i radosna (a ponieważ rezultatem są struktury żywe, podobny wpływ powinny mieć tworzone systemy na użytkowników). Nie jest to tak naprawdę nowość, niektóre rodzaje pracy od dawna są wykorzystywane w psychoterapii, a kilka wieków temu paca i rzemiosło w naturalny sposób były połączone z rozwojem osobistym i duchowym. Natomiast możliwość (i zasadność) stosowania takich procesów w informatyce oraz ich zalety systemowe na pewno są dużym zaskoczeniem dla wielu informatyków.

Głębokie uczucie

Jednym z fundamentalnych aspektów tej teorii, mogących budzić najwięcej sprzeciwów wśród osób przyzwyczajonych do powszechnie stosowanych procesów technicznych, jest podstawowa rola głębokiego uczucia (związane jest ono z takimi pojęciami, jak: dobro, prawda, piękno). Jest ono podstawowym kryterium procesów żywych. Tak na ten temat pisze Alexander: "Twierdzę, że każdy proces żywy opiera się na generowaniu głębokiego uczucia. I twierdzę, że ta jedna idea zawiera w sobie wszystkie inne idee i obejmuje wszystkie inne aspekty procesu żywego. Można również powiedzieć, że ta wizja procesu żywego (...) ma największe znaczenie dla przyszłości ludzkości".

Warto zwrócić uwagę na dwie sprawy. Po pierwsze, Alexander używa liczby pojedynczej, "głębokie uczucie", i odróżnia je od emocji. Na poziomie emocji zazwyczaj nie ma zgodności między ludźmi, są one subiektywne. Głębokie uczucie jest obiektywne, to znaczy istnieje ogromna zgodność między ludźmi co do tego, która struktura generuje silniej to uczucie, a która słabiej (obiektywność głębokiego uczucia to kolejny trudny punkt teorii Alexandera, nie ma tu jednak miejsca na szersze potraktowanie tego zagadnienia, choć jest to jedna z podstawowych koncepcji

- Alexander przeznaczył na to w "The Nature of Order" kilkadziesiąt stron). Po drugie, nie chodzi tu o wyrażanie swoich uczuć w procesie tworzenia, o czym często się mówi w przypadku sztuki współczesnej, czy niektórych rodzajów psychoterapii. Nie przelewamy naszych uczuć na dzieło (dom, obraz, system informatyczny), lecz budujemy je w taki sposób, żeby wywoływały w nas głębokie uczucie.

Głębokie uczucie jest - to kolejne zaskakujące odkrycie Alexandera - mocno związane z funkcjonalnością. Jakość i funkcjonalność systemu od strony technicznej są silnie skorelowane z tym, jak bardzo wywołuje on głębokie uczucie (warto zwrócić uwagę, że niezależnie od tego, jak nieprawdopodobnie to może brzmieć, nie jest to stwierdzenie teoretyczne, lecz fakt potwierdzony eksperymentalnie). Nie jest to zresztą zupełna nowość, intuicja w pracy dobrych specjalistów zawsze odgrywała dużą rolę, choć nie wszyscy się do tego przyznają. Novum stanowi to, że Alexander czyni z tego naczelną zasadę. Co więcej, opracował techniki, które pozwalają stosować ją w sposób obiektywny i precyzyjny.

Jeżeli kogoś razi zbyt "subiektywny" język, można to wyrazić w terminach systemów złożonych, niezmienników strukturalnych, transformacji i łamania symetrii. Praca Alexandera jest poważnym dziełem naukowym, chociaż w kilku miejscach narusza różne tabu nauk ścisłych i inżynierii.

Dla zainteresowanych

Osoby zainteresowane pracami Alexandera odsyłam do jego książek, zwłaszcza "The Nature of Order". W Internecie można znaleźć tekst jego wystąpienia z konferencji OPSLA (Object-Oriented Programs, Systems, Languages and Applications)http://www.patternlanguage.com/archive/ieee/ieeetext.htm . Dobrym wprowadzeniem do "The Nature of Order" od strony teorii złożoności jest praca "New Concepts In Complexity Theory: A Scientific Introduction to the Concepts in the Nature of Order", dostępna na stroniehttp://www.natureoforder.com/library-of-articles.htm .

Humanistyczna inżynieria oprogramowania

O dziwo, zainteresowanie wśród informatyków tego rodzaju ideami jest spore. Okazuje się, że wielu informatyków prywatnie interesuje się psychologią, filozofią, sztuką czy rozwojem duchowym.

Adaptacja prac Alexandera nie jest jedyną próbą humanizacji informatyki. Środowisko IT szuka inspiracji w teatrologii (np. książka "Computers as Theatre Brendy Laurel"), teorii literatury (w 2004 r. prestiżowa nagroda ACM Allen Newell Award została przyznana m.in. za prace nad związkami informatyki z poetyką), czy etnografii (taka inspiracja stoi m.in. za książką "Organizational Patterns of Agile Software Development" Jamesa Copliena i Neila Harrisona).

Niedawno została zainicjowana akcja Humanistyczna inżynieria oprogramowania - interdyscyplinarne forum na temat humanizacji inżynierii oprogramowania, którego celem jest m.in. stworzenie i promocja praktyk IT ukierunkowanych na rozwój osobowości (zarówno twórców, jak i użytkowników oprogramowania). Więcej informacji na temat akcji na stronie internetowej:http://www.projekt-hio.info. Osoby zainteresowane mogą też bezpośrednio skontaktować się z autorem artykułu: [email protected] .

Dla Computerworld komentuje Jacek Jakubowski, psycholog biznesu, Grupa TROP

W światowych ideach dotyczących zarządzania dominuje obecnie przekonanie, że w społeczeństwie wiedzy ludzie muszą się cały czas uczyć, a właściwie rozwijać. Nie chodzi tylko o nabywanie nowych umiejętności, ale o realizację własnych pasji, angażowanie się w swoją pracę, kształtowanie postaw otwartości, aktywności. Od tego dzisiaj bowiem zależy konkurencyjność firmy. Im bardziej ludzie są zainteresowani udoskonalaniem produktów, tym firma staje się bardziej konkurencyjna. Konieczne staje się przechodzenie od metod prostego rządzenia pracownikami do metod stymulującego zarządzania społecznością ludzi rozwijających się. Jednym z ważnych zadań jest budowanie atmosfery zaufania, tak aby nikt nie bał się zadawać pytań. Gdy społeczność pracownicza jest otwarta, nastawiona na komunikację, ludzie łatwiej dzielą się z innymi swoimi obawami, przypuszczeniami, hipotezami. To jest bardzo ważne, bo pozwala identyfikować i likwidować błędy w produktach, przyczynia się do udoskonalania oferty. W kulturze rozwoju pytanie jest wartością, daje szanse twórczego podejścia do problemu. Pracownik może pokazać, w czym jest dobry, a w czym potrzebuje wsparcia ze strony innych. Artykuł wpisuje się właśnie w ten nurt idei, przenosząc je na grunt informatyki.

Dla Computerworld komentuje prof. Marcin Paprzycki, Szkoła Wyższa Psychologii Społecznej w Warszawie

Rozszerzenie rozumienia zawodu informatyka poza czyste kodowanie jest obecnie bardzo popularne. W najnowszym numerze "Communications of the ACM" znaleźć można kilka artykułów poświęconych tej tematyce, prezentujących ją w różnych ujęciach, z różnych punktów widzenia. Warto zauważyć, że i w Polsce tego typu podejście wydaje się coraz bardziej przenikać do środowiska informatycznego. Na przykład w czasie ostatnich Jesiennych Spotkań Polskiego Towarzystwa Informatycznego blok poświęcony tego rodzaju zagadnieniom cieszył się bardzo dużym powodzeniem wśród uczestników konferencji. Propozycja Jacka Sokulskiego jest jednym z wielu przykładów podobnych i potrzebnych rozważań. Szkoda tylko, że nie dowiadujemy się prawie nic na temat tego, jak proponowana humanistyczna inżynieria oprogramowania miałaby w praktyce funkcjonować.

Równocześnie, z mojego punktu widzenia, proponowane kierunki poszukiwań wydają się być za bardzo skoncentrowane na jednostce i jej potrzebach.

Biorąc pod uwagę fakt, że Albert Einstein nigdy nie stworzył wokół siebie grupy współpracowników, Goethe był raczej samotnikiem, a Albert Schweitzer nie pracował w zespole, tylko kierował zespołem (a to jednak duża różnica), można mieć spore wątpliwości, czy rzeczywiście zespół samorealizujących się informatyków byłby w stanie wykonać projekt wymagający współpracy, bezwzględnej dyscypliny i podporządkowania się wymaganiom klienta.

Dla Computerworld komentuje dr Jacek Zakrzewski, Szkoła Wyższa Psychologii Społecznej w Warszawie

Moje doświadczenie w pracy z informatykami to często rodzaj zmagania się z barierą komunikacyjną. Z jednej strony osoba, która wie, czego potrzebuje, ale nie wie, jak to osiągnąć, z drugiej strony specjalista, wyposażony w wiele umiejętności, który nie bardzo wie i chce się dowiedzieć, po co to wszystko.

Wiadomo, że informatyk to pojęcie nieostre: obejmuje zarówno - jak ma to miejsce również w innych zawodach - jednostki wybitne, jak i mocno przeciętne czy wręcz mierne. Niezależnie od swojej klasy, jest to na ogół osobnik małomówny, tajemniczy, często posługujący się magicznym zwrotem "tego nie da się zrobić".

Autor, mówiąc o osobowości, umiejętnościach komunikowania się, inteligencji emocjonalnej, kreatywności wskazuje na rzeczy oczywiste - tego wymagamy dzisiaj na wielu stanowiskach pracy i od wielu grup zawodowych. Informatycy nie są tu żadnym wyjątkiem. Jeżeli do tej pory ten aspekt ich rozwoju był zaniedbywany, wynika to jedynie ze szczególnego statusu, jaki potrafili uzyskać w nowoczesnych przedsiębiorstwach oraz gorliwego budowania własnego wizerunku - współczesnego szamana, osoby nieco wyalienowanej, której efekty pracy z punktu widzenia niespecjalisty w małym stopniu poddają się ocenie. To bardzo wygodne ulokowanie, nieprawdaż?

Oświecony informatyk to jeszcze pieśń przyszłości. Jesteśmy dopiero na etapie przebudzenia, krytycznej refleksji nad deficytami umiejętności komunikowania się, podążania za klientem wewnętrznym czy zewnętrznym. Oświecenie wymaga czegoś więcej - powstania pewnej normy, standardu pracy informatyka w relacji do osób z własnej grupy, jak i konsumentów efektów tej pracy.

I ostatni wątek - jak wszyscy twórcy i wizjonerzy, tak i niektórzy informatycy marzą o wielkich odkryciach i całkiem nowych zastosowaniach. Wehikuł czasu, sztuczna inteligencja, systemy samouczące się, literatura, poezja, gra na giełdzie czy w kasynie. Takie wyzwania to dopiero jest coś. Wymaga to wyjścia poza własne hermetyczne środowisko. I na pewno warto. Któż z nas nie chciałby mieć interesującej pracy?


TOP 200