Daily Scrum – jak to zrobić dobrze

Co to jest Daily Scrum? 

Daily Scrum, lub po prostu Daily, jest to spotkanie Zespołu Developerskiego w celu synchronizacji oraz ułożenia planu na 24h. Daily odbywa się każdego dnia roboczego w trakcie sprintu. W celu zmniejszenia kompleksowości Daily Scrum, spotkanie zawsze odbywa się w tym samym miejscu i nie trwa dłużej niż 15 min.

Główne cele Daily to:

  • Optymalizacja współpracy oraz wydajności zespołu
  • Inspekcja postępów pracy od ostatniego Daily Scrum
  • Planowanie i Adaptacja nadchodzącego dnia pracy 
  • Inspekcja wykonania sprintu vs. Sprint Goal 

Daily Scrum to nie status!

Porównajmy zatem Daily Scrum do spotkania Statusowego:

Daily ScrumStatus Meeting
Ustalenie planu na następne 24hPojedyncze osoby raportują status osobie na pozycji Lidera lub Managera
Sprawdzenie, czy nie ma przeszkód i problemów wpływających na realizację Celu SprintuNajważniejszy jest postęp prac względem założonych “kamieni milowych”
Sprawdzenie postępu prac dnia poprzedniego w celu osiągnięcia Celu SprintuStatusy bardziej skupiają się na jednej osobie niż na całym zespole

Co promuje Daily Scrum, a czego nie uzyskamy poprzez spotkanie Statusowe:

  • Daily Scrum promuje samoorganizację i współpracę zespołu 
  • Daily Scrum zwiększa Transparencje oraz umożliwia dokonanie Inspekcji i Adaptacji
  • Daily Scrum umożliwia skupienie się zespołu na osiągnięciu Celu Sprintu

Co nam umożliwia Daily Scrum?

Głównym celem Daily jest ustalenie przez zespół planu na 24h. Mając na uwadze empiryczne podejście, włączając w to Inspekcje i Adaptacje, developerzy są w stanie sprawdzić i oszacować przebieg swojej pracy. Pozwala to na utrzymanie dobrego tempa wytwarzania produktu oraz dotrzymanie zobowiązania jakim jest Sprint Goal.

Kto bierze udział w Daily Scrum? 

Zespół Developerski

W Daily Scrum biorą udział wszystkie osoby z Zespołu Developerskiego, aby wspólnie ułożyć plan na najbliższe 24h. Samoorganizujący się Zespół Developerski sam dba o to, aby Daily  odbyło się każdego dnia podczas Sprintu oraz aby został ułożony plan na kolejny dzień roboczy. 

Daily Scrum nie jest miejscem do dyskusji odnośnie sposobów realizacji zadań, które mogą zająć większą część spotkania i tym samym wyjść poza ramy czasowe wydarzenia. Zespół Developerski powinien ustalić, że w momencie, gdy problem wymaga głębszej dyskusji, zostaje zaparkowany i kontynuowany po Daily Scrum.

Scrum Master 

Obecność Scrum Mastera nie jest wymagana podczas Daily Scrum. Scrum Master przede wszystkim zapewnia zrozumienie celu Daily Scrum. Dodatkowo Scrum Master w początkowej fazie uczy zespół utrzymywania 15 minutowego time boxu oraz dokonuje Inspekcji i Adaptacji planów w celu osiągnięcia Celu Sprintu. 

Kolejnym zadaniem Scrum Mastera jest facylitacja spotkania w taki sposób, aby osoby opcjonalne nie przeszkadzały zespołowi w ułożeniu planu na 24h. Zdarzają się sytuacje, w których na Daily uczestniczy Product Owner lub przedstawiciele biznesu. Scrum Master dba o to, aby te osoby pełniły tylko funkcję obserwatorów, którzy nie ingerują w powstały plan. 

Product Owner

Tutaj sprawa nie jest do końca oczywista. Scrum Guide również nie precyzuje, czy Product Owner może uczestniczyć w Daily. Bazując na doświadczeniu w pracy z zespołami, możemy wyróżnić dwa podejścia: 

  1. Daily bez Product Ownera – część zespołów nie widzi potrzeby uczestnictwa PO w Daily. Jest to spowodowane ryzykiem zmiany charakteru wydarzenia w kierunku spotkania statusowego. 
  2. Daily Scrum z udziałem Product Ownera – musimy tutaj podkreślić bardzo dużą dojrzałość zarówno Zespołu Developerskiego, jaki i Product Ownera. Rolą Scrum Mastera jest odpowiednie facylitowanie spotkania w celu uniknięcia raportowania statusu Product Ownerowi. Szczególnie obecność Product Ownera może przynieść wartość dla zespołów rozproszonych, pracujących w różnych strefach czasowych. 

Jak robimy Daily Scrum?

Scrum Guide podaje przykładowe pytania, które mogą być użyte podczas Daily Scrum:

  1. Co zrobiłem wczoraj, aby pomóc zespołowi w osiągnięciu Celu Sprintu?
  2. Co zrobię dzisiaj, aby pomóc osiągnąć Cel Sprintu?
  3. Czy widzę jakieś przeszkody, które mogą spowodować brak możliwości osiągnięcia Celu Sprintu?

Czynnikiem wspierającym Transparencje i ułatwiającym Inspekcje jest wizualizacja Sprint Backlogu. Najpopularniejsze narzędzie to JIRA i Trello. Bazując na sprawdzeniu obecnego Sprintu, w momencie, gdy osoby biorące udział w Daily zauważą, że szacunki danej pracy lub stopień jej skomplikowania jest wyższy niż początkowo zakładano, zespół może dokonać Adaptacji swojego planu. Dzięki tej czynności zespół będzie mógł dalej realizować Cel S

printu. 

Uwaga, Covid-19!!

Nie chodzi tutaj o najstarszy numer ticketa w Product Backlogu, który zapewne każdy zespół posiada :). Obecnie żyjemy w dziwnych czasach, gdzie wirus pokrzyżował plany wielu organizacjom. Większość osób w IT i Zespołach Developerskich pracuje i będzie pracować zdalnie. 

Jak skutecznie poradzić sobie z taką sytuacją? 

Obecnie istnieje wiele narzędzi, które mogą nam pomóc, np: Zoom, Slack, Teams, FunRetro itd. Dzięki nim jesteśmy w stanie dalej pracować zwinnie w sposób efektywny.

Daily, które zwykle odbywało się w biurze, zostało przeniesione do świata wirtualnego. 

W celu utrzymania efektywności wydarzenia podpowiadamy wskazówki, które można zastosować:

  • Wszystkie osoby na Daily włączają kamerki (nie bierzemy udziału w programie świadka koronnego) 
  • Wizualizacja pracy zespołu poprzez pokazywanie boardu 
  • Częste zmiany prowadzącego Daily Scrum, np. każdego dnia inna osoba prezentuje board i facylituje spotkanie

Podsumowując

Daily Scrum jest bardzo ważnym wydarzeniem, które wpływa na wymianę wiedzy, pracę całego zespołu oraz osiągnięcie Sprint Goal. 

Biorąc pod uwagę obecny czasy pandemii, większe wsparcie Scrum Mastera oraz dobranie odpowiednich narzędzi może okazać się konieczne w celu osiągnięcia maksymalnych korzyści z Daily Scrum.