Daily Scrum jest jednym z obowiązkowych wydarzeń w Scrumie. Jednocześnie to spotkanie jest najczęściej wykonywane ze względu na obowiązek - bez zrozumienia celu. Czy znasz poniższy scenariusz?

Wchodzisz rano do biura. Zaspany, z nienawiścią w oczach patrzysz na nich - ludzie z zespołu. Wybija godzina zero - stajecie w kółku i składacie raport. Marian nie zrobił tego, co zaplanował wczoraj, ale znalazł śmieszny fragment kodu. Zbyszek zapłakał nad swoim losem przy współpracy z innym działem. Janusz scrolluje kwejka na telefonie. Dalej nie pamiętasz, bo odpłynąłeś. Wybudzony przez Scrum Mastera bełkoczesz coś o tym, że będziesz kontynuować to, co wczoraj. Wszyscy kiwają głową. Kończycie po 20 minutach, rozchodzicie się do biurek. Nikt nie wie, co przyniesie następny dzień.

Jeżeli twoje wizyty w pracy wyglądają w ten sposób, to znak, że Ty i twoi koledzy marnujecie każdego dnia część swojego życia. Zobacz, jak przestać marnować cenny czas podczas Daily Scrum - zmień to spotkanie w najważniejszy punkt swojego dnia.

Daily Scrum vs Standup

Z jakiegoś powodu przyjęło się, że poranne spotkania nazywa się standupem. Każdy ma stać, bo pomaga to przyspieszyć spotkanie. Standup nie jest praktyką scruma - wywodzi się z metodyki Extreme Programming. Scrumowym odpowiednikiem jest Daily Scrum. Forma tego spotkania jest podobna. Nie ma jednak wymogu stania. Argumentowanie, że spotkanie powinno się odbywać na stojąco to próba wykonania magicznej sztuczki naprawiającej niedociągnięcia.

Do czego służy Daily Scrum?

Daily Scrum służy do ustalenia strategii na następne 24 godziny. Wydarzenie to daje możliwość inspekcji wykonanego postępu i adaptacji planu. Planowanie jednej doby pozwala na uszycie dużo dokładniejszego planu niż planowanie całego sprintu.

Spotkanie wymaga większej szczegółowości, a więc również większego zaangażowania. Każdy uczestnik musi pozostać przytomny przez całość spotkania. Z tego powodu spotkanie musi trwać maksymalnie 15 minut.

Daily Scrum wymaga skupienia, co wymusza rygorystyczne podejście. Spotkanie musi zawsze odbywać się o jednej porze. Najlepiej jest to zrobić na początku dnia, jednak nie jest to wymóg. Bardzo ważne jest pilnowanie godziny rozpoczęcia. Spóźnianie się powoduje marnowanie czasu reszty zespołu. Jeśli nie zdążyłeś na początek Daily, to straciłeś ty i straciła reszta zespołu. Nie pogarszaj stanu. Nie przeszkadzaj innym i nie snuj opowieści o spóźnionym tramwaju. Włącz się do planowania rzeczy, które nie były jeszcze omawiane.

Kto powinien uczestniczyć w Daily

Daily Scrum jest dla zespołu deweloperskiego. Nie, nie dla waszego przełożonego, Scrum Mastera, właściciela produktu czy Pana Kanapki. To wy musicie zadbać o utrzymanie poprawnej formy.

Obecność zespołu deweloperskiego jest obowiązkowa. Scrum Master ma jedynie zapewnić, że spotkanie się odbędzie. Pozostali aktorzy - właściciel produktu, klient, szef etc. mogą być gośćmi. To od was zależy, czy pozwolicie im na wzięcie udziału w spotkaniu.

Zmień swoje nawyki

Efektywne przeprowadzanie Daily zacznij od zmiany swoich nawyków:

  • przygotuj się do daily,
  • słuchaj innych,
  • mów zwięźle.

