Przejdź do głównej zawartości

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

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.

Komentarze

  1. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  2. Bardzo kreatywne podejście do fajnego rozwoju i zgrywania pracowników. Później z pewnością będą oni w prostszy i bardziej decyzyjny sposób podejmowali decyzje. Warto również wspomnieć o systemach biznesowych https://www.connecto.pl/czym-jest-system-business-intelligence/ które dziś są całkowitą normą.

    OdpowiedzUsuń

Prześlij komentarz

Popularne posty z tego bloga

Świat IT: Pszczoły i motyle

Ciepły i pogodny koniec wakacji sprzyja spacerom na łonie natury i obserwowaniu tego mistycznego świata dziejącego się poza naszymi monitorami. Chyba właśnie przez to podczas rozmowy o specyfice pracy w zespołach rozproszonych i ludzi, którzy do tego modelu pasują bądź też nie, przyszła mi do głowy metafora ze świata przyrody. Usiądzmy wygodnie i wyobraźmy sobiepachnącą słońcem łąkę pełną polnych kwiatów pośród których lata mnóstwo owadów. Skoncentrujmy swój wzrok na pszczołach i motylach. Oba gatunki owadów fruwają. Oba zapylają kwiaty pozwalając im się rozmnażać. Oba są pożyteczne. Oba budzą ogólną sympatię, a jednak możemy dostrzec sporo różnic. Motyle są kolorowe, wydają się radosne, frywolne. Są włóczęgami, niespokojnymi duchami. Kojarzą mi się z kreatywnością, niezależnością i swobodą. Pszczoły są pracowite, działają zespołowo, poświęcają się dla królowej. Kojarzą mi się z pracowitością, posłuszeństwem, przywiązaniem do miejsca. Powyższe charakterystyki całkiem nieźl

Nieregularne, klikalne kształty w HTML i CSS - szybkie studium przypadku

Mamy do wyboru trzy drogi: W zasadzie każda jest dobra i  wszystko zależy od naszych nawyków i tego, jaki mamy cel. 1. Imagemap Przykład: http://www.w3schools.com/tags/tag_area.asp   Jest to pierwszy i najszybszy sposób jeśli mamy w miarę nieskomplikowane kształty. Technika ta polega na - jak sama nazwa wskazuje - na nakładaniu na obrazek (<img>) interaktywnych obszarów <area>. Znacznik <area> przyjmuje do parametru shape  trzy opcje: rect , circle , lub poly . Najciekawszy jest ten ostatni, ponieważ pozwala na stworzenie dowolnego kształtu. Wymaga "jedynie" policzenia sobie współrzędnych  punktów, ale to przestaje być problemem, jeśli skorzystamy z generatora takiego, jak np  http://www.maschek.hu/imagemap/imgmap , który przy okazji generuje nam cały kod html. Zalety: Szybkość i prostota tworzenia klikalnych obszarów. Wady: Przede wszystkim brak możliwości dodania efektu typu zmiana koloru do stanu mouseover (jest to osiągalne dopiero przy