wtorek, 21 maja 2013

Jak przeprowadzać dzienne spotkania Scrum (Stand-up meeting)

Spotkanie scrum/stand-up
Spotkanie Scrum/Stand-up
Nadrzędnym celem spotkania stand-up jest możliwość weryfikacji stopnia zaawansowania developmentu czyli postępu prac względem założonej prognozy na dany sprint oraz synchronizacja informacji pomiędzy członkami zespołu. Dzień po dniu zespół daje feedback dla właściciela produktu gdzie w danej chwili jest z wykonaniem prognozy aktualnej iteracji projektu. Rozmowa w gronie zespołu pozwala poznać status projektu na dany dzień przez wszystkie osoby uczestniczące w spotkaniu. Członkowie zespołu sami miedzy sobą koordynują prace, przez co biorą resztę zespołu na świadków tego co w ramach dnia następującego po spotkaniu zobowiązują się dostarczyć

Kolejną dużą zaletą jest możliwość szybkiego ujawnienia przeszkód, które przeszkadzają lub blokują postęp prac. Należy nadmienić, że podczas spotkania następuje wyłącznie ujawnienie przeszkody, a nie próba poszukiwania rozwiązania. Ujawnienie przeszkody wszystkim członkom zapewnia osobę mającą problem o wsparciu ze strony zespołu. Do usuwania przeszkód stojących przed zespołem i koordynacji znalezienia rozwiązania dedykowany jest scrum master. Jeśli sam nie będzie w stanie poradzić sobie z przeszkodą może prosić zespół i inne osoby z otoczenia o niezbędne wsparcie.


Uczestnicy spotkania

W spotkaniu muszą wziąć udział wszystkie osoby, które współuczestniczą w budowaniu produktu tj. wszyscy członkowie zespołu deweloperskiego. Scrum master oraz właściciel produktu są osobami opcjonalnymi, nie muszą się pojawić. Pozostałe osoby, które nie wykonują czynności w ramach sprintu mogą oczywiście również wziąć udział w spotkaniu, jednakże nie mają głosu, są "kurczakami" tj. management, pozostali interesariusze.


Sugerowane reguły podczas spotkania stand-up:

  • Spotkanie winno odbywać się codziennie o tej samej porze, pozwoli to poczuć zespołowi, że spotkanie jest dedykowane dla nich i wypracować z czasem zwyczaj obecności na nim nie wymuszonej zaproszeniami w kalendarzu. Również będzie miało to znaczenie dla osób postronnych chcących uczestniczyć w spotkaniu ad-hoc, będą zawsze mieli możliwość dołączyć w razie potrzeby. 
  • Może się odbywa cna stojąco, tak jak sugeruje to nazwa ale równie dobrze na siedząco
  • Czas realizacji spotkania w miarę możliwości powinien oscylować w godzinach porannych, jak tylko cały zespół jest już na miejscu, powody tego są dwojakie: dobrze przeprowadzone spotkanie pozwala w ramach krótkiego czasu wyrównać stan wiedzy w zespole, pokazać kto czym się aktualnie zajmuje, po drugie zespół po spotkaniu może się skupić wyłącznie na pracy, która nie będzie przerywana spotkaniami. 
  • Utrzymywać czas trwania spotkania w z góry zaplanowanym czasie, framework mówi o przedziale 0-15 minut w zależności od wielkości zespołu. 
  • Każdy z członków zespołu ma obowiązek wypowiedzenia się na 3 pytania (nie wymawiamy ich za każdym razem, zakładamy, że każdy wie o czym musi powiedzieć ) Te pytania to: 

    • Co zostało zrobione w ramach wczorajszego dnia? 
    • Co będzie zrobione w ramach dzisiejszego dnia? 
    • Czy napotkaliśmy przeszkody uniemożliwiające postęp prac ? 
    • Dodatkowo mogą być krótko poruszone kwestie istotne dla całego zespołu

  • Każdy z itemow powinien na spotkaniu zostać zaktualizowany o wartości podane przez członków zespołu w kontekście zużytego czasu i pracy pozostałej do końca. Wykres wypalenia dodatkowo zaktualizowany o nowe wartości pokaże dzienny postęp prac zespołu względem prognozy dostarczenia. 
  • Przeszkody przedstawione przez zespół powinny zostać zanotowane w rejestrze przeszkód wraz z informacja kto ma się tym zająć, jaki jest priorytet oraz ile ma na to czasu. Odpowiedzialnością scrum mastera jest usuwanie przeszkód stojących przed zespołem i monitorowanie postępu realizacji. Wszystkie zgłoszone problemy i ich obecny status powinien być cały czas widoczny dla całego zespołu. 
  • W miarę możliwości utrzymuj widocznym omawiane itemy, tak aby uwidocznić rozmówcy i słuchaczom, item o którym mowa. Ważne aby po spotkaniu wszyscy uczestnicy mieli wiedzę na temat tego co pozostało do zrobienia i czy występują aktualnie jakieś przeszkody uniemożliwiające postęp prac. 
  • Wszystkie dłuższe dyskusje powinny być ucięte przez scrum mastera i zostać odesłane poza spotkanie (rozmowy offline). Szukanie rozwiązań na tzw. pożary również nie powinny być częścią spotkania i należy tego unikać. 


Wskazówki dla prowadzącego spotkanie:

  1. Każdy członek zespołu ma obowiązek przygotować się na spotkanie, spotkanie przebiegnie bez zakłóceń jeśli każda z osób będzie znała odpowiedzi na 3 pytania, improwizacja niezbyt mile widziana... 
  2. Spotkanie zaplanowane i konsekwentnie odbywające się zawsze o tym samym czasie, nie czekamy na spóźnialskich, spotkanie winno być praktyką zespołową nie naruszalną przez niezdyscyplinowane osoby. 
  3. Monitoring czasu tak aby nigdy nie przekraczać z góry narzuconego 15 minut time box na spotkanie daily....
  4. Spotkanie powinno prowadzić się samo, po skończonej wypowiedzi jednej osoby zaczyna mówić druga osoba o swoich zadaniach, trudnościach, ewentualnych przeszkodach, za każdym razem dając referencje do omawianego itemu. 
  5. Członkowie zespołu winni zawsze podejmować zobowiązania do skończenia określonej pracy na dzień kolejny. 
  6. Wszystkie zidentyfikowane przeszkody wymagające akcji do wykonania muszą mieć przypisanego realizatora, priorytet oraz akceptowany czas realizacji. Z automatu właścicielem problemów i przeszkód jest scrum master. 
  7. Unikaj pozwalania na opowiadanie przez jednego członka zespołu długich monologów, nie pozwalaj innym zadawać doprecyzowujących pytań, wszystkie długie dyskusje kieruj poza spotkanie, na offline. 
  8. Upewniaj się ze czasy prezentowane przez członków zespołu są poprawne, czas spędzony nad itemem i czas pozostały do końca. 
  9. Prezentuj wyniki zespołu na wspólnym i widzianych przez wszystkich wykresie wypalenia w cyklu dziennym, motywuj zespół 
  10. Na koniec spotkania podsumuj wymagane akcje od zespołu oraz zidentyfikowane przeszkody, ewentualnie zaktualizuj rejestr przeszkód i/lub przypisz akcje do siebie.

1 komentarz:

  1. Wskazówki dla dobrego stand-up meeting http://martinfowler.com/articles/itsNotJustStandingUp.html

    OdpowiedzUsuń