Gdy poprawisz swoje nastawienie, część członków zespołu deweloperskiego zacznie Cię naśladować. Pozostałych będziesz musiał przekonać do nowego podejścia. Nie możesz tego wymusić - wszyscy musicie rozumieć wartość i cel spotkania.

Przygotuj się do daily

Spotkanie będzie tym efektywniejsze, im lepiej będziecie do niego przygotowani. Poświęć pięć minut przed spotkaniem. Zbierz aktualny obraz sprintu. Sprawdź jeszcze raz nad czym aktualnie pracujecie. Zobacz w jakim stanie są wszystkie zadania. Przeczytaj komentarze, jeżeli istnieją. Dzięki temu będziesz znał kontekst tego, o czym mówią koledzy. Lepiej doradzisz lub pomożesz w spełnieniu celu. Wykryj potencjalne zatory - środowiska testowe i czas ludzi spoza zespołu są ograniczonymi zasobami. Przemyśl, co chcesz powiedzieć o zadaniach, które wykonujesz. Podsumuj stan w porównaniu do poprzedniej doby. Zbierz istotne problemy, z którymi zespół może Ci pomóc. Zaplanuj następny krok.

Scrum Guide definiuje trzy pomocnicze pytania, które pomogą ci w przygotowaniu się.

Przebieg spotkania jest ustalany przez Zespół Deweloperski. Może ono być przeprowadzane na wiele sposobów, jeśli tylko pozostaje poświęcone postępom prac w kierunku osiągnięcia Celu Sprintu. Niektóre Zespoły Deweloperskie wykorzystują pytania, inne prowadzą dyskusje. Oto przykład pytań, które mogą być wykorzystywane podczas tego spotkania:
  • Co zrobiłem wczoraj, co pomogło Zespołowi Deweloperskiemu przybliżyć się do osiągnięcia Celu Sprintu?
  • Co zrobię dzisiaj, co pomoże Zespołowi Deweloperskiemu przybliżyć się do osiągnięcia Celu Sprintu?
  • Czy widzę jakiekolwiek przeszkody mogące uniemożliwić mi lub Zespołowi Deweloperskiemu osiągnięcie Celu Sprintu?

Przykładowe pytania mają pomóc ci w uporządkowaniu wypowiedzi. Nie musisz, a nawet nie powinieneś mechanicznie udzielać na nie odpowiedzi.

Słuchaj innych

Celem spotkania jest ułożenie planu. Dokonanie tego jest możliwe tylko wtedy, jesli słuchasz innych. Twoim głównym zadaniem na Daily jest słuchanie. Telefon zostaw przy biurku. Tematy pozasprintowe odłóż na dalszy plan. Twoim głównym zadaniem jest słuchanie. Słuchanie jest twoim głównym zadaniem. Zadaniem twoim jest słuchanie. Powtórz sobie to jeszcze kilka razy. Byle nie na Daily, bo na Daily twoim głównym zadaniem jest słuchanie. Jutro kolega może wpaść pod autobus albo pojechać na wakacje. Bądź na to gotowy. Zapamiętaj, czym się zajmuje.

Słuchanie pozwoli ci na zaktualizowanie swojej wiedzy o aktualnym stanie sprintu oraz wykrycie nieprawidłowości i rozbieżności.

Mów tak zwięźle, jak to możliwe (ale nie zbyt zwięźle)

Zasadniczo powinieneś się odzywać tylko w trzech sytuacjach, gdy:

  • wykryjesz poważną nieprawidłowość,
  • jesteś w stanie pomóc w rozwiązaniu problemu,
  • omawiacie zadanie, nad którym pracujesz.

Przejęzyczenie się nie jest proważną nieprawidłowością. Poważną nieprawidłowością jest:

  • niespójność w jakiejkolwiek postaci,
  • oddalenie się lub brak dążenia od celu sprintu,
  • nieuzgodnione obniżenie jakości projektu,
  • naruszanie formy Daily Scruma.

