czwartek, 5 lutego 2015

Bardzo ciekawi prelegenci na RE-Challenge!

Mamy bardzo ciekwych prelegentów na RE-Challenge, a to dopiero początek:


   Krzysztof Wnuk, profesor w Blekinge Institute of Technology (Szwecja), - życiorys szczegółowy
"Requirements Engineering Pays Off - Business Decisions at International Corporations" (15 maja, 09:10-09:50) 

   Ulf Eriksson, założyciel i właściciel firmy ReQtest - życiorys szczegółowy "Scrum Requirements Engineering for Cloud Architecture" (15 maja, 09:50-10:30)

   Jérôme Khoualed, Altran, współpracownik znanego systemu certyfikacji inżynierii wymagań IREB oraz popularnej w Polsce certyfikacji REQB - życiorys szczegółowy"Improving requirements and test management based on business needs" (15 maja, 12:0-12:30)

   Krysitan Kaczor, kaczor.info, autor książki "Scrum i nie tylko. Teoria i parktyka w metodach Agile""Wymagania w Agile Scrum" (15 maja, 10:30 – 11:00)

   Michał Śmiałek, profesor Politechniki Warszawskiej, autor książki "From Requirements to Java in a Snap" - życiorys
"Od wymagań do Javy w mgnieniu oka" (15 maja, 11:20 - 12:00)

środa, 4 lutego 2015

Ruby on Rails

Napisano:
  • szybkość, łatwość i przyjemność pisania kodu,
  • reguła DRY (ang. Don't Repeat Yourself), polegająca na unikaniu powtarzania tej samej pracy w różnych miejscach, [ale oryginalne!]
  • reguła Convention Over Configuration, polegająca na sprowadzeniu do minimum niezbędnej konfiguracji przez zastępowanie jej gotowymi domyślnymi, zalecanymi wzorcami, [ryzykowne...]
  • możliwość użycia wtyczek, które w sposób błyskawiczny rozszerzają aplikacje o rozmaite funkcje, jak logowanie, przesyłanie i skalowanie obrazków, czy tagowanie. [no, oryginalność pomysłu po prostu powala]
Jakoś już podobne założenia widziałem... 30 lat temu? Simula? Modula? Nihil novi sub sole...
 
A to - COBOL:
  • ADD A TO B GIVING C.
Mnie to przypomina "sepcification by example", a Wam?



Ileż w nas agresji!

Ponownie, jako członek zarządu Koła Studentów Informatyki UJ, żądam usunięcia...
   
Oczywiście, na prośbę (wystarczy: "REZYGNUJĘ"...) usuwam adresatów z listy. Oczywiście, każdy ma prawo zmienić zdanie (kiedyś się na tę listę zapisał).  Tylko... dlaczego "ponownie"? Usuwam, jak wiecie, od ręki, czyli żadnego "ponownie" być nie mogło.

Życzę powodzenia z "Ruby on Rails"... Skoro to, zdaniem KSI, jest "informatyka". Następny - kurs PowerPoint? ;-)

Subject:     Re: Informatycy kochają pop-psychologię!
Date:         Tue, 03 Feb 2015 20:45:08 +0100
From:        Arkadiusz Czekajski
To:            Bogdan Bereza
 

Ponownie, jako członek zarządu Koła Studentów Informatyki UJ, żądam usunięcia z Pańskiej listy mailingowej wszelkich adresów mailowych leżących w domenie @ksi.ii.uj.edu.pl!

W dniu 2 lutego 2015 21:32 użytkownik Bogdan Bereza napisał:

    Skoro my, ludzie IT, lubimy wierzyć w cuda nawet na naszym własnym, informatycznym podwórku, to co dopiero, kiedy wchodzimy na cudze podwórko, na tereny psychologii. Czujemy przy tym taki seksowny dreszczyk, i – hulaj dusza! Dowolne gołosłowne ogólniki, albo zdania zupełnie banalne i trywialne, przemyca się pod dumnym szyldem „psychologii” >> więcej

    (Otrzymujesz tę informację jako osoba, która podała swój e-mail i wyraziła zainteresowanie taką tematyką. Rezygnacja z subskrypcji: mailto:bogdan.bereza@victo.eu?subject=REZYGNUJĘ)

poniedziałek, 2 lutego 2015

Pop-psychologia w IT


