Dlaczego „Refinement” jest tak ważny?

Artykuł

Dlaczego „Refinement” jest tak ważny?

Zwinne organizacje | Blog o agile | Listopad 2021

Pracując z zespołami zwinnymi często trafiamy na opór z ich strony dotyczący refinementu ze względu na to, że jest on postrzegany jako strata czasu, ponieważ tą samą pracę można wykonać podczas Sprint Planningu. Planowanie Sprintu, jak i Doskonalenie Backlogu Produktu są to dwa bardzo różne procesy i brak ich zrozumienia może powodować nieporozumienia oraz frustrację w zespole.

Co to jest Backlog Refinement?

Backlog Refinement jest to ciągłe doskonalenie Backlogu Produktu poprzez dodawanie brakujących informacji do historyjek, estymowanie pracochłonności oraz ustawienie im odpowiednich priorytetów. Scrum Guide nie precyzuje Refinementu jako wydarzenie Scrumowe. Natomiast jest to przeważnie zaplanowane spotkanie członków zespołu z Product Ownerem w celu omówienia i uszczegółowienia wymagań biznesowych zawartych w Backlogu. Każdy Refinement podlega inspekcji i adaptacji.


Kto bierze udział w Backlog Refinemencie?

Product Owner wraz z zespołem developerskim pracują nad elementami Backlogu tak, aby był zrozumiały dla wszystkich.
Product Owner, osoba odpowiedzialna za kształtowanie produktu oraz właściciel Backlogu.

Zadania PO podczas Refinementu:

  • Priorytetyzacja Backlogu w celu maksymalizacji wartości wytwarzanego produktu
  • Zapewnienie, że zespół developerski rozumie historyjki zawarte w Product Backlog
  • Zapewnienie dostępność Product Backlogu, aby był transparentny dla wszystkich
  • Tworzenie nowych historyjek

Zespół Developerski jest zaangażowany w Refinement w celu poznania priorytetów oraz zrozumienia wymagań biznesowych.

Dodatkowo:

  • Zrozumienie celu i kryteriów akceptacji wybranych historyjek
  • Rozbijanie rozbudowanych historyjek na mniejsze elementy
  • Estymacja historyjek


Scrum Master jest osobą opcjonalną podczas Refinementu. W głównej mierze jego zadaniem jest umiejętne facylitowanie spotkania, żeby przynosiło wartość dla zespołu scrumowego, a nie tworzyło tak zwanego “waste’u”. W przypadku zespołów z małym doświadczeniem, Scrum Master powinien nie tylko facylitować, ale też nauczyć Product Ownera oraz zespół deweloperski jak przeprowadzić Refinement, jaki jest time box dla niego oraz jakich technik użyć, by był efektywny.


Ile trwa Refinement?

Według Scrum Guide Refinement powinien trwać maksymalnie 10% czasu całego sprintu. Jeżeli przyjmiemy, że sprint trwa 2 tygodnie, czyli 80 godzin roboczych, na doskonalenie Backlogu powinniśmy zarezerwować 8 godzin.

Z praktycznego punktu widzenia większość zespołów nie patrzy przychylnie na tak dużą ilość czasu poświęconego na Refinement, nawet w momencie, gdy jest on rozłożony na kilka dni. W praktyce do tego spotkania należy podejść zdroworozsądkowo. Scrum Master i Product Owner w porozumieniu z zespołem developerskim określają, ile godzin tygodniowo jest im potrzebne na przeprowadzenie refinementu, aby był efektywny i przynosił wartość w postaci dobrze przygotowanych PBI (Product Backlog Item) do sprintu.


Backlog Refinement vs. Sprint Planning

Zespoły będące na początku swoje drogi Scrum mogą nie widzieć różnicy między Refinementem, a Sprint Planingiem. Dlatego bardzo ważna rolą Scrum Mastera lub Agile Coacha jest nauka, wskazanie celu oraz różnic między spotkaniami. Bez tego zespół w dalszym ciągu niechętnie będzie podchodził do podstaw Scrum.Refinement
 

Refinement Sprint Planning
Sprawdzenie oraz dodawanie informacji w historyjce Planowanie pracy na następny okres sprintu
Estymacja historyjek Potwierdzenie czy historyjki są gotowe do planowania
Priorytetyzacja Ustalenie Sprint Goal
Zaadresowanie pytań/wątpliwości Confidence voting
Rozbijanie historyjek na mniejsze Velocity zespołu vs. ilość zaplanowanych zadań/story point-ów
Tworzenie nowych historyjek
Velocity vs. dni wolne w sprincie (np. święta, kalendarz zespołu)

Jak poprawić Refinement?

Na co należy zwrócić uwagę, aby Refinement był udany, a zespół developerów widział w nim wartość:

  1. Czas – zarezerwujcie tyle, ile faktycznie potrzebujecie. Nie musicie się trzymać dokładnie 8 godzin, aby zespół zdążył z odpowiednim przygotowaniem PBI
  2. Zaproście przedstawicieli biznesu/klienta/inne zespoły, czyli osoby, które pomogą zespołowi i Product Ownerowi w precyzowaniu wymagań biznesowych. Ich wiedza oraz doświadczenie mogą pomóc w odpowiedzi na pytania zespołu developerskiego
  3. Eksperymentujcie! Każdy członek zespołu Scrum może mieć jakiś pomysł na ulepszenie procesu Refinementu.
  4. Wykorzystajcie dostępne narzędzia w organizacji. Nie koniecznie musicie bazować na karteczkach, możecie wykorzystać Jirę, Trello lub inne aplikację, które mogą Wam tylko ułatwić pracę
  5. Product Owner – dobrym przykładem współpracy PO z zespołem Scrumowym jest np. wysłanie do zespołu na 1-2 dni przed eventem informacji o tym, jakie historyjki będą omawiane podczas Refinementu. Daje to czas zespołowi na sprawdzenie nad czym będą pracować.


Podsumowanie

Refinement jest spotkaniem, w którym zespół Scrumowy nabywa wiedzę produktową. Dzięki estymacji może zacząć prognozę dostarczania inkrementów, dzięki czemu Product Owner będzie miał możliwość ułożenia roadmapy produktu i planu wdrożeń.

„Zwinne organizacje”
Skuteczna pigułka wiedzy o agile

Nie przegap najnowszych treści

Potrzebujesz wsparcia w swojej organizacji? Chętnie pomożemy!
Widzimy, że produkty cyfrowe można tworzyć o wiele szybciej i taniej, jeśli ludzie będą zorganizowani wokół produktów, a nie wokół wydzielonych funkcji. Wymaga to dużej zmiany, w której pomagamy naszym Klientom. Zachęcamy do kontaktu.
Czy ta strona była pomocna?