Backlog Refinement, znany również jako Doskonalenie Product Backlogu, Pielęgnacja Backlogu oraz grooming, to praca wykonywana nad Backlogiem Produktu w celu jak najlepszego przygotowania zdekomponowanych i oszacowanych elementów. Dzięki niemu wymagania zawarte w górnej części Backlogu zostają opisane w formie umożliwiającej Zespołowi Developerskiemu zamieszczenie ich w Sprincie.
Backlog Refinement definiowany jest jako ciągły proces polegający na dzieleniu elementów Product Backlogu na mniejsze, bardziej zdefiniowane jednostki, którego celem jest dodawanie szczegółów – opisów, kolejności czy też rozmiaru – i skonkretyzowanie zakresu produktu. Znajdują się w nim informacje wartościowe dla rozwoju projektu w bliskim horyzoncie czasowym. Dzięki niemu Zespół Developerski i Product Owner są w stanie pogłębić swoje zrozumienie budowanego produktu zarówno od strony technicznej, jak i biznesowej, a także umocnić wzajemną współpracę.
Właściwie wykonany Backlog Refinement umożliwia uchwycenie zależności w produkcie i otwiera przestrzeń do dyskusji na temat różnych sposobów osiągania celów biznesowych.
Wśród najważniejszych funkcji Backlog Refinementu należy wymienić przede wszystkim:
W Backlog Refinemencie biorą zazwyczaj udział Product Owner oraz Zespół Developerski. Czasami uczestniczą w nim również zaproszeni interesariusze i zewnętrzni eksperci, którzy posiadają wiedzę umożliwiającą im udzielenie odpowiedzi na najbardziej palące pytania Zespołu. W zależności od omawianych tematów i poziomu detaliczności może się zdarzyć się, że spotkania tego typu odbywają się bez Product Ownera i niektórych członków Zespołu Developerskiego.
Backlog Refinement można podzielić na dwa etapy – przygotowanie do spotkania oraz spotkanie właściwe.
Przed spotkaniem, z minimum jednodniowym wyprzedzeniem, publikowana jest Backlog Refinement Agenda, w której przedstawione są wymagające omówienia zagadnienia. Zespół ma za zadanie zapoznać się z nimi, wstępnie zweryfikować ich kompletność i wynotować ewentualne wątpliwości oraz sugestie. Wcześniejsze przygotowanie pozwala zaoszczędzić czas podczas spotkania i umożliwia skupienie się na najbardziej istotnych kwestiach. Za opracowanie Agendy odpowiedzialna jest osoba odpowiadająca za kształt zagadnień w Product Backlogu.
W trakcie Refinementu Product Owner prezentuje Zespołowi Developerskiemu Backlog w aktualnym kształcie. Przedstawione wymagania zostają omówione i doprecyzowane. Dyskusja na temat poszczególnych elementów produktu rozpoczyna się od umiejscowienia ich na roadmapie, co pozwala Zespołowi dokładnie pojąć ich istotę. Na jeden segment projektu nie należy poświęcać więcej niż 15 minut spotkania. W trakcie Refinementu wymagania, których wartość jest zbyt mała w stosunku do włożonego wysiłku lub które nie posiadają sensu biznesowego, są zrzucane z Backlogu. Pozostałe mają dopisywane kryteria akceptacyjne. Następnie Zespół Developerski:
W sytuacji, gdy wymaganie:
uznawane jest za wystarczająco wypielęgnowane, by mogło być w przyszłości uwzględnione w Sprincie. Pozostałe wymagania, które wciąż są zbyt duże lub prezentują sobą mniejszą wartość biznesową, zostają ułożone na niższych pozycjach w Backlogu Produktu. Koniec Backlog Refinementu następuje w momencie omówienia wszystkich uwzględnionych w agendzie elementów lub po upływie czasu przewidzianego na spotkanie.
Spotkania w ramach Backlog Refinementu odbywają się cyklicznie przez cały okres pracy nad produktem. Ich częstotliwość zależy od efektywności działań Zespołu Developerskiego oraz indywidualnych potrzeb Klienta.