Oni chcieli dostać gotowe rozwiązania

    
Oto pewnego dnia prowadzę warsztaty o nazwie „Psychologia zarządzania zespołem IT”, takie same, jak te, które kilka tygodni wcześniej, z innymi przykładami i scenkami, pod nazwą „Psychologia zarządzania zespołem Agile Scrum”, przedłużyłem – w piątek po południu – aż o dwie godziny, bo uczestnicy tak bardzo się zaangażowali i tak bardzo chcieli dowiedzieć się jeszcze więcej, niż było w agendzie.

Tym razem widzę od razu, że nie będzie równie dobrze. Jeden z uczestników, w garniturze, o ponurym obliczu zawodowego pokerzysty, jest z firmy toksycznej na wskroś: każdy tam każdemu podstawia nogę, podkłada prosiątko, a ulubiony argument prezesa to: „albo zrealizujesz projekt w terminie, albo się pożegnamy”. Nie muszę dodawać, że dotyczy to projektu o niejasnych wymaganiach, prawda? Główny problem tego uczestnika: jak sobie poradzić z programistą w zespole scrumowym, który notorycznie nie wypełnia swoich zobowiązań, bowiem zamiast tego wykonuje różne wrzutki, zlecane mu telefonicznie przez samego prezesa czy mniejszych pod-prezesków [1]. 

Pozostali uczestnicy są z dużych, państwowych przedsiębiorstw i chętnie dowiedzieliby się jak najwięcej o technologiach IT służących do śledzenia pracowników, żeby uniemożliwić im okradanie firmy albo wykonywanie prywatnej fuchy w godzinach pracy.

Przewiduję, że zaplanowane w agendzie na te warsztaty, wykłady i ćwiczenia z technik komunikacji, kwadratu von Thuna, mechanizmów motywacji, asertywności, radzenia sobie ze stresem, kultury organizacji, nie zyskają aprobaty tych uczestników, oczekujących soczystych filmików z pełnymi napięcia scenkami oraz szybkich, jednoznacznych sposobów, jak przeforsować swoje cele nawet w chorych, z gruntu złych organizacjach. Zrozumienie nie jest konieczne, wręcz przeciwnie, przyda im się natomiast fasada, ersatz zrozumienia, bo zapewni poczucie kontroli i da pewność siebie.

Diabeł, siedzący za kołnierzem u każdego szkoleniowca i kuszący, aby uczyć nie tego, czego uczestnicy naprawdę potrzebują, tylko tego, co zapewni wysokie oceny w ankietach, szepce mi do ucha: daj im NLP!

Tak, NLP jest w tej sytuacji niezastąpione. Z jednej strony oferuje wszelkie pociechy autentycznego szamanizmu: rytuały, niezachwianą pewność, tajemniczych guru i galerię opowieści o sukcesach (oraz skrzętnie przemilczane niepowodzenia), z drugiej strony znakomicie ubiera to wszystko w pseudo-naukową terminologię. Sama nazwa jest tego godnym podziwu przykładem: NLP, czyli „programowanie neurolingwistyczne”. W fantasmagoriach NLP nie ma nic z nauki zwanej neurologią, nic z programowania (chyba, że „programowaniem” nazwiemy prostackie odwołania do odruchu warunkowego Pawłowa), nic z lingwistyki – ale jak ta nazwa brzmi!

Nie muszę dodawać, że tezy NLP nie znajdują żadnego poparcia w badaniach i doświadczeniach, ale kogo to obchodzi?
    

Gwałtowna potrzeba pop-psychologii


Informatycy oraz inni uczestnicy projektów IT nie są wyjątkiem w swoim poszukiwaniu pop-rozwiązań i wierze w skuteczność pop-psychologii. Psychologia naukowa nie ma żadnych szans w starciu z pop-psychologią na wolnym rynku. Ludzie chcą i potrzebują rozwiązań, ale nie chcą stawać się naukowcami, to oczywiste. Każdy lata samolotem, korzysta z komputera i posługuje się telefonem komórkowym, nie czując żadnej potrzeby zrozumienia fizyki, matematyki oraz informatyki, które działanie tych urządzeń umożliwiają.

Mimo tego, nie mamy do czynienia z powszechnym zalewem pop-fizyki i masowej wiary w jej pseudo-prawdy, tak jak w psychologii. Dlaczego? Z dwóch powodów.