Niespójność występuje, gdy zadanie lub komentarze mówią coś innego, a poprzedniego dnia plan zupełnie różnił się od aktualnie omawianego stanu. Oddalenie się od celu sprintu pojawia się przy refaktoryzowaniu czegoś “przy okazji” i prowadzeniu nieudokumentowanych prac. Obniżenie jakości projektu może być cichym zaciąganiem długu technicznego, brakiem testów, brakiem dokumentacji lub nieprawidłowym zaprojektowaniem funkcji systemu. Jeśli ktoś dąży do wysadzenia sprintu w powietrze - reaguj, zanim będzie za późno!

Jeśli już musisz coś powiedzieć - zastanów się, czy sam byś chciał to usłyszeć. Nie marnuj czasu innych. Twoja wczorajsza impreza i alkoholowy oddech powodują dekoncentrację. Daruj sobie opowiadanie o tym. Nie opowiadaj też o drobnicy. To, że wczoraj przez pół godziny nie umiałeś napisać kompilującego się kodu, nie interesuje nikogo poza tobą.

Jeśli rzecz nie dotyczy tylko ciebie, mów w liczbie mnogiej - mamy problem, zrobiliśmy postęp, powinni nas za to wywalić. Jesteście zespołem, nie działacie osobno.

Jak przeprowadzić Daily Scrum?

Ustalcie stałe miejsce i czas spotkania. Unikniecie w ten sposób niepotrzebnych pytań “Gdzie?” i “O której?”. Do efektywnego przeprowadzenia Daily Scruma musicie wybrać miejsce, w którym nikt wam nie będzie przeszkadzał. Jeżeli nieproszeni goście was prześladują, zamknij drzwi na klucz. Kwadrans nikogo nie zbawi, a twojemu zespołowi da spokój i izolację. Zamiast mówić kolejno o waszym prywatnym stanie prac, przejdźcie przez zadania. Przechodzenie po zadaniach sprawdza się dużo lepiej niż przechodzenie po ludziach - skupiacie się na celu sprintu i dostarczaniu wartości jako zespół. Zacznijcie od zadań najbliżej ukończenia - domknięcie aktualnych tematów jest ważniejsze od otwierania nowych.

Utrzymanie się w ramach czasowych jest bardzo istotne. Kwadrans to wbrew pozorom bardzo dużo czasu. Jeżeli omówiliście wszystko w mniej niż 15 minut - świetnie. Jeżeli zbliżacie się do końca kwadransu i jesteście dalej w połowie - delikatnie pospiesz innych.

Do czego prowadzi naruszanie formy Daily Scruma?

Jeżeli przychodzisz na daily scrum spóźniony, nieprzygotowany i opowiadasz o rzeczach niezwiązanych z realizacją celu sprintu, prowadzisz do zmniejszenia motywacji zespołu i wiary w sensowność tego spotkania. Taki sam efekt odniesiesz ignorując innych i przerywając im bez powodu. Konsekwencją powyższych zachowań jest trudność w połączeniu zadań, przejmowania pracy innych programistów oraz tworzeniu poprawnie zintegrowanego produktu. W efekcie w oprogramowaniu pojawiają się błędy, a klient staje się marudny. Nikt nie chce mieć marudnego klienta.

Podsumowanie

Jesteś zmęczony bezsensownym spotkaniem, które zmusza Cię do stania w kółku i spowiadaniu się na głos przed samym sobą? Zacznij od zrozumienia celu Daily Scruma. Przed każdym Daily poświęć pięć minut na przygotowanie się. Przygotowanie się pozwoli Ci lepiej wysłuchać resztę zespołu. Gdy będziesz mówił, sformułuj wypowiedź tak, żeby dawała zespołowi wartość. Pamiętaj, że najlepsze efekty daje zarażanie innych dobrym przykładem.

Czy Twój zespół praktykuje Daily Scrumy lub Standupy? Jakie reguły stosujecie? Podziel się w komentarzu.