29 października 2009

Wrażenia z sobotniej, zwinnej Warsjawy 2009

Tematem przewodnim sobotniej konferencji Warsjawa 2009 były metodyki lekkie i tylko takie prezentacje zostały zakwalifikowane. Do grupy szczęśliwców, którzy mogli przedstawić swój punkt widzenia na sprawy Agile/Scrum byli (w kolejności występowania): Łukasz Lenart, Paweł Lipiński, Krzysztof Jelski, Tomasz "szimano" Szymański i Tomasz Łasica.

Pojawiłem się w budynku Elki PW w trakcie trwania przerwy na pizzę - około 13tej. Pierwsze wrażenia bardzo pozytywne - tłok na piętrze, co mogło być spowodowane liczbą uczestników lub niewielkich rozmiarów korytarzem. Niestety nie policzyłem uczestników, ale zaryzykowałbym 100kę. Było wystarczająco dużo jak na sobotę i niecałkiem techniczną konferencję. Widać było zainteresowanie Scrumem. Tematy były praktyczne i panowie Tomki nie pozostawili złudzeń, że znają się na rzeczy.

Najpierw, co mi się podobało. Podobało mi się móc wysłuchać o Scrumie w przysłowiowych "żołnierskich słowach". Krótko i treściwie. Każdy z prelegentów miał 30 minut na przedstawienie tematu i 15 minut dyskusji. Akurat. Tomek Ł. skorzystał nawet z pomocy kawek, które zapalały się po przekroczeniu kwadransu. Ciekawy pomysł. Nie dłużyło się wcale, a nawet, mimo, że byłem jedynie na 2 wystąpieniach (szimano i Tomka Łasicy), miałem wrażenie, że prezentacje pojawiają się i znikają, i nie wiedząc kiedy, było po wszystkim. Było ciekawie, czasowo dopasowane, więc dla mnie idealnie. Organizacyjnie super! Łukasz Lenart, który wraz z grupą wolontariuszy (wybaczcie nie wspomnę z imienia i nazwiska, bo pamiętam tylko Agnieszkę i to tylko dlatego, że później jeszcze wystąpiła na wtorkowym 54. spotkaniu Warszawa JUG i tak się jakoś utrwaliło) zorganizował konferencję zrobił to dokładnie, jak było trzeba. Napoje były, pizza też i mini-aula również. Oświetlenie, nagłośnienie i ekran dopasowane. Logistyka na medal. Sponsorzy również dopisali i na scenie pojawili się Pragmatists oraz SoftwareMill.

Wracając do naszych prelegentów - Tomków, o tym co dobre już było. Byli merytoryczni, ale nie obyło się bez jednego drobnego minusu. U obu nie podobało mi się "mówienie do monitora". Kontakt wzrokowy z uczestnikami był, ale niewielki w porównaniu z tym z komputerem. Dało się odczuć, że bardziej zależało im na przedstawieniu tematu bez wpadek, tak jak przygotowali sobie na komputerach niż na kontakcie z publicznością. Niewielka to strata, gdy merytorycznie wypadają doskonale, ale znacznie łatwiej zadaje się pytania prelegentowi, który wręcz prowokuje do nich patrząc na uczestników. I to byłoby tyle z wpadek. Jedna, niewielka wielkiej różnicy nie robi, więc odbiór obu oceniam na wysoki (do perfekcji brakuje właśnie tego wzrokowego kontaktu).