Po pierwsze, osiągnięcia naukowe fizyki rzeczywiście zaspokajają wiele ludzkich potrzeb, ba! – nawet tych potrzeb, które nam wcześniej nie przychodziły do głowy. Ledwo sto pięćdziesiąt lat temu nie było ani samochodów, ani telefonów, ale czytając literaturę lub oglądając malarstwo z tego okresu, na próżno szukalibyśmy w nich wyrazu ówczesnej ludzkiej tęsknoty za samochodami i telefonami. Natomiast ludzka potrzeba zmniejszenia cierpienia jest ta sama od tysięcy lat, ogromnie silna, i – tak nam się przynajmniej wydaje – wciąż niezaspokojona. Presja, jaką ludzkie emocje i potrzeby wywierają na psychologię, jest znacznie silniejsza, niż analogiczna presja wywierana na fizykę, a psychologia, choć ma wiele osiągnięć, jest bez wątpienia nauką mniej dojrzałą, niż fizyka.

Po drugie, prawdziwość i skuteczność teorii fizycznych jest znacznie łatwiejsza do zweryfikowania, niż teorii psychologicznych. Ktoś, kto zdalną telepatią chciałby wyprzeć telefonię komórkową, szybko wypadłby z obiegu, bo przez telefon da się rozmawiać, a telepatycznie – to nie bardzo. Natomiast kryteria prawdy i nieprawdy w psychologii są mniej jednoznaczne, w najlepszym razie – statystyczne, co wyklucza ich zrozumienie przez 99% ludzi, którzy nie rozumieją, co to jest rozkład normalny, korelacja, związek przyczynowo-skutkowy oraz statystyczna istotność. Myślę, że dotyczy to także 99% informatyków.

Dlatego pop-psychologia szerzy się bardziej, niż pop-medycyna (choć i tam pop-lekarzy, typu homeopaci, nie brakuje) i znacznie bardziej, niż pop-fizyka.

Pop-psychologia zdominowała nasz sposób myślenia o ludzkiej psychice. Osiągnięcia psychologii naukowej, choć niemałe, są prawie nieznane, natomiast przedmiotem publicznego dyskursu są rozmaite psycho-religie i szalbiercze pop-terapie, które nie leczą, a w najlepszym razie nie wiadomo, czy leczą. Przykładowo, jedyna forma psychoterapii o naukowo potwierdzonej skuteczności, tak zwana terapia poznawczo-behawioralna, długo czekała na oficjalne uznanie, podczas gdy mistyczno-kłamliwa psychoanaliza wciąż pozwala swoim wyznawcom zgarniać grube pieniądze kosztem autentycznie cierpiących ludzi.
    

Informatycy kochają pop-psychologię


Ojej, a co to wszystko ma wspólnego z IT? Wszakże my, informatycy, ludzie zimni i racjonalni, takim głupotom nie ulegamy, a przynajmniej nie podczas wykonywania naszego zawodu. Prawda?
    
Zapewne, w jakimś stopniu zawód informatyka, podobnie jak stolarza czy hydraulika, podlega nieustannej empirycznej weryfikacji, która bezlitośnie wykasza pop-pomysły. Ktokolwiek napisze kod w języku C albo C++ wyrażenie:

if (a = 17 || b > 36)

mając nadzieję, że wyrażenie to kiedykolwiek będzie fałszywe, wyczytawszy może na jakimś pop-blogu na temat „operatorów intencjonalnych”, które jakoby zmieniają swą funkcję zgodnie z intencją programisty J, szybko przekona się o swojej pomyłce.

Jednak informatyka, to nie tylko programowanie, a z kolei IT, to znacznie więcej, niż sama informatyka. W nich jest już ogromne pole do dowolności, pop-teorii lub teorii bardzo wprawdzie zawiłych i zaawansowanych, ale niepotwierdzonych empirycznie. Gołosłowne pseudo-argumenty zmieniają treść, ale nie formę. W roku 1984 przysłuchiwałem się zawziętej dyskusji zwolenniczki języków strukturalnych, w tym „Pascala”, z fanem „Cobolu”, a równo trzydzieści lat później, w 2014, równie gorącemu sporowi zwolenniczki „Windows” ze wielbicielem „iOS”. W latach 80-ych toczyły się gorące walki o wyższość paradygmatu strukturalnego nad innymi, w latach 90-ych religijną niemal czcią cieszyła się obiektowość, a od dziesięciu lat każdy chce być agile, lean startup oraz stosować ciągłą integrację. Czasem się z tymi lub tamtymi poglądami zgadzam, czasem nie. Stosowane argumenty bywają i głupie, i mądre, ale nigdy nie spotykamy się z odwołaniem do wyników empirycznych inaczej, niż hasłowo. Tak, można wprawdzie przeczytać, że „Scrum został osadzony w teorii empirycznej kontroli procesu, lub krócej w teorii empiryzmu. Empiryzm reprezentuje pogląd, iż wiedza wynika z doświadczania” [2], to ładne i nawet rozsądne słowa, ale brak jest powszechnie znanych, systematycznych (nie anegdotycznych, bo nie są one statystycznie istotne!), empirycznych danych na temat skuteczności, lub jej braku, różnych metodyk realizowania projektów IT, w tym i Scruma [9].

