Scrum of Scrums, czyli jak koordynować zależności w projektach agile

Cykl: Menedżer Plus
4 maja 2015

7

Codzienne Scrumy służą do skoordynowania i codziennego planowania pracy na poziomie jednego zespołu. Co jednak, gdy w organizacji jest ich kilka, kilkanaście lub więcej? Jak zapanować nad ich pracą? Jak skoordynować wzajemne zależności, których poziom ze sprintu na sprint niebezpiecznie wzrasta?

Do tego w Scrumie używa się innego rodzaju spotkań, które noszą nazwę „Scrum of Scrums”. W dzisiejszym wpisie przedstawię wam kilka podstawowych założeń, związanych z prowadzeniem tych spotkań, dzięki którym będziecie mogli samodzielnie wdrożyć je w swoim projekcie.

Czym jest Scrum of Scrums?

Scrum of Scrums to praktyka, wykorzystywana do planowania i koordynowania wzajemnych zależności między zespołami scrumowymi.

Idea jest bardzo prosta. Każdy zespół wybiera swoich przedstawicieli, zwykle od jednej do dwóch osób, które następnie spotykają się z przedstawicielami innych zespołów, żeby porozmawiać o tym, w jakich obszarach ich praca się zazębia oraz co z tym można zrobić.

Scrum of Scrums

Uczestnicy

Typowymi uczestnikami Scrum of Scrums są Scrum Masterzy oraz Właściciele Produktu, ale to nie jest regułą. Na spotkaniach tych mogą się również pojawić inni członkowie zespołu. Jacy? Najlepiej jest pozwolić zespołowi, żeby sam zdecydował.

Mimo, że praktyka Scrum of Scrums jest stosowana do koordynowania zależności między pracą poszczególnych zespołów scrumowych, w spotkaniach tych mogą również uczestniczyć przedstawiciele innych zespołów w firmie, które wcale nie muszą pracować w Scrumie. Mam tutaj na myśli, przede wszystkim dostawców – „zewnętrznych” lub „wewnętrznych”.

Możemy wyróżnić przynajmniej 3 typy takich dostawców:

  1. Dostawca – zespół zewnętrzny. W życiu zespołów scrumowych, zwłaszcza w dużych organizacjach, bardzo często zdarzają się sytuacje, że dostarczenie określonej funkcjonalności w sprincie, zależy od tego, czy zespół dostawcy zewnętrznego faktycznie dostarczy określony komponent w uzgodnionym czasie. Dzięki Scrum of Scrums tego typu zależności można odpowiednio śledzić i na bieżąco je planować.
  2. Dostawca – zespół wewnętrzny. Mamy tutaj do czynienia z bardzo podobną sytuacją jak w punkcie 1. Różnica polega tylko na tym, że zamiast dostawcy zewnętrznego mamy do czynienia z innym, wewnętrznym zespołem w firmie. Taki zespół, wcale nie musi pracować w Scrumie.
  3. Dostawca – „konsultant” wewnętrzny. Czasem są takie sytuacje, że rolę „dostawcy zewnętrznego” pełni pojedyncza rola w firmie – na przykład wewnętrzny „konsultant”. Przez „konsultanta” rozumiem tutaj wszystkie osoby, które nie pracują w Scrumie, ale świadczą swoje „usługi” dla różnych zespołów w firmie. Taką rolę pełnią na przykład liderzy techniczni lub eksperci dziedzinowi, których codzienna praca koncentruje się na wspieraniu różnych zespołów projektowych, także tych, które pracują w tradycyjny sposób.

Warto wspomnieć, że „dostawcy” wcale nie muszą uczestniczyć we wszystkich spotkaniach Scrum of Scrums zespołów. Ich obecność przydaje się tylko wtedy, kiedy od ich „dostaw” zależy wynik sprintu danego zespołu lub zespołów scrumowych. W pozostałych przypadkach, nie muszą uczestniczyć.

Skład zespołu Scrum of Scrums nie musi być stały i może być różny na każdym spotkaniu.

Kto może prowadzić spotkanie?

Na początku, kiedy stosowałem praktykę Scrum of Scrums, wydawało mi się, że najlepszą rolą do prowadzenia tego typu spotkań będzie Scrum Master. I, muszę przyznać, jest to rozwiązanie, które bardzo dobrze się sprawdza, ale w ograniczonym zakresie.

W sytuacji, gdy macie do czynienia z „dostawcami”, zwłaszcza zewnętrznymi, rola Scrum Mastera nie wystarcza. To musi być ktoś, kto ma odpowiedni poziom „umocowania” w organizacji.

Dużo bardziej sprawdza się tutaj na przykład Menedżer Liniowy lub Kierownik Projektu. Dlaczego? Bo te role najczęściej, zajmują się zarządzaniem kontraktami i współpracą z dostawcami zewnętrznymi. Scrum Master nie ma po prostu wystarczającego zestawu „narzędzi”, żeby poradzić sobie w sytuacjach, kiedy dostawca nie dotrzymuje złożonych obietnic.

Oprócz stanowisk typowo menedżerskich, do tej roli nadaje się także tzw. „Chief Scrum Master”. To jest moja najbardziej preferowana opcja. Znam kilka firm, które z powodzeniem stosują takie rozwiązanie, i bardzo się sprawdza.

