Wpisy otagowane ‘agile’

GOTO Aarhus 2011

czwartek, 20 Październik 2011

Drugi tydzień października spędziłem na konferencji GOTO w Aarhus. Jak zwykle było to bardzo intensywne doświadczenie ;)

W telegraficznym skrócie:

Niedziela

  • Warsztaty A user user manual z Chrisem Nodderem. Porady na temat tego jak tworzyć przyjazne i łatwe w użytkowaniu oprogramowanie + teoria na temat tego, jak zachowują się użytkownicy i dlaczego.

Poniedziałek

Wtorek

  • TODO

 Środa

  • TODO

Czwartek

  • Warsztaty „Evolutionary Architecture – How to Make it Work” z Martinem Fowlerem i Rebeccom Parsons
  • Warsztaty ”Influence Strategies for Practitioners” z Linda Rising

Piątek

  • Warsztaty ”Maintaining and Evolving Legacy Systems” z Frankiem Buschmann

Ogólne komentarze i podsumowanie:

W tym roku do materiałów konferencyjnych dołączone zostały dwie małe książeczki: „The 3 pillars of personal effectiveness” oraz „Priming Kanban” - oryginalne i fajne posunięcie.

I tak na przykład w „Priming Kanban” wyczytałem, co robić gdy osiągamy limit „work in progress„. Jest to moment na dyskusję. Do wyboru mamy albo powiększyć limit (co będzie skutkować zwiększeniem czasu, jaki jest potrzeby by historyjka przewędrowała od „koncepcji” do „wdrożenia”) albo usprawnić/wspomóc „wąskie gardło”. Np. gdy „testowanie” jest wąskim gardłem, może jako programiści możemy zautomatyzować wrzucanie nowej wersji na środowisko testowe? Tak czy inaczej, osiągnięcie limitu „work in progress” jest pretekstem do dyskusji.

Konferencja to również męczące wydarzenie (pełno wrażeń, codziennie integracja), nie mniej z niecierpliwością czekam na kolejną konferencję organizowaną przez Trifork, QCon 2012 w Londynie ;)

ALE2011 – Koordynacja wolontariuszy

środa, 14 Wrzesień 2011

Poniżej zbiór faktów i wniosków na temat „organizacji wolontariuszy”.

Koordynacją wolontariuszy zajmowałem się razem z drugim „Gregiem”. Myślę, że nasz duet w miarę dobrze się sprawdził, mi w każdym razie współpracowało się z Gregiem dobrze ;)

Ciekawostka: W czasie organizacji ALE2011 była to normalna sytuacja (kilka osób odpowiedzialnych za jeden obszar, bez formalnego lidera). ALE2011 wprowadziło koncepcję „sof” (nawiązując do „Conference Chair”).

Podczas konferencji do zadań wolontariuszy należało: rejestracja uczestników, odpowiadanie na pytania w punkcie informacyjnym, pilnowanie czasu prezentacji, zbieranie feedbacku po prezentacji, pomoc w opiece na dziećmi, robienie zdjęć oraz reagowanie na nie przewidziane wydarzenia (np. wyczerpanie się baterii w mikrofonie).

Rekrutacja

Wolontariuszy próbowaliśmy rekrutować za pomocą Twittera, strony eventu, facebooka (bezpośrednie kontakty) i innych sieci społecznościowych. Wysłałem też e-maile do kilku uczelni w Berlinie oraz do Wrocławia. W sumie udało nam się z rekrutować 8 osób, z czego jedna się rozchorowała a druga „nie dawała znaku życia po rejestracji”.

W zespole wolontariuszy były 3 osoby z Berlina (Lina z Kolumbii, Budi i Melisa z Indonezji), 2 osoby z Brna (Petr i Michal) oraz Adam z Krakowa.

  • Wszyscy zarejestrowani wolontariusze dowiedzieli się o możliwości bycia wolontariuszem bezpośrednio od kogoś, kogo znali.
  • Z 8 zarejestrowanych wolontariuszy, 2 nie dotarło na event. By „bez problemu” poradzić sobie z zadaniami, jakie stały przed wolontariuszami potrzeba by około 14 osób.
  • Deadline „rejestracji” wprowadzał zamieszanie. Wolontariusze nie byli pewni czy można się jeszcze rejestrować.
  • Ekipa wolontariuszy była świetna ;)
  • Plakaty na uczelni! By dotrzeć do studentów, warto by było powiesić plakaty na uczelni. Niestety nie wszyscy śledzą Twittera i wchodzą na stronę konferencji ;)
  • Bezpośredni kontakt w profesorami na uczelni! Samo wysyłanie maili okazało się nie skuteczne. Niezbędny jest „osobisty” kontakt, by nie być potraktowanym jako spam.
  • Zorganizować spotkanie informacyjne na uczelni. By nawiązać bezpośrednią znajomość ze studentami, i zachęcić ich do zaproszenia znajomych.
  • Zamiast „deadlineu” wyswietlać, ile jeszcze miejsc zostało.
