Zbuduj sobie zespół. Z klocków Lego.

Opublikowano // Twój komentarz
Najlepsze architektury, wymagania
i projekty powstają w samoorganizujących się zespołach. 
Jedną z przyczyn dla których nie mogłem się doczekać kolejnej edycji  Dni Wolnego Oprogramowania w Bielsku-Białej były - poza spotkaniem masy starych znajomych oraz możliwości nawiązania nowych kontaktów - warsztaty, z których szczególnie ciekaw byłem tych nazwanych "Uwolnij pingwina – warsztaty z programowania Lego Mindstorms". Przy okazji widać jak nieszablonowo podeszli organizatorzy do układania programu konferencji "dla programistów" ;)

Dni Wolnego Oprogramowania

Pozwolę sobię tylko na krótką dygresję dotyczącą samej konferencji DWO: Prelekcje oraz warsztaty stały na dobrym merytorycznym poziomie, ale prawdziwa moc tkwiła w daniu uczestnikom dużej swobody poruszania się, możliwości wyboru, oraz miejscu. Warsztaty odbywały się w otwartych przestrzeniach, a wspólne leczenie kaca spożywanie posiłków na przylegającym do stołówki tarasie z widokiem na góry to jest przeżycie, którego długo nie zapomnę :) Można mieć różne opinie o ATH, ale takie warunki do relaksu to tylko u nich ;)



A teraz do rzeczy.

Nadszedł czas warsztatów z Lego Mindstorms

Zajęcia zaczęły się dość sztywno, mieliśmy podzielić się na zespoły zawierające osoby chcące programować oraz takie, które chciały więcej budować z klocków. Z racji tego że osób było dużo, przypadały dwie osoby na komputer plus kilku "budowniczych". Szczerze mówiąc w tym momencie nie czułem się bardzo szczęśliwy, ale podszedłem do stołu wokół którego zgromadziło się najmniej ludzi i wybraliśmy sobie robota do zbudowania.
Okazało się, że - w odróżnieniu od pozostałych zespołów - my musieliśmy swojego robota zbudować całkowicie od podstaw (w tym rozłożyć szczątki jakiegoś już istniejącego). Piszę o tym, ponieważ okazało się to być kluczowe dla moich obserwacji dotyczących pracy zespołowej.
Otóż program wydarzenia zakładał, że będziemy używać złożonych już częściowo robotów i bawić się ich przeróbkami oraz programowaniem nowych funkcji i wtedy to faktycznie byłyby zajęcia z programowania robotów. My natomiast musieliśmy wytworzyć "produkt" od podstaw i to jak najszybciej, żeby jeszcze pobawić się w ożywianie go - była to świetna marchewka i motywacja, żeby nie narzekać :)
To co nastąpiło wraz z rozpoczęciem budowy do tej pory mnie intryguje, ponieważ:
  • Obcy (mocno generalizuję, ale ja akurat nie znałem wcześniej tych osób) ludzie płynnie i bez żadnych poleceń podzielili się rolami;
  • Wszyscy byli bardzo zmotywowani i chętni do udzielania/przyjmowania pomocy od innych;
  • Każdy chciał coś wnieść i mimo, że czasem ktoś zostawał poza akcją, to prędzej, czy później na powrót się w nią włączał. Wydaje mi się, że jest to świetny mechanizm dla dłuższych i bardziej wyczerpujących projektów, gdzie każdy ma szansę na odpoczynek, czy choćby wyjście po kawę ;)
  • Oczywiście tutaj stres nie wystąpił, bo to tylko zabawa, jednak w poważnych projektach taka atmosfera wysokiej motywacji i wsparcia może minimalizować wpływ presji zewnętrznej;
  • Wspomniane już osoby, które akurat nie brały udziału w akcji, rzucały pomysłami co by jeszcze można w tym robocie ulepszyć po jego uruchomieniu. Było to o tyle ciekawe, że "budowniczy" koncentrowali się tylko na jak najszybszym zakończeniu zadania nie zaprzątając sobie głowy ulepszeniami, a z kolei "odpoczywający" mieli poczucie wpływu na projekt poprzez wykorzystanie swoich wolnych zasobów i mieli czas na przemyślenie pomysłów.


Jakże ogromna była nasza satysfakcja, gdy w ostatniej chwili przesłaliśmy do zbudowanego robota program, który spowodował, że klocki zaczęły nas ścigać i strzelać kulkami! :)

W perspektywie całego wydarzenia podobała mi się swoboda jaką mieli uczestnicy - zespoły nie były sztywne i teoretycznie każdy mógł pomóc w budowaniu innego robota.
Świetną rolę odegrała też nasza "legomistrzyni" prowadząca warsztaty - Agnieszka Pawlicka - która w ogóle nie wtrącała się w to, co i jak jest budowane, a jedynie dzieliła się swoim doświadczeniem i służyła pomocą w przypadkach, gdy nie mogliśmy znaleźć właściwego klocka :)

Klocki to zabawa dla dzieci? Zbuduj sobie zespół produkcyjny!


Na koniec chcę odnotować parę przemyśleń jak można doświadczenia wyniesione z atmosfery zabawy przekuć na zarządzanie prawdziwym zespołem deweloperskim w pracy. Nie jestem w tej dziedzinie żadnym specjalistą, więc każda Wasza sugestia zawarta w komentarzach będzie mile widziana :)

Aby mieć wydajny zespół wymagane są:
  1. Jasno określony, realny do osiągnięcia cel,
  2. Zdefiniowany limit czasowy,
  3. Swoboda w wyborze ról,
  4. Możliwość wymiany zadaniami,
  5. Jeśli warunki na to pozwalają, pozwolić ludziom wyłączyć się z trybu produkcyjnego na krótki czas, aby mogli odpocząć i spojrzeć na tworzony projekt z pewnego dystansu,
  6. Ludzie muszą wierzyć, że to co robią ma sens.
Powyższe najważniejsze spostrzeżenia można elegancko obudować tym, co sugeruje Agile Manifesto z którego pochodzi cytat znajdujący się na początku wpisu.

Celowo tutaj opisałem głównie zabawę klockami, ponieważ chciałem ukazać kreatywny kontekst z którego każdy będzie mógł wysnuć własne wnioski. Każda firma jest inna, każdy kolejny projekt różni się od poprzedniego i trzymanie się - o ironio -  sztywnych reguł Scruma, lub innych metodologi zwinnych czesto nas ogranicza. Pamiętajmy, że projekt tworzą ludzie (człowiekiem jest nawet klient;)) którzy mają różne zdolności i pracują w inny sposób.
Ważne, żeby umieć z tych ludzi budować wydajny zespół, który jest faktycznie zaangażowany i wierzy w to, co robi.


Wszystkie zdjęcia zostały wykonane podczas siódmej edycji Dni Wolnego Oprogramowania.