Chief Scrum Master nie pracuje bezpośrednio z żadnym zespołem scrumowym. Jest odpowiedzialny za wdrożenie i utrzymanie Scruma w całej organizacji. I właśnie ta rola bardzo dobrze nadaje się do prowadzenia spotkań Scrum of Scrums.

Agenda

Spotkania Scrum of Scrums, w odróżnieniu od Codziennych Scrumów są organizowane po to, żeby rozwiązywać problemy na poziomie wielu zespołów scrumowych w firmie. To jest ten moment, kiedy można o nich wreszcie rozmawiać.

Agenda tych spotkań jest bardzo podobna do tej, którą posługujemy się podczas Codziennych Scrumów.

Każdy uczestnik (przedstawiciel danego zespołu) odpowiada na trzy standardowe pytania:

  1. Co zrobiliśmy od ostatniego spotkania i jaki to może mieć wpływ na inne zespoły?
  2. Co planujemy do następnego spotkania i jaki to może mieć wpływ na inne zespoły?
  3. Jakie przeszkody przeszkadzają w pracy naszego zespołu?

Zauważcie, że podczas spotkania koncentrujemy się przede wszystkim na zależnościach między zespołowych. Nie omawiamy wszystkich elementów, nad którymi w danym momencie zespół pracuje.

Dodatkowo, bardzo zachęcam was do tego, żeby w trakcie opowiadania na te trzy pytania, domyślnie używać pierwszej osoby liczby mnogiej – „my” zrobiliśmy, „my” zaplanowaliśmy.

To bardzo ważne, żeby w trakcie tego spotkania nie odnosić się wprost do pracy poszczególnych osób w zespole. Na tym spotkaniu interesuje nas przede wszystkim perspektywa zespołu, jako całości, a nie poszczególnych jednostek. Zobaczcie, że jest to zupełnie inaczej, niż w przypadku Codziennych Scrumów. Tam, perspektywa indywidualna ma dużo większe znaczenie.

Częstotliwość

Spotkania Scrum of Scrums powinny mieć stałe ramy czasowe. Nie ma tutaj sztywnych reguł, ale zwykle powinny zajmować od 30 do 60 minut.

Ich częstotliwość każdorazowo zależy od liczby zespołów w danej organizacji, a także stopnia intensyfikacji zależności, które pomiędzy nimi występują. Ja zazwyczaj staram się nie przekraczać dwóch spotkań na tydzień. To jest absolutne maksimum. Częściej nie ma sensu ich organizować.

Scrum of Scrums Backlog

W trakcie każdego takiego spotkania zespoły zgłaszają różnego rodzaju problemy, które trzeba wspólnie rozwiązać. Jeżeli nie jesteśmy w stanie tego zrobić podczas spotkania, trafiają one do wspólnego rejestru, którego właścicielem jest osoba, prowadząca spotkanie.

Rejestr to zwykła lista akcji do zrobienia, która niczym nie różni się od tych, które zazwyczaj stosujemy w naszych projektach.

Scrum of Scrums Backlog

Oprócz Excela, do stworzenia takiego Backlogu Scrum of Scrums możecie wykorzystać tzw. „Kanban Board” w narzędziu JIRA. Tak, wiem – jest to pewnego rodzaju schizofrenia :), ale „Scrum Board” się do tego słabo nadaje. Praca z użyciem „Scrum Board” narzuca wam reżimy pracy w sprintach, co w przypadku akcji Scrum of Scrums nie ma aż takiego znaczenia.

Narzędzia

Przyznam, że dotychczas nie znalazłem żadnego dobrego narzędzia elektronicznego, które, w jakiś sposób, wspierałoby prowadzenie Scrum of Scrums. Dlatego, najczęściej stosuję zwykłą magnetyczną tablicę, na której, wspólnie z zespołami, budujemy matrycę zależności poszczególnych elementów w Backlogu.

Ponieważ w zespołach, z którymi pracuję prawie zawsze pojawiają się dostawcy, od jakiegoś czasu, zamiast numerów sprintów, używam tygodni kalendarzowych. Dzięki temu mamy możliwość śledzenia czasu, w oderwaniu od sprintów, co bardzo przydaje się, zwłaszcza w kontekście zespołów, które nie pracują w Scrumie.

Taka tablica sprawdza się bardzo dobrze, jeżeli liczba zależności nie przekracza dziesięciu zespołów. Jeżeli jest ich więcej, polecam „przesiadkę” na Excel’a.

Scrum of Scrums Board

Pułapki

Podstawową „pułapką”, związaną ze stosowanie Scrum of Scrums w organizacji, jest traktowanie tego narzędzia jako spotkania statusowego projektu.

Jest to typowa „pułapka”, w którą wpadają zespoły, zwłaszcza w początkowych etapach wdrożenia agile w firmie. Bierze się to chyba stąd, że wtedy ta „nieuświadomiona” część organizacji, podświadomie próbuje sobie jakoś „przetłumaczyć” tę nową, zwinną rzeczywistość w ich firmie na język „starych” procesów. I to jest tego efekt.

Scrum of Scrums nie jest spotkaniem, podczas którego prezentujecie wyniki prac projektu, czy programu. Celem tego spotkania jest bieżące planowanie i koordynowanie zależności w codziennej pracy zespołów scrumowych.