Grafik pracy
  • Grafik wolontariuszy został stworzony w google spreadsheet.
  • Na przyszłość, padła sugestia by pozwolić wolontariuszom się „samo zorganizować” zamiast przydzielać im godzinny samemu (lepsze, niz powiedzennie im, że jeśli chcą, mogą się wymieniać)
Organizacja
  • Spotkanie organizacyjne powinno odbyć się dzień wcześniej w miejscu, gdzie jest konferencja! Na spotkaniu powinny obecne być osoby odpowiedzialne za kluczowe elementy programu (lightening talks, open space, sesje) lub wcześniej z tymi osobami powinno się dokładnie wyjaśnić jak będą wyglądać poszczególne elementy programu  i jaki może być wkład wolontariuszy. My mieliśmy spotkanie organizacyjne w moim biurze, a potem udaliśmy się na obiadokolację do pobliskiej knajpy. Było miło i pomogło nam się to trochę poznać, ale mogło być lepiej (mogliśmy lepiej się przygotować na pierwszy dzień konferencji).
  • Spróbowaliśmy zorganizować wolontariuszom coś ciekawego w Berlinie w ramach integracji. Rezultat:  Jazda po ciemku  autobusem nie jest aż taka atrakcja ;) Lepiej było by zrobić ciekawy spacer. (btw, w dzień jazda piętrowych autobusem to super sposób na zobaczenie Berlina).
  • Ustalić wcześniej jak zbierany będzie feedback po sesjach. Zapewnić materiały do zbierania feedbacku przy drzwiach. Nie marnować papieru (używaliśmy karteczek samoprzylepnych, trochę ich poszło..).
  • Przygotować kilka przykładowych scenariuszy + zalecenia co w danej sytuacji robić. (Np. mikrofon przestaje działać, ktoś kogo nie ma na liście uczestników twierdzi, że zapłacił, komuś zginął laptop, speaker przekracza czas i zdaje się nie kończyć)
  • W czasie rejestacji korzystać bezposrednio z google docs lub z excela? Mieć dostęp do większego biurka / kilku biurek rejestracyjnych (by więcej osób na raz mogło sie rejestrować).
  • Zadbać o odpowiedni sponsoring dla wolontariuszy (na wszystkie wyjścia). U nas zabrało np. sponsoringu na obiad konferencyjny (uczestnicy płacili sami).
  • „Przećwiczyć rejestracje” i inne scenariusze na dzień przed konferencją z wolontariuszami (a nie tylko opowiadać).
Tyle zapamiętałem/zebraliśmy podczas retrospekcji..

Organizując światowy dzień CodeRetreat

środa, 14 Wrzesień 2011

Dziś rozpocząłem proces organizacji CodeRetreat Berlin w ramach światowego dnia CodeReteat.

Na razie założyłem tylko grupę na googlach i szukam chętnych do pomocy. Przed nami „trochę pracy”. Musimy znaleźć sponsorów, salę, przeprowadzić rejestrację, zorganizować obiad i załatwić wiele innych małych rzeczy. Damy radę! Po ostatnim CodeRetreat w Berlinie, ludzie są pozytywnie nastawieni :)

Światowy dzień CodeRetreat odbędzie się w sobotę, 3 grudnia 2011. Na razie na liście miast uczestniczących w projekcie nie ma żadnego miasta z Polski, mam nadzieję, że wkrótce się to zmieni ;)

3 grudnia, przez około 32 godziny, gdzieś na świecie odbywać się będzie CodeRetreat. W czasie przerw pomiędzy iteracjami będziemy łączyć się na wideo konferencjach z innymi lokalizacjami i na bieżąco będziemy wymieniać się wrażeniami i pomysłami.

Czy weźmiesz udział w światowym dniu CodeRetreat? W jakim mieście?

ALE2011 w Berlinie

niedziela, 11 Wrzesień 2011

W piątek skończyła się pierwsza paneuropejska konferencja Agile Lean Europe. O konferencji możecie poczytać między innymi na blogu Marcina lub na Twitterze.

Konferencja była dla mnie szczególna, gdyż pierwszy raz wziąłem w niej udział jako koordynator wolontariuszy (wcześniej byłem „tylko” wolontariuszem).  Wiązało się to z dużo większym zaangażowaniem podczas eventu w sprawy „organizacyjne” i mniejszą możliwością udziału w samej konferencji.

Nie mniej jednak miałem okazję poznać sporo fajnych osób i przeprowadzić dużo ciekawych konwersacji, za które swoim rozmówcą chciałbym tutaj podziękować.