Skoro my, ludzie IT, lubimy wierzyć w cuda nawet na naszym własnym, informatycznym podwórku, to co dopiero, kiedy wchodzimy na cudze podwórko, na tereny psychologii. Czujemy przy tym taki seksowny dreszczyk, i – hulaj dusza! Dowolne gołosłowne ogólniki, albo zdania zupełnie banalne i trywialne, przemyca się pod dumnym szyldem „psychologii”. Poznajcie? To chyba z jakiegoś podręcznika „jak być szczęśliwym w małżeństwie”, prawda?

Zacznij od współpracy, a nie od wojny.

Komunikuj informacje w sposób neutralny, skoncentrowany na faktach bez krytykowania autora.

Spróbuj zrozumieć, co druga osoba czuje i dlaczego reaguje tak jak reaguje.

Upewnij się, że druga strona zrozumiała, co powiedziałeś i upewnij się, że rozumiesz uwagi drugiej strony.

Już ujawniam: to nie żaden wykład mistycyzmu, to... sylabus ISTQB.

           

Metoda naukowa a modne bzdury


Rama programowa do nauczania przedmiotów matematyczno-przyrodniczych w szkołach średnich obejmuje wytłumaczenie i praktyczne zastosowanie metody naukowej (stawianie hipotez, weryfikacja hipotez przez obserwację lub eksperyment, analiza wyników i wyciąganie wniosków), ale efekty tego są najwyraźniej mizerne. Stosowanie metody naukowej nie jest wpisane w nasze geny – dla przeżycia, i przekazania swoich genów dalej, najwyraźniej skuteczniejsze są inne metody, takie na skróty.

Wyobraźmy sobie, że istnieją geny: łatwowierności oraz myślenia naukowego. Ludzie łatwowierni mają skłonność do postępowania zgodnie z obiegową opinią, słuchania plotek, szybkiego wyrabiania sobie poglądów. W zamian, uzyskują w 40% dostęp do informacji prawdziwej, a w 60% - do fałszywej. Jednocześnie akceptację grupy i dobre samopoczucie. Ludzie myślący naukowo uzyskują – załóżmy - wiedzę prawdziwą w 80%, a fałszywą – w 20%. Niestety, po pierwsze, tracą mnóstwo energii na swoje obsesyjne dążenie do prawdy, a po drugie, narażają się na niechęć grupy, hejterów, złe samopoczucie. 

Czyli, cud to prawdziwy, że geny dociekliwości i samodzielnego myślenia nie wyginęły zupełnie, skazując nas na krzepiącą emocjonalnie, ale fałszywą wiarę w różne bóstwa, oraz na stosowanie mającego liczne lajki krzemiennego pięściaka zamiast niepopularnych narzędzi z kłopotliwego w fabrykacji żelaza.
         

Co lepsze: sucha teoria czy mokre anegdoty?


Wracając na teren IT, możemy obserwować nie od dziś fascynację „praktycznymi przykładami” i niechęć do „abstrakcyjnej teorii”. Śledząc w sieci opinie na temat systemu certyfikacji ISTQB, można często spotkać się z zarzutami, że jest zbyt teoretyczny, że to – cytuję – „sucha teoria”. 

Wynika z tego, że autor tej krytyki jest zdania, że znajomość teorii nie pomoże mu w praktyce, zaś znajomość przykładów, anegdot – pomoże? Nie jestem wprawdzie miłośnikiem ISTQB, gdyż ten system wiedzy jest moim zdaniem w wielu miejscach błędny, niepełny i niespójny, ale cenię w nim, że choć podjął wyzwanie zbudowania takiej teorii, nie poprzestając na anegdotach – nawet znakomitych i trafnych! - w stylu „lessons learned in software testing” [7].

Tę samą tendencję mają członkowie rad programowych wielu konferencji. Każdy banał, byle opakowany w ramki konkretnego doświadczenia z projektu, ma większe szanse dostać się do programu, niż najmądrzejsze nawet uogólnienie [4]. Przykładowo, temat „moje doświadczenia z użyciem Cucumber w projekcie XYZ” cieszy się na pewno większym powodzeniem niż temat „generyczny model klasyfikacji narzędzi testowych”.