Co mnie jednak nieprzyjemnie wzbudziło w kontekście przedstawiania Scruma, to fakt, że podkreśla się go jako metodykę niesformalizowaną, a aż roi się w nim od formalizmów - podział ról, etapów w projekcie i ta przedziwna mania utrzymywania nazewnictwa angielskojęzycznego. Nie nalegam na zaprzestanie korzystania z niego, gdzie brakuje polskiego odpowiednika, ale wprowadzanie nowego nowym (językiem) może zakończyć się znacznie mniejszym powodzeniem niż mówienie w języku zrozumiałym dla słuchaczy-nowicjuszy. Weźmy na przykład taki sprint - raczej kojarzy się z uciążliwym biegiem po wygraną i nie oddaje lekkości tego terminu (zakładając, że w Scrumie jako metodyce lekkiej wszystko jest lekkie). Dlaczego nie korzystać jednocześnie ze sprintu i okresu produkcji, aby w ten sposób przybliżyć znaczenie tego pierwszego? Jeszcze z samym sprintem można przywyknąć, bo kilkakrotnie padło na konferencji, że nazwa sprint odpowiada trudowi, jaki wkłada się w każdy ze sprintów, aby zrealizować zakładany plan, ustalony wspólnie z właścicielem produktu czy też Scrum Masterem (nie pamiętam dokładnie z kim to się ustala, chyba z oboma). Padło nawet, że po 4tym czy jeszcze kolejnym można odczuć trudy sprintów. Nie rozumiem tego do końca, bo w końcu pracujemy znacznie więcej niż 6-7h zakładane jako dzień w Scrumie, więc dobrze spędzone godziny powinny być kojące niż wykańczające? Bardziej nieprzemawiającymi do mnie terminami były (świadomie używam ich formy mówionej) toking stik, tajmboksowanie, assajnowanie, łajtbord i beklog. Nie twierdzę, że nie nasuwają skojarzeń, ale tylko nieznacznie. Czy nie lepiej byłoby używać słownictwa bardziej bliskiego słuchaczom, aby nowy temat przedstawiać "starymi" terminami/słowami, które niosą tą samą informację, ale przemawiają do nas dosadniej, np. pałeczka/różdżka rozmówcy, harmonogramowanie, przypisywanie, tablica, lista zadań, itp. Akurat idealnie odpowiadają terminom angielskim, ale chodzi mi raczej o przybliżenie słuchacza korzystając z bardziej zrozumiałego dla niego słownictwa. Mam wrażenie, że przez to całe słownictwo wokół Scruma tworzy się pewna aura tajemniczości, która niepotrzebnie wpływa niekorzystnie na zrozumienie, o co w tym wszystkim chodzi. Ma być lekko, a przez to słownictwo nie jest. Nasunęła mi się nawet myśl, że Scrumowcy to "językowi inwalidzi". Jakby się wszyscy uparli na to angielskie słownictwo?!

Co mnie "ujęło za serce" w Scrumie to położenie nacisku na odpowiedzialność jednostki w zespole. W razie niesubordynacji nie wskazuje się winnych, ale odbiera im się możliwość popełnienia ich kolejnym razem. Zamiast winienia, że Iksiński zatwierdza zmiany, które skutkują złamaniem budowania aplikacji (nie wykonaniem kompilacji czy brakiem spełnienia testów jednostkowych), do systemu kontroli wersji wprowadza się "zaporę" w postaci automatycznie wykonywanych testów, kompilacji, itp. i tylko ich spełnienie potwierdza zmianę. Zamiast stać i krytykować wzbogaca się środowisko o narzędzia, które wiele robią za nas. Tak jak powinno być. Wcześniej czy później, Iksiński zrozumie swój błąd i się nauczy, że zmiany należy zatwierdzać do repozytorium jedynie po poprawnym zbudowaniu/przetestowaniu aplikacji lokalnie. Jakość wzrasta samoistnie.

W Scrumie występują karty, którymi przypisujemy wagę każdego z omawianych funkcjonalności, które wejdą do sprintu. Gra w karty świadczy, że Scrum kładzie nacisk na luźną atmosferę pracy, ale jednocześnie wprowadza tyle nowej nomenklatury i nakłada ramy odpowiedzialności, że trudno w to uwierzyć, że wciąż nazywa się go lekkim. Może gdyby nie naciskano tak często na ową lekkość Scruma, miałbym do tego mniej uszczypliwy stosunek.

Miałem jeszcze okazję przejrzeć nagranie z Łukaszem Lenartem w roli organizatora podczas wystąpienia otwierającego konferencję i jako prelegenta w kolejnym wystąpieniu. Bardzo ciekawie przeprowadzona prezentacja z dużą dawką sportu. Zrozumiałem różnicę między uczestniczeniem w spotkaniu na żywo. Tego się nie da odtworzyć podczas odsłuchiwania. Brawo Łukasz za pomysł!

24. listopada, w ramach wtorkowych spotkań Warszawa JUG, będzie miał miejsce Eclipse DemoCamp 2009. Spróbujemy odtworzyć atmosferę Warsjawy, bo jak dla mnie wyznaczyła ciekawą formułę spotkań - 30/15. Zresztą taki postulat pojawił się po Warsjawa Eclipse DemoCamp 2009, więc dlaczego nie spróbować ponownie?! Chętni do pomocy przy organizacji DemoCampa proszeni o kontakt na grupie Warszawa JUG. Każda pomoc mile widziana. Finansowanie mamy zapewnione przez Eclipse Foundation, ale wartoby również skorzystać z możliwości promocji polskich firm informatycznych. Znacie takowe, które byłyby zainteresowane wystawieniem swojego logo na stronie Eclipse.org, konferencji i w trakcie, piszcie. W końcu tyle, ile sami zrobimy, tyle będziemy mieli. Tym razem zadbam, aby w relacjach pojawiły się nazwiska zaangażowanych :)

