Udoskonalanie backlogu — nadal powszechnie nazywane „groomingiem” — to ciągły proces przygotowywania elementów backlogu produktu przed sprintem, w ramach którego zostaną one zrealizowane: wyjaśnianie znaczenia każdego elementu, dzielenie tych, które są zbyt obszerne, dodawanie kryteriów akceptacji, szacowanie ich zakresu oraz utrzymywanie ich w kolejności według priorytetów. Nie jest to tyle pojedyncze spotkanie, co raczej nawyk. Stanowi to subtelną różnicę między spokojnym planowaniem sprintu a planowaniem, które przeradza się w dwugodzinną dyskusję.

Czy to uroczystość, czy nie?

Z technicznego punktu widzenia – nie. W „Przewodniku po Scrumie” doprecyzowanie backlogu nie zostało wymienione jako jedno z wydarzeń — opisano je jako działanie o charakterze ciągłym, które nie powinno pochłaniać więcej niż około 10% zdolności produkcyjnej programistów. Purystom więc słusznie się wydaje: nie jest to ceremonia.

A jednak przewodnik Asany po ceremoniach agile nosi tytuł „4 wydarzenia + udoskonalanie backlogu”, a większość zespołów roboczych rezerwuje w kalendarzu stały termin na udoskonalanie i przeprowadza je tak jak każdą inną ceremonię. Obie strony wskazują na tę samą prawdę z różnych perspektyw: udoskonalanie nie jest formalnym wydarzeniem, ale traktowanie go jako takiego jest zazwyczaj słusznym rozwiązaniem. Pominięcie tego etapu nie spowoduje zniknięcia kosztów — po prostu przeniosą się one do planowania sprintu, gdzie będą bardziej kosztowne i odbywać się w mniej odpowiednim momencie.

Na czym właściwie polega proces udoskonalania

Proces dopracowywania przekształca surowe pozycje z listy zadań — często składające się jedynie z tytułu i niejasnej nadziei — w elementy nadające się do realizacji. W praktyce obejmuje to cztery etapy, realizowane w sposób ciągły:

  • Proszę doprecyzować. Proszę przekształcić sformułowanie „usprawnienie procesu wdrażania nowych pracowników” w cel o jasnym znaczeniu oraz kryteria akceptacji, które zespół będzie mógł zweryfikować.
  • Podział. Zadania zbyt obszerne, by zrealizować je w ramach jednego sprintu, należy podzielić na mniejsze, niezależne i wartościowe części. Jest to sztuka sama w sobie — zobacz podział historii użytkownika.
  • Zakres. Należy uzgodnić wspólną szacunkową liczbę punktów fabularnych, zazwyczaj za pomocą pokera planistycznego, tak aby przed podjęciem zobowiązania znany był względny nakład pracy.
  • Kolejność. Proszę uporządkować listę zadań tak, aby te najcenniejsze i najlepiej przygotowane znalazły się na samym początku, gdzie zostaną uwzględnione podczas planowania.

Wynikiem nie jest dokument. Jest to bufor z aktualizowaną na bieżąco listą elementów gotowych do pobrania — zazwyczaj obejmujący jeden lub dwa sprinty wyprzedzające aktualny etap prac zespołu.

Częstotliwość: jak często, jak długo

Nie ma żadnej zasady, ale istnieje rozsądne domyślne podejście: jedna krótka, cykliczna sesja jako punkt odniesienia oraz ciągłe, niewielkie działania pomiędzy nimi.

W przypadku dwutygodniowego sprintu większość zespołów organizuje jedną sesję doprecyzowania w połowie sprintu, trwającą około godziny, a także uzupełnia ją doraźnie w miarę pojawiania się pytań. Spotkania cotygodniowe sprawdzają się równie dobrze. Ważniejszy od dokładnego terminu jest bufor: należy dążyć do tego, aby w kolejce zawsze znajdowały się zadania gotowe do realizacji odpowiadające mniej więcej długości jednego sprintu, tak aby podczas planowania nigdy nie okazało się, że w backlogu nie ma żadnych zadań, które można by zatwierdzić.

Dwa scenariusze niepowodzeń wyznaczają właściwy zakres. Zbyt mały zakres sprawia, że planowanie staje się dopracowywaniem pod presją czasu — zespół doprecyzowuje i dzieli zadania w pośpiechu, a następnie zobowiązuje się do wykonania pracy, której ledwo rozumie. Zbyt dużo, a dopracowywanie przeradza się w drugie spotkanie planistyczne, podczas którego dyskutuje się nad szczegółami elementów, które mogą nigdy nie trafić do sprintu. Jeśli utrzyma się to w granicach wytycznej zawartej w Przewodniku Scrumie, wynoszącej około 10% zdolności produkcyjnej, pozostaje to użyteczne.

