Trzy role Scrum
W Scrumie funkcjonują trzy role: product owner, Scrum Master i członkowie zespołu deweloperskiego. Są one jasne, jednak pojawia się pytanie, co zrobić z dotychczasowymi nazwami stanowisk. Wiele zespołów pyta, czy decydując się na wdrożenie Scruma, muszą zmienić swoje nazewnictwo. Odpowiedź jest krótka: nie.
W tym artykule zdefiniujemy role Scrum i pokażemy, jak można je wprowadzić w organizacji bez konieczności drukowania nowych wizytówek.
Role Scrum i nazwy stanowisk
Trzy role Scrum opisują kluczowe obowiązki członków zespołu Scrum. Nie są to nazwy stanowisk. To oznacza, że może je pełnić osoba zajmująca dowolne stanowisko, nawet jedno z dotychczasowych. Podstawę ram postępowania Scrum stanowią empiryzm, samoorganizacja oraz ciągłe doskonalenie, dlatego te trzy role zapewniają definicję podstawowych obowiązków i zakresów odpowiedzialności, które pozwolą zespołom skutecznie dostarczać wyniki pracy. Dzięki temu zespoły mogą wziąć odpowiedzialność za organizację swojej pracy i ciągle się doskonalić.
Tworzenie zespołu Scrum
Scrum to ramy postępowania, na bazie których zespoły mogą tworzyć własne procesy. Zapewniają one podstawową strukturę regularnych spotkań, artefaktów oraz obowiązków poszczególnych uczestników.
Scrum nie zapewnia natomiast uniwersalnego modelu pracy dla wszystkich zespołów. Jeśli na przykład zespół pracuje nad internetową aplikacją ubezpieczeniową, potrzebni będą specjaliści z zakresu technologii, systemów backendowych, a także obszaru biznesowego. Jeśli natomiast zespół pracuje nad nową generacją gry Donkey Kong, zestaw wymaganych umiejętności będzie inny. W skład takiego zespołu wchodziłby grafik, inżynier dźwięku i programista grafiki. Problemy będą odmienne, a zatem struktury zespołów i potrzebne umiejętności także będą się różnić.
Sprawa komplikuje się dodatkowo w miarę zwiększania złożoności problemu, jaki zespół próbuje rozwiązać. Jak głosi stare powiedzenie: „Nie wiesz, czego nie wiesz, dopóki się nie dowiesz, że tego nie wiesz”. Zespoły mogą nie wiedzieć z wyprzedzeniem, jakie umiejętności będą potrzebne albo ile pracy będzie trzeba wykonać, dlatego niezbędna jest możliwość elastycznej zmiany toku realizacji w miarę zdobywania nowych informacji.
Aby zapewnić jakąś strukturę w tym złożonym, stale zmieniającym się i często irytującym świecie, Scrum oferuje uproszczoną strukturę opartą na trzech rolach Scrum: członka zespołu deweloperskiego, product ownera i Scrum Mastera.
Zespół deweloperski: nowe podejście do koncepcji „dewelopera”
Zespół deweloperski obejmuje ludzi, którzy wykonują pracę. W pierwszej chwili można odnieść wrażenie, że zespół deweloperski to inżynierowie. Ale nie zawsze tak jest. Według Przewodnika po Scrumie zespół deweloperski może składać się z osób pełniących różne funkcje, w tym projektantów, twórców treści, programistów itp.
Można podejść do tego tematu analogicznie jak podczas realizacji projektu budowy domu i zatrudnienia w tym celu wykonawcy. Jest on odpowiedzialny za opracowanie projektu i wykonanie prac. Może także zajmować się murowaniem, wykonywać instalacje hydrauliczne, a nawet robić wykopy, jednak nadal jest nazywany wykonawcą. Oznacza to zatem, że rola „dewelopera” w Scrumie odnosi się do członka zespołu z umiejętnościami odpowiednimi do wykonywania konkretnej pracy w ramach działalności zespołu.
Zespół deweloperski powinien móc samodzielnie organizować swoją pracę, aby podejmować decyzje prowadzące do jej ukończenia. Pomyśl o zespole deweloperskim jako podobnym do zespołu wsparcia produkcji, który jest wzywany w nocy, ponieważ coś poszło nie tak. Zespół deweloperski, tak samo jak zespół wsparcia produkcji, może podejmować decyzje i dostarczać poprawkę/korzyść w przypadku danego problemu. W samoorganizacji nie chodzi o lekceważenie organizacji, ale raczej o umożliwienie osobom najlepiej zorientowanym w pracy robienie tego, co jest potrzebne do rozwiązania problemu.
Obowiązki zespołu deweloperskiego:
- Dostarczanie pracy poprzez realizację sprintów.
- Zapewnienie przejrzystości podczas sprintu dzięki codziennym spotkaniom scrumowym (nazywanymi czasem standupami). Codzienne spotkanie scrumowe gwarantuje przejrzystość prac i oferuje członkom zespołu sposobność do zwrócenia się o pomoc, omówienia sukcesów i wskazania problemów oraz blokerów. Scrum Master może pełnić rolę moderatora codziennych spotkań scrumowych, jednak ostateczną odpowiedzialność za przebieg tego spotkania ponoszą członkowie zespołu deweloperskiego. To ich spotkanie, które ma na celu udzielenie im — jako grupie — pomocy, skontrolowanie i dostosowanie wykonywanych prac, a także zadbanie o najbardziej efektywny przebieg ich realizacji.
Product owner: wyznaczanie jasnego kierunku
Product ownerzy w Scrumie na podstawie poznanych wymagań klienta i firmy tworzą backlog produktu i zarządzają nim. Zespoły Agile są z założenia elastyczne i responsywne, dlatego obowiązkiem product ownera jest zapewnienie, aby dostarczały one jak największą wartość. Firma jest reprezentowana przez product ownera, który informuje członków zespołu deweloperskiego o ważnych do dostarczenia elementach. Zaufanie między tymi dwoma rolami jest kluczowe.
Product owner powinien nie tylko rozumieć klienta, ale także mieć wizję wartości, jaką zespół Scrum dostarcza klientowi. Dodatkowym zadaniem product ownera jest pogodzenie potrzeb innych interesariuszy w organizacji.
W związku z tym product owner musi zebrać te wszystkie dane wejściowe i ustalić priorytet prac. To prawdopodobnie najważniejszy z jego obowiązków, ponieważ sprzeczne priorytety i niejasne decyzje nie tylko obniżają skuteczność zespołu, ale także mogą niszczyć ważną relację zaufania, która istnieje między kierownictwem firmy a zespołem deweloperskim.
Zespoły Agile są przystosowane do kontrolowania i adaptacji. To oznacza, że zmiana w priorytetach może doprowadzić do poważnej zmiany w strukturze zespołu, opracowywanych produktach, a nawet w wyniku końcowym. Zatem dla powodzenia zespołów Scrum niezwykle istotne jest to, aby priorytety ustalała jedna osoba. Taką osobą jest product owner.
W Przewodniku po Scrumie obowiązki product ownerów zdefiniowano następująco:
- Zarządzanie backlogiem Scrum — Nie oznacza to, że są to jedyne osoby umieszczające nowe elementy w backlogu produktu. Jednak to właśnie one ostatecznie odpowiadają za backlog, który zespół deweloperski przyjmuje jako podstawę prac. To oznacza, że product owner powinien znać całą zawartość backlogu, a inne osoby, które dodają do backlogu produktów swoje elementy, powinny powiadamiać o tym product ownera. Oferujemy nawet darmowy szablon Scrum, który ułatwi Ci utworzenie backlogu.
- Zarządzanie wydaniami — Sprint nie jest cyklem wydawania, ale cyklem planowania. Oznacza to, że zespoły Scrum mogą dostarczać wyniki prac w dowolnym momencie. Najlepiej, gdyby praca była dostarczana często w czasie trwania całego sprintu, aby w trakcie przeglądu sprintu można było przeanalizować faktyczne użycie przez klientów oraz ich opinie. Jednak ciągłe dostarczanie nie zawsze jest możliwe i są wtedy wymagane inne modele wydawania. Ważne, aby product owner wiedział, kiedy poszczególne elementy mogą i powinny zostać wydane.
- Zarządzanie interesariuszami — W proces tworzenia każdego produktu zaangażowanych jest wielu interesariuszy, od użytkowników, klientów, aż po administrację i kierownictwo organizacji. Product owner będzie musiał współpracować z tymi wszystkimi osobami, aby skutecznie zapewnić dostarczenie wartości przez zespół deweloperski. To może oznaczać duży nakład pracy związanej z zarządzaniem interesariuszami i komunikacją.
Scrum Master: spajanie wszystkiego w całość
Scrum Master jest rolą, która spaja całość, i dba o prawidłowe realizowanie ram postępowania Scrum. W kategoriach praktycznych oznacza to, że pomaga on product ownerowi w definiowaniu wartości, zespołowi deweloperskiemu w dostarczaniu wartości, a zespołowi Scrum w samodoskonaleniu. Scrum Master jest liderem służebnym. To pojęcie odnosi się nie tylko do wspierającego stylu przywództwa, ale opisuje także, czym zajmuje się na co dzień.
Osoby pełniące tę rolę służą product ownerowi, pomagając mu lepiej zrozumieć i przedstawić wartość, zarządzać backlogiem i planować pracę z zespołem oraz jej podział, tak aby product owner mógł czerpać z tej współpracy owocne wnioski. Zespołowi deweloperskiemu Scrum Master służy pomocą w zakresie samodzielnej organizacji, koncentracji na wynikach, finalizowania przyrostów i zarządzania blokerami. Ponadto Scrum Master służy organizacji na poziomie ogólnym, pomagając jej członkom zrozumieć, na czym polega Scrum, i utworzyć środowisko sprzyjające stosowaniu tych ram postępowania.
Obszary koncentracji Scrum Mastera:
- Przejrzystość — W celu zapewnienia skutecznej kontroli i adaptacji ważne jest, aby właściwe osoby miały wgląd w to, co się dzieje. Jednak zazwyczaj jest to trudniejsze do osiągnięcia niż mogłoby się wydawać. Zadaniem Scrum Mastera jest zapewnienie, aby zespół Scrum pracował w sposób przejrzysty. Przykładowe działania podejmowane w tym celu to: tworzenie map historyjek i aktualizowanie stron Confluence o pomysły, które pojawią się w trakcie retrospektywy.
- Empiryzm — Fundament podejść Scrum i Agile, który zakłada, że najlepszym sposobem planowania jest realizowanie prac i wyciąganie z nich wniosków. Proces empiryczny nie jest łatwy i wymaga od Scrum Mastera szkolenia i wspierania zespołu Scrum w zakresie podziału prac na mniejsze części, precyzyjnego opisywania wyników oraz ich analizowania.
- Samoorganizacja — Poinformowanie zespołu deweloperskiego, że może samodzielnie organizować swoją pracę, nie oznacza, że zespół będzie to robił. W rzeczywistości samoorganizacja przychodzi z czasem i wymaga pomocy oraz wsparcia. Scrum Master będzie zachęcał członków zespołu do wyjścia ze swojej strefy komfortu i próbowania nowych rozwiązań czy praktyk, takich jak „delegacyjny poker” w celu ujawnienia i zakwestionowania przyjętych wcześniej założeń dotyczących granic ról i odpowiedzialności.
- Wartości — W Scrumie zdefiniowano 5 wartości: odwagę, koncentrację, zaangażowanie, szacunek i otwartość, nie dlatego, że ładnie to brzmi, tylko dlatego, że pozwalają one zbudować środowisko sprzyjające poczuciu bezpieczeństwa i zaufania. Takie środowisko jest niezbędne, aby mogła się rozwijać zwinność. W parze z wartościami idzie odpowiedzialność każdego członka zespołu Scrum, jednak to Scrum Master aktywnie zachęca wszystkich do realizowania tych wartości w praktyce i przypomina o ich znaczeniu.
Scrum Master służy pomocą product ownerowi w planowaniu sprintów i przeprowadzaniu ich przeglądów, zwracając szczególną uwagę na wyraźne opisanie wartości i wyznaczenie kierunku. Służy pomocą również zespołowi deweloperskiemu w trakcie codziennych spotkań scrumowych, zapewniając, że prace idą naprzód, a blokery są eliminowane. Odpowiada także za blokery, których usunięcie wykracza poza możliwości zespołu. Scrum Master dba o to, aby każda okazja do wprowadzenia ulepszeń była wyraźnie widoczna dla zespołu Scrum, a z retrospektywy wynikały czytelne wnioski, które można wdrożyć w praktyce.
Rozpoczynanie korzystania z ról Scrum w metodyce Agile
Trzy role Scrum dosyć prosto opisują trzy główne obszary odpowiedzialności w każdym zespole Scrum, jednak często trudno odwzorować je na dotychczasowe stanowiska. Można spróbować w taki sposób:
- Jeśli masz mnóstwo ciekawych umiejętności pozwalających na dostarczanie wartości klientom, a dodatkowo Cię to pasjonuje, będziesz idealnym członkiem zespołu deweloperskiego Scrum. W istocie zespół jest najważniejszym elementem każdej organizacji Agile, ponieważ to właśnie on faktycznie dostarcza wartość klientom i interesariuszom. Oznacza to, że rangę określa się na podstawie tego, ile wartości dostarczasz lub jak bardzo pomagasz innym to robić.
- Jeśli Twoją pasją jest współpraca z klientem, zarządzanie interesariuszami oraz obszar biznesowy, wówczas najlepiej sprawdzisz się w roli product ownera. W większości organizacji ta osoba musi mieć szacunek i zaufanie firmy, aby mogła podejmować decyzje. Ta rola wymaga również pewnej dozy kompetencji politycznych, ponieważ negocjujesz kompromisy i dbasz o to, aby każdy był zadowolony.
- Jeśli chcesz pomagać zespołom w efektywnej współpracy oraz zmieniać świat, stosując ramy postępowania Scrum i metodykę Agile, to rola Scrum Mastera jest dla Ciebie. Jest ona mocno zorientowana na ludzi i kładzie silny nacisk na coaching, szkolenie i facylitację.