15 komentarzy:

  1. zazdroszcze wam tych spotkań warszawskich... niestesty 3miasto jest "biedne" jezeli chodzi o javowe grupy hobbystow :) .. chyba nad morzem wola .neta. ;/

    OdpowiedzUsuń
  2. Oj Jacku, terminologia angielska jest i trzeba się z nią obyć, dlatego osobiście ja bym nie wprowadzał polskich odpowiedników. Często mogą być śmieszne (spotkanie różdżkowe ;) - może chodzi o entuzjastów sił nadprzyrodzonych ) ,a dwa później taki nowicjusz zostanie przydzielony do międzynarodowego team-u (nie denerwuj się) i naglę nie będzie wiedział o co chodzi. Sparafrazuje Twoje własne słowa uczcie się co to SLSB bo tak się na blogach/grupach rozmawia.

    OdpowiedzUsuń
  3. @pedro, zupełna racja! Rozważ jednak wprowadzanie wiedzy do grona nowicjuszy każąc im jednocześnie uczyć się nomenklatury i szastając ją do wyjaśnienia czym jest Scrum. Tutaj zbyt często trafiałem na przerost anglicyzmów. Ich używanie prowadzi wtedy do takich "robaczków" jak adresowanie (i nie chodzi o dosłowne użycie przy korespondencji, ale o obsługę zadania, zajęciem się nim czy assajnowanie). Jesteśmy zbyt inteligentni, aby wycinać potencjalnych zaangażowanych, tylko dlatego, że nowomowa ich wykańcza (oczywiście to samo dotyczy przesadnego używania polskich odpowiedników - to też wielu wykańcza, jakby było zbyt trudne). To zawsze będzie obcy język i myślenie w nim będzie inne.

    OdpowiedzUsuń
  4. Co do patrzenia w monitor - zgadzam sie - zobaczylem to potem na wideo (ktore udostepnie niedlugo na parleysie). Poprawie sie. I przestane sie kiwac na boki jak kaczka ;-)

    @anglicyzmy - tlumaczylem sie, ze pracuje po angielsku i polskie odpowiedniki przychodza mi z trudem lamane na smiesza mnie zwykle. Tak czy inaczej, ja sie na pewno nie podejmuje tlumaczenia. Na sprint jedyne co wymyslilem to "przebieżka", takze zrezygnowalem ;-)

    @lekkosc Scruma. Jacku zle to rozumiesz. Jego lekkosc nie polega na tym, ze nie ma procesu, bo wtedy przeciez nikt by nic nigdy nie skonczyl (sprobuj wziac paru informatykow i powiedziec im - "chlopaki, na za dwa miesiace macie zrobic to i to w razie co dzwoncie na koma").

    Jego lekkosc polega na tym jak sie podchodzi do tworzenia programowania i do samej metodyki. W sumie zalozenia masz tutaj http://agilemanifesto.org/ - "That is, while there is value in the items on the right, we value the items on the left more. ". Jak cos jest agile to nie znaczy ze ma nie byc dokumentacji, ma nie byc procedur i tak dalej. Wazne jest to, ze to jest dla ludzi i kazdy moze i powinien dostoswac to wszystko do swojego srodowiska. A scrum proponuje pewne wartosci "poczatkowe", bo przeciez od czegos trzeba zaczac :)

    OdpowiedzUsuń
  5. Co do tych anglojęzycznych określeń, masz zupełną rację. Powody są dwa - primo: terminy są nowe, więc nie ma przyjętych tłumaczeń; secundo: terminy scrum'owe są dość kontrowersyjne nawet po angielsku, a po polsku brzmią strasznie. Na sprint sam zwróciłeś uwagę - ja z podobnych względów używam prawie wyłącznie słowa iteracja. Ale np. 'product backlog' - tłumaczenie jako 'zaległości produktowe' brzmi koszmarnie. Jak się mówi beklog to przynajmniej nie słychać tych zaległości :-P
    W ogóle terminy z XP są dużo juzerfrendliniejsze.

    Natomiast nie masz zupełnie racji co do tej lekkości scruma. Scrum jest lekki nie w sensie braku formalności, ale w sensie prostoty, elastyczności i adaptacyjności. Natomiast jest to ściśle formalna metodyka z konkretnym procesem, rolami i praktykami (spotkaniami). Wymagająca ciągłego dbania i skupienia.
    A akurat karty ze scenariuszami nie pochodzą ze Scruma, tylko bardziej z klimatów około XP...
    A jeśli chcesz coś przeczytać na ten temat bardziej po polsku, to polecam nieskromnie mój artykuł (link podesłałem w zeszłym tyg. na JUGu).

    pozdrawiam

    OdpowiedzUsuń
  6. Dało się odczuć, że bardziej zależało im na przedstawieniu tematu bez wpadek, tak jak przygotowali sobie na komputerach niż na kontakcie z publicznością

    Ciekawe spostrzeżenia nt. pracy z grupą:)
    Może warto zorganizować warsztaty na ten temat dla prelegentów JUGowych

    pozdr,
    mb

    OdpowiedzUsuń
  7. Panowie, dzięki za odpowiedzi. Z pewnością poświęcę więcej czasu na Scruma, a jego elementy już wdrażam w pracach ze studentami w ramach praktyk studenckich w korporacji. Zobaczymy jaki będzie miało wpływ na jakość i terminowość prac.

    @Michał B., zgłaszaj temat jako współtemat z innym, technicznym na forum WJUGowym. Mogę Cię uzupełnić z OSGi, co zapewni frekwencję (aczkolwiek nie wątpię, że już samo Twoje pojawienie się wystarczy - to ja skorzystam z Twojego przyciągnięcia publiczności :))

    OdpowiedzUsuń
  8. Jestem za wprowadzeniem polskich odpowiedników i cześć już nawet istnieje (np. zamiast sprint - iteracja). Jednak opiszę twoje tłumaczenia, gdyż są mylne:

    - pałeczka/różdżka rozmówcy (toking stik): na codziennych spotkaniach nie ma dyskusji, nie temu służą, więc nie ma też rozmówcy jak to napisałeś, lepiej powiedzieć - pałeczka spowiadającego się ;-)

    - harmonogramowanie (tajmboksowanie): chodzi o narzucone ramy czasowe a nie o harmonogram spotkań, zadań, etc. na codzienne spotkanie masz 15 minut i to jest ograniczenie czasowe - może być więcej lub mniej, ale zawsze stałe dla zespołu

    - przypisywanie (assajnowanie): to może lepiej użyć przydzielanie, chodź w sumie Twoje też jest ok

    - tablica (łajtbord): zgodzę się, chodź lepiej pasuje biała tablica ;-) chodzi o pewien aspekt psychologiczny

    - lista zadań (beklog): a to jest największa przekręcenie :D nie chodzi o zadania ale o funkcjonalność, backlog jest we władaniu właściciela produktu, więc nie może on definiować zadań, bo nie wie jakie one będą, opisuje jakie funkcja ma mieć program, a to zespół dzieli je na zadania, więc lepiej nazwać to listą funkcjonalności albo może krócej listą funkcji

    Tworzenie polskich odpowiedników jest ciekawym ćwiczeniem, jednak muszą one odpowiadać jak najbardziej intencji autorów ;-)

    OdpowiedzUsuń
  9. @Łukasz Lenart

    To ja jeszcze kilka słów ad. polskich tłumaczeń. Co do zasady idea jest jest super, gorzej z implementacją...W swoim czasie wydawcy narobili sporo bałaganu wprowadzając: Pyłki, Pośredników, Abstrakcyjne Fabryki vel Fabryki Abstrakcji, Diagramy kolaboracji vel współpracy vel współdziałania, Diagramy sekwencji vel przebiegu i inne dziwolągi od których mi głowa puchnie. Z tego powodu spodobał mi się pomysł używania anglojęzycznych terminów albo ich rodzimych kalek. No bo skoro już są to po co tworzyć nowe nazwy?

    Po raz pierwszy z upartym stosowaniem polskojęzycznych nazw spotkałem się akurat na tym blogu. Początkowo miałem mieszane uczucia, bo miałem inne przyzwyczajenia. Jednakże, Jackowi udało się przekonać sporo blogowiczów do swoich wersji tłumaczeń. I dopiero w tym momencie nabrało to dla mnie sensu. Te tłumaczenia pomagają jeśli stosuje je każdy konsekwentnie.

    Podsumowując: tłumaczenia są dla mnie superpomocne jeśli są powszechnie używane przez rzesze programistów. Wtedy jestem na tak. Jeśli zaś każdy autor/tłumacz/bloger, będzie chciał wymyślać własną wersję ziarna/komponentu/bina to jak dla mnie robi się za dużo bałaganu i wolę już w ogóle nie tłumaczyć. (Nawiasem mówiąc, wykombinowanie polskiego odpowiednika oddającego sens angielskiej nazwy to czasem karkołomne zadanie; np. iteracja oddaje moim zdaniem sens 'iteration' z XP, ale sensu słowa 'sprint' ze Scruma już nie, bo tu jeszcze podkreśla się znaczenie szybkości, rytmu, zwinności )

    Może można rozszerzyć ideę uspójniania tłumaczeń i przenieść ją z tego bloga na jakieś ogólnopolskie ciało standaryzujące:)? Może można rekomendować polskie tłumaczenia. No sam nie wiem...

    OdpowiedzUsuń
  10. @Michał Bartyzel

    Ale ja jestem za polskimi tłumaczeniami z głową, tak jak np. szkielet zamiast frejmłork ;-) Stąd też moje uwagi, co do tłumaczeń Jacka.

    Specjalnie nie użyłem 'sprint', gdyż większości kojarzy się on z szybkim, wyczerpującym biegiem i tak mogą to odpierać - bardzo negatywnie. A 'iteracja' jest bardziej neutralna i lepiej pasuje do polskich realiów :D

    Myślę, że żadne 'ciało' tu nic nie da, jeśli nie będzie akceptacji społecznej. Dlatego wdrażanie takich zwrotów przez Jacka jest najlepszym rozwiązaniem, bo jak na razie się sprawdza!

    OdpowiedzUsuń
  11. Panowie, znowu mam zapał do szukania tłumaczeń :) Po raz pierwszy spotkałem się z pozytywnym odbiorem szkielet aplikacyjny czy ziarno EJB (aczkolwiek w przypadku tego drugiego sam, jak to widzę/słyszę nie mogę się do tego przyzwyczaić, więc jeszcze szukam lepszego :)). Sądzę, że tylko praca oddolna da jakiekolwiek wymierne skutki, bo w końcu to środowisko tworzy slang, a ciała standaryzacyjne narzucają jakąś nowomowę. I to może się nie sprawdzić. Jeśli to środowisko stworzy slang, któremu niedaleko do oficjalnej nomenklatury to jesteśmy w domu!

    OdpowiedzUsuń
  12. Uzupełniłem Słownik pojęć informatycznych na moim Wiki. Świetny pomysł na aplikację społecznościową.

    OdpowiedzUsuń
  13. Może zamiast 'biała tablica' lepiej będzie 'czysta tablica'?

    OdpowiedzUsuń
  14. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  15. Późno dość spojrzałem na te komentarze, ale mimo wszystko się wypowiem.

    Generalnie jestem przeciwny spolszczaniu na siłę, myślę że jest kilka przypadków:
    a) czasem termin jest specyficzny dla metodyki / technologii np. Sprint. Używam w zasadzie wymiennie Sprint i iteracja, ale jeśli z kimś rozmawiam i mówię o Sprintach wie od razu że chodzi o Scrum-a. Podobnie whiteboard - od razu wiadomo o co chodzi, a tablica: może być korkowa, szkolna lub taka właśnie biała. Czysta może być każda.
    b) dla niektórych terminów po prostu nie ma dobrych odpowiedników np. talking stick. Tłumaczenie ich przypomina mi konkurs bodaj z GW z lat 90., najciekawsze tłumaczenia to informatka i duperele. Dlatego niestety w tym biznesie do tego typu anglicyzmów trzeba się przyzwyczaić
    c) ewidentnie niepotrzebnie używane anglicyzmy np. wspomniany już asajgnować podczas gdy można przydzielać zadania - jak ktoś to ode mnie usłyszy bardzo proszę kopnąć mnie po polsku w tyłek. Ale i ty łyżka dziegciu: w Scrumie rozróżnia się zadania na różnym poziomie: tasks i items. Gdy mówimy o zadaniach nie zawsze wiadomo o co nam chodzi. Oczywiście można używać funkcjonalności, scenariusze (user stories?), ale w przypadku mojego projektu nie pasuje to w żaden sposób.

    Myślę, że problem z tłumaczeniami na konferencji wziął się z tego, że wiedza słuchaczy była nieuporządkowana. Zabrakło uporządkowanego, spokojnego wprowadzenia terminów. Jako autor nie wiedziałem czego się spodziewać po słuchaczach (myślę, że inni podobnie) stąd być może zbyt dużo anglicyzmów. Ale jeszcze gorzej byłoby, gdybym uprawiał słowotwórstwo.

    OdpowiedzUsuń