środa, 3 września 2014

Neurologia Pair Programming

"Programowanie w parze" jeszcze kilka lat temu szło (a być może wciąż tu i tam idzie) wbrew intuicyjnej wiedzy managerskiej zapożyczonej wprost z fabryki pralek. Bo gdzie jest profit jak dwa risorsy robią pracę jednego risorsa?

Z jednej strony są relacje programistów, którzy mówią iż czasem "co dwie głowy to nie jedna" a z drugiej jest jakiś irracjonalny wzór na efektywność mierzoną ilością wciśniętych klawiszy w jednostce czasu. Kiedyś nawet na JUGu w Łodzi był koleś z prezentacją jakiegoś chorego pluginu do eclipse zliczającego akcje programisty w przeciągu godziny.(Zastanawiałem się czy o tym w ogóle wspominać by jakiś managerski "mlody wilku" nie poczuł inspiracji).

Być może poniższy tekst doda trochę siły naukowej do faktu, iż czasem siedzenie we dwóch przy jednym kompie może być wnieść coś więcej niż tylko "programista razy 2"

Sieć zadaniowa - co się dzieje gdy siedzimy sami nad kompem

Gdy sami siedzimy zagłębieni w problemie aktywowana jest sieć : http://en.wikipedia.org/wiki/Task-positive_network

  • Zalety : skupiamy się na jednej konkretnej rzeczy i rozwiązujemy konkretny problem.
  • Wady : jesteśmy zamknięci na nowe pomysły i sposoby podejścia do danego problemu - a to dlatego, że w danej chwili aktywna jest tylko jedna sieć.
  • Komentarz : oczywiście mogą pojawić się głosy ludzi twierdzące, że to bez znaczenia ponieważ programista ma tylko przepisać diagram narysowany przez kogoś z bardziej egzotyczną nazwą stanowiska. Owe osoby zapytane "skoro to tylko kwestia przepisania diagramu to dlaczego nie mogą tego robić automaty" - odpowiadają pomidor

Sieć społeczna - co się dzieje gdy siedzimy w parze

Teraz powinna działać cześć sieci : http://en.wikipedia.org/wiki/Task-negative A w celu uzupełnienia informacji można też zerknąć na :
  1. http://en.wikipedia.org/wiki/Default_mode_network
  2. http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3380415/ - tu jest dużo i naukowo.
  • Zalety : otwieramy się na nowe pomysły i możliwości rozwiązania danego problemu.
  • Wady : trudniej jest nam się skupić na jednej rzeczy i zanalizować konkretny problem dokładniej i dogłębniej.
  • Komentarz : oczywiście mogą pojawić się głosy ludzi twierdzące, że to bez znaczenia ponieważ programista ma tylko przepisać diagram narysowany przez kogoś z bardziej egzotyczną nazwą stanowiska. Owe osoby zapytane "skoro to tylko kwestia przepisania diagramu to dlaczego nie mogą tego robić automaty" - odpowiadają pomidor
Poniżej default mode network to zdaje się zielone i niebieskie.

Podsumowanie

Rzecz jasna nie było bezpośrednich badań nurkujących wprost do głów programistów w sytuacjach niezwykle fascynującej codzienności życia IT. Powyższy opis jest jedynie interpretacją obecnych faktów naukowych ale być może przyda się jako argument do dyskusji (jeśli w jakichś firmach takie dyskusje wciąż trwają) odnośnie produktywności programowania w parach.

Należy zerwać z błędną wizją "dwóch risorsów" przy jednym komputerze - a zaprosić nowe przekonanie, że programiści czy to pracując sami w słuchawkach czy też żywo dyskutując w N osób - pracują tak naprawdę w różnych trybach przydatnych do rozwiązywania różnych problemów.

oczywiście mogą pojawić się głosy ludzi twierdzące, że to bez znaczenia ponieważ programista ma tylko przepisać diagram narysowany przez kogoś z bardziej egzotyczną nazwą stanowiska. Owe osoby zapytane "skoro to tylko kwestia przepisania diagramu to dlaczego nie mogą tego robić automaty" - odpowiadają pomidor

Informacje do tego artykułu napotkałem w nowym kursie na courserze - Inspiring Leadership through Emotional Intelligence. Na początku myślałem, że to będzie standardowy badziew managerski w stylu "klep ludzi po ramieniu, mów good job, pamiętaj o urodzinach, jak trzeba bądź surowy i stanowczy i kłam, że release jest miesiąc wcześniej niż w rzeczywistości". A tu się okazało, że koleś ciekawie nawija o neurologi co jest o tyle interesujące, że trudno filozofować o neurologii bo to jest tak jak z kompilacją kodu - jak działa to działa a jak nie to nie.

*   *   *

3 komentarze:

  1. Jest jeszcze coś takiego jak efekt synergii
    https://pl.wikipedia.org/wiki/Synergia

    OdpowiedzUsuń
  2. Z tymi obwodami to zależy... ten człowiek bada jak Meyers-Briggs mapuje się na "moduły" kory wchodzące w skład obwodów https://www.youtube.com/watch?v=MGfhQTbcqmA
    (jest też książka)

    OdpowiedzUsuń