Kto tym kieruje

Właściciel produktu jest odpowiedzialny za listę zadań — to on określa priorytet, cel oraz powód istnienia każdego elementu. Jednak dopracowywanie listy zadań to praca zespołowa. To programiści zadają niewygodne pytania, ujawniają złożoność, której nikt nie uwzględnił w kosztorysie, oraz dokonują faktycznej oceny nakładu pracy. Właściciel produktu, który samodzielnie dopracowuje backlog, tworzy pozycje, które są całkowicie jasne tylko dla jednej osoby, a dla wszystkich pozostałych stają się źródłem niespodzianek już w momencie rozpoczęcia planowania.

Scrum master dba o to, by sesja przebiegała w wyznaczonym przedziale czasowym i nie przerodziła się w proces projektowania oparty na decyzjach zbiorowych. Poza tym im mniej osób obserwujących, tym lepiej.

Co oznacza termin „gotowość”: definicja gotowości

Celem procesu udoskonalania jest doprowadzenie elementów do stanu gotowości — a pojęcie „gotowości” zasługuje na definicję, podobnie jak pojęcie „zakończenia”. Prosta definicja gotowości to lista kontrolna, którą element musi spełnić, zanim zespół zatwierdzi go podczas planowania: jest zrozumiały, jest na tyle niewielki, że można go ukończyć w ramach jednego sprintu, posiada kryteria akceptacji, znane są jego zależności oraz został oszacowany.

Dopracowywanie i planowanie to etapowe działania, a nie konkurencja — dopracowywanie przygotowuje elementy, a planowanie je zatwierdza. Jeśli granica między nimi wydaje się Państwa zespołowi niejasna, artykuł planowanie sprintu a dopracowywanie backlogu jasno ją wyznacza. Aby dowiedzieć się, gdzie w ramach formalnych wydarzeń plasuje się dopracowywanie, zapoznaj się z artykułem wydarzenia Scrumowe a ceremonie.

Najczęściej zadawane pytania

Czym jest doprecyzowanie listy zadań?

Ciągłe działania mające na celu przygotowanie elementów backlogu produktu do realizacji: wyjaśnianie znaczenia poszczególnych elementów, dzielenie większych elementów na mniejsze, dodawanie kryteriów akceptacji, szacowanie ich zakresu oraz zmiana kolejności według priorytetów. Proces ten przebiega nieprzerwanie w trakcie trwania sprintu, tak aby w momencie, gdy dany element trafi do etapu planowania, zespół mógł bez zastrzeżeń podjąć się jego realizacji.

Czy doprecyzowanie listy zadań to ceremonia w metodologii Scrum?

Nie — w Przewodniku po Scrumie nie wymieniono tego jako wydarzenia. Jest to działanie o charakterze ciągłym, a nie ustalone spotkanie, a Przewodnik po Scrumie wskazuje, że powinno ono zajmować nie więcej niż około 10% wydajności programistów. Jednak większość zespołów organizuje w tym celu cykliczne sesje i traktuje je jak ceremonię, ponieważ pominięcie tego elementu powoduje, że planowanie sprintu zamienia się w chaos.

Jaka jest różnica między porządkowaniem backlogu a dopracowywaniem backlogu?

Żadna — chodzi o tę samą czynność. „Grooming” to pierwotne określenie; społeczność Scrum przeszła na termin „refinement”, ponieważ słowo „grooming” nabrało niepożądanych konotacji. Wiele zespołów nadal używa terminu „grooming”. Niezależnie od tego, jak to nazwiemy, praca jest identyczna.

Jak często należy aktualizować listę zadań?

W sposób ciągły, z jedną krótką, cykliczną sesją pełniącą rolę punktu odniesienia — zazwyczaj raz w tygodniu lub raz w połowie sprintu w przypadku cyklu dwutygodniowego, trwającą około godziny. Celem jest utrzymanie płynnie odnawianego zapasu gotowych elementów, zazwyczaj z wyprzedzeniem jednego lub dwóch sprintów, tak aby dział planowania zawsze dysponował odpowiednim materiałem, z którego może czerpać.

Kto zajmuje się dopracowywaniem backlogu?

Właściciel produktu jest odpowiedzialny za listę zadań do realizacji oraz określa priorytety i cele, jednak dopracowywanie tej listy jest zadaniem zespołowym — to programiści zadają pytania, ujawniają ukryte złożoności i szacują nakład pracy. Właściciel produktu, który samodzielnie dopracowuje listę, tworzy pozycje, które mają sens tylko dla jednej osoby, a dla pozostałych członków zespołu podczas planowania stają się zaskoczeniem.