piątek, 9 marca 2012

Zespół scrumowy w podziale na role

Jednym z najistotniejszych czynników w projektach są ludzie. W Scrumie zespoły nie są z reguły liczne, powinny liczyć od 5 do 10 osób (dodając do tego scrum mastera i product ownera). Zbyt mała liczba osób może spowodować kłopoty w samoorganizacji zespołu i niemożność skorzystania z pełni zalet metodyki. Automatycznie jeśli zespół jest zbyt duży mogą pojawić się problemy z komunikacją, zbyt dużo kanałów komunikacyjnych.

Osoby zaangażowane w projekt scrumowy to:

Scrum master - dba o to aby projekt toczył się bez przeszkód, umożliwia wykonanie projektu ale nie jest typowym kierownikiem projektu, dba o to aby był zachowany proces. Do jego zadań należy organizowanie i moderowanie spotkań oraz usuwanie wszelkich przeszkód stojących przed zespołem, musi potrafić motywować zespół i pomagać w sytuacjach w których zespół stoi przy ścianie. Tworzy wykres wypalenia pokazujący postęp prac z trakcie trwania każdego dnia sprintu. Dodatkowo powinien być dla product ownera bazą wiedzy o procesie i w każdym momencie móc wesprzeć go radą ewentualnie poinformować o konsekwencjach podejmowanych decyzji.


Główne taski Scrum Mastera to:
  • usuwanie przeszkód pomiędzy zespołem a product ownerem tak aby PO mógł bezpośrednio kierować wykonawstwem produktu
  • ciągła poprawa procesu , tak aby po każdej iteracji proces był  lepszy i bardziej dojrzały
  • nauka product ownera aby poprzez scrum mógł osiągać swoje cele biznesowe
  • utrzymywanie informacji wśród zainteresowanych na temat postępu prac zespołu
  • zwiększanie wydajności zespołu poprzez różnorakie zabiegi, wszystkie chwyty dozwolone
  • przeciw działanie naciskom z zewnątrz, jak i product ownera w czasie trwania sprintu
  • zwiększanie morali zespołu poprzez wprowadzenie dobrych praktyk do procesu
  • komunikowanie i rozwiązywanie problemów szybko, aby zespół nie tracił czasu 
Product owner - definiuje zadania oraz kryteria odbioru pracy, podczas demo decyduje czy kryteria sukcesu zostały spełnione, zgłasza do scrum mastera przeszkody w pracy, do jego zadań należy tworzenie i priorytetyzowanie product backlogu, stoi murem za biznesem. Osoba pełniące te obowiązki podejmuje strategiczne decyzje i jest później za nie odpowiedzialna przed interesariuszami. Powinien dobrze znać produkt który rozwija, buduje, ewentualnie może posiłkować się wiedzą doradców. Nigdy nie wykonuje zadań samodzielnie, nie powinien również sugerować zespołowi żadnych rozwiązań.

Główne taski Product Ownera to:
  • spełnianie celów postawionych przez interesariuszy produktu
  • uzyskiwanie od zespołu możliwie maksymalnego zwrotu z inwestycji, efektów pracy na najwyższym poziomie
  • ochrona zespołu przed wpływem osób trzecich
  • tworzenie nowych zadań oraz priorytetyzownaie zadań w product backlogu w celu osiągnięcia największej wydajności zespołu

Zespół (Team) - zespół wie jak wykonać czynności zlecone przez product ownera,  jest odpowiedzialny za całościowe wykonanie produktu, zna swoje możliwości wobec tego wie ile jest w stanie dostarczyć w ramach jednej iteracji, wykonuje zadania dążąc do wyznaczonego celu oraz estymuje zadania korzystając ze swojej wiedzy. Dba o to aby ze wszystkimi zadaniami wyrobić się w ramach sprintu, ważne aby członkowie zespołu dzielili się ze sobą wiedzą. Scrum master musi dba o to aby estymacja była uczciwa oraz aby zespół był zmotywowany, Podczas codzienny spotkań zespół powinien odpowiadać na 3 scrumowe pytania.

 Główne taski Zespołu to:
  • decydowanie o ilości tasków które będą wykonane w ramach sprintu
  • ocena pracochłonności zadań przedstawionych przez prodcut ownera
  • decydowanie o metodzie wykonania danego user story
  • tworzenie produktu zgodnie z ustaloną definicją wykonania

Otoczenie (Others) - wszystkie pozostałe osoby zainteresowane projektem, tacy jak: zarząd firmy,  członkowie innych projektów, przyszli użytkownicy, itd. Osoby te będąc z boku procesu realizacji produktu nie mogą w żaden sposób wpływać na prace zespołu scrumowego. Dodatkowo scrum master i product owner powinni dbać o to aby zespół był oddzielony od wpływów  z zewnątrz i w spokoju mół skupic się na pracy nad produktem. 


Należy również wspomnieć że zgodnie z metodyką zespół wraz ze scrum masterem i product ownerem są "świniami" w projekcie, a całe otoczenie to "kurczaki". Ten podział może być lepiej przedstawiony w historyjce:

"Świnia i kurczak chcieli razem założyć restauracje. Gdy kurczak przedstawiał świni propozycję założenia knajpy, ta zapytała się jak ją nazwiemy? Świnia w odpowiedzi usłyszała “jajka na boczku”, świnia skwitowała rozmowę tymi słowami: “O nie! Ja się poświecę a ty będziesz jedynie zaangażowany!"

Brak wyodrębniania ról w zespole scrumowym też jest widoczny, każdy z członków zespołu powinien posiadać pewne specyficzne kompetencje typu umiejętność programowania, testowania czy tworzenia baz danych, natomiast jeśli dowolny inny członek zespołu chce zrobić zadanie nie do końca leży w jego kompetencjach należy mu to umożliwić.