Na konferencji:

  • Dowiedziałem się o Agile Tour – może w ten sposób można sprowadzić konferencję agile’ową do Wrocławia?
  • Spotkałem się z propozycją by w czasie planning pokera zamiast estymować złożoność zadań, estymować to jak bardzo dane zadanie jest dla nas zagadkowe/niepewne.
  • Twój manager stosuje micro management? Nie gódź się na to! Walcz! ;) To w naszych rękach jest zmiana świata na lepszy gdzie króluje samoorganizacja ;)
  • W czasie retrospekcji co najmniej 50% czasu spędzaj na rozmowach o przyszłości. Jakie konkretnie kroki przeprowadzicie, by poprawić to co jest „teraz”?
  • Potrzebujemy studentów, którzy „wiedzą co to agile”. Zaproponuj by wygłosić wykład na uczelni, wyjdź na przeciw do studentów. W tym miejscu chciałbym podziękować doktorowi Madeyskiemu za to, że prowadzi świetne kursy wprowadzające w tematykę Agile’ową na Politechnice Wrocławskiej.
  • Poznałem autora techniki Pomodoro, który właśnie przeprowadził się do Berlina ;)
  • Być może w Berlinie stworzymy regularne spotkania dla geeków, inspirowane XTC
Najwięcej „dowiedziałem się” o tym jak organizować zespół wolontariuszy – w praktyce. O tym w następnym wpisie ;)


Ograniczając „Work in progress”

niedziela, 31 Lipiec 2011

Jakiś czas temu opisałem na tym blogu „Pokój mojego zespołu„. Pokazałem między innymi jak wygląda nasza „tablica zadań”.

Ostatnio na naszej tablicy pojawiły się tajemnicze liczby ;)

Reprezentują one tak zwane limity „Work in progress” (WIP). Na chłopski rozum chodzi mniej więcej o to, ile maksymalnie zadań może jednocześnie przebywać w danej kolumnie..

Dlaczego? Po co?

Zacznijmy od początku..

Przez ostatnie parę miesięcy doskonale radziliśmy sobie bez tych limitów, historyjki płynnie przesuwały się od analizy do stanu zaakceptowania przez Product Ownera(PO).

Ostatnio jednak stan ten uległ zmianie na gorsze. Nasz dotychczasowy tester odszedł do innego projektu. Do zespołu dołączył nowy, ale dzielił swój czas pomiędzy dwa różne zespoły. Dodatkowo naturalnie potrzebował trochę czasu by „wskoczyć na pełne obroty”.  Doprowadziło to do zgromadzenia się wielu historyjek w „kolumnie gotowe do przetestowania”.

Było tak oczywiście ponieważ programiści dalej na pełnej prędkości implementowali życzenia biznesu.

Czemu powyższa sytuacja była nie optymalna?

  • Pomimo, że programiści pracowali, biznes nie widział / nie dostawał swoich historyjek. Przecież nie pokażemy czegoś, co nie spełnia najwyższych standardów jakości.
  • Gdy nasz tester zabrał się do testowania, programistom było trudniej przypomnieć sobie co i jak dokładnie zostało zrobione. Od momentu testowania dzieliło ich już czasem ponad tydzień pracy nad czymś innym (u nas jest to rzadkość :P ).
  • Czasem podczas testowania może zostać odkryte nowe wymaganie lub problem, który dotyczy kilku historyjek. Im wcześniej coś takiego zostanie wykryte, tym mniej pracy zostanie zmarnowane na pracowanie nad czymś, co i tak trzeba będzie poprawić.
Limity WIP na ratunek!
By zniwelować opisane problemy, zdecydowaliśmy się zastosować limity WIP.

Teraz, gdy programista skończył implementować historyjkę, a kolumna „gotowe do testowania” była pełna, był „zablokowany”. I co tu robić? Oczywiście pomóc z testowaniem!

Limity WIP zmusiły programistów do wyjścia ze strefy komfortu. W ten sposób jako programiści:

  • Zdobyliśmy trochę doświadczenia w testowaniu
  • Dowiedzieliśmy się, jakie środowiska testowe mamy
  • Zadbaliśmy o to, by uzyskać dostęp do tych środowisk
  • Pomogliśmy pisać skrypty ułatwiające tworzenie danych testowych
Jedynym ograniczeniem było, że programista nie może testować własnej historyjki.

Jakby tego było mało, zaraz natknęliśmy się na kolejny limit – „Gotowe do pokazania biznesowi”. I tutaj programiści mieli szansę poćwiczyć nowe umiejętności przygotowując ”demo” i zbierając informację zwrotną od PO.

Generalnie eksperyment z WIP uważamy za udany. Następnym krokiem być może będzie wprowadzenie limitu na historyjki, które czekają na wejście na produkcję. Może w ten sposób uda nam się trochę ten proces usprawnić :)

Jeśli chcesz dowiedzieć się więcej na ten temat, polecam tę książkę.