To samo, oczywiście, dotyka psychologii. Pop-psychoreligia oferuje gotowe, nietrudne do zastosowania, czasem nawet odrobinę skuteczne, przepisy na nasze autentyczne, a przynajmniej modne, kłopoty i swędzenia, zarówno w życiu jak i w biznesie. Nauka zwana psychologią wymaga czasu i wysiłku, nie pomoże poczuć się lepiej tu i teraz.

Badania nad tym, jak ludzie widzą, pozwoliły wykryć, że najłatwiej zauważamy kolor jaskrawożółty i jaskrawo-pomarańczowy. Dzięki temu, w takich kolorach są dziś setki milionów ubrań i kamizelek roboczych; dzięki temu setki tysięcy ludzi uniknęły śmierci w wypadkach [5], ale nie jesteśmy za to psychologom specjalnie wdzięczni, natomiast chętnie popadamy w radosną ekstazę, czytając rozmaite „obudź w sobie olbrzyma” [8], bo wydaje nam się, że to nam robi dobrze. Jeszcze lepiej robi nam kokaina (nielegalna), alkohol (legalny) oraz rozmaite inne uzależnienia i kompulsje, ale ich nie polecam, bo mają krótkotrwały efekt pozytywny, a długotrwały – szkodliwy. Lepiej w życiu znać prawdę, a jeśli dusza boli, szukać pociechy w jedynym według Martina Seligmana skutecznym środku – medytacji [6].
        

Pop-psychologia i co dalej?


Co dalej? Wydorośleć i nie ulegać popularnym głupotom, nie brać za prawdę tego, co tylko hałaśliwe i modne. Opłaca się sceptycznie patrzeć na świat i uważnie badać to, co nam dają do wierzenia.
 
Czyżbym proponował chłodny racjonalizm w miejsce romantyzmu i uniesień? Nic podobnego. Sam jestem miłośnikiem rozmaitych pop-psychoreligii, na przykład lubię uczestniczyć w tak zwanych ustawieniach Berta Hellingera (podkreślam – LUBIĘ, a nie wierzę w ich prawdziwość!). W trudach życia na tym niełatwym świecie pociechę dają mi górskie wędrówki, cenię sobie rozmaite rytuały, niemające żadnego naukowego uzasadnienia. Ale – nie robię z tego ideologii. Nie udaję, że to, co działa dla mnie, na pewno musi działać dla innych. Nie biorę za to pieniędzy. Nie oszukuję.
   
Pop-psychologia, to może być znakomita zabawa, czasem autentyczna pomoc i pociecha, ale tylko wtedy, jeśli nie pozwolimy, aby nami zawładnęła.
   

Odnośniki

      
1.       Polecam rozmowę z Jackiem Santorskim o folwarcznym stylu zarządzania w IT, w http://itwiz.pl/kiosk/kiosk/magazyn-itwiz-332014/ (oraz w http://blogomocja.blogspot.com/2014/07/brawo-santorski.html).


4.       Nie twierdzę, że każde uogólnienie jest mądre – można wśród nich trafić na modne bzdury tak samo, jak wśród konkretów i przykładów. Jednak uogólnienie ma przynajmniej szansę, by stworzyć nową wartość, zaś przykład zawsze pozostanie tylko przykładem, anegdotą, ciekawostką o wątpliwej wartości dla szerzenia wiedzy.

5.       Tomasz Witkowski „Zakazana psychologia”; polecam też jego blog http://tomaszwitkowski.pl.
 
6.       Martin Seligman „Co możesz zmienić, a czego nie możesz”.

7.       Cem Kner, James Bach, Bret Pettichord „Lessons Learned in Software Testing

8.       Anthony Robbins „Obudź w sobie olbrzyma”

9.     www.scrumalliance.org/resource_download/1156, www.slideshare.net/melnik/empirical-evidence-of-agile-methods-190997, www.amazon.com/Making-Software-Really-Works-Believe/dp/0596808321. Rzeczywiście, one dotyczą tej tematyki, i są oparte na empirycznych obserwacjach, ale: (1) są głównie jakościowe, nie ilościowe; (2) są obserwacją, nie eksperymentem, więc nie pozwalają na wyciągnięcie wniosków o związku przyczynowo-skutkowym, a wyłącznie o korelacji; (3) nie pozwalają na wykluczenie działania trzeciej zmiennej.