View Categories

Refinement

1 min read

Refinement, to proces ciągłego udoskonalania elementów w Product Backlogu. Celem Refinement jest umożliwienie zespołowi lepszego zrozumienia elementów Backlogu i lepsze przygotowanie ich do realizacji.

Refinement może obejmować:

  • Uzupełnianie elementów Backlogu o szczegóły i wymagania
  • Uporządkowywanie elementów Backlogu według priorytetu
  • Określanie sposobów mierzenia sukcesu elementów Backlogu
  • Estymowanie skomplikowania elementów Backlogu
  • Udzielanie wyjaśnień i odpowiedzi na pytania dotyczące elementów Backlogu

Refinement jest ważny, ponieważ pomaga zespołowi lepiej zrozumieć i przygotować się do realizacji elementów Backlogu, co pozwala uniknąć opóźnień i nieporozumień podczas pracy nad projektem. Refinement jest również ważny dla Product Ownera, ponieważ pomaga mu lepiej zarządzać oczekiwaniami dotyczącymi produktu i decydować, co powinno być realizowane w najbliższym czasie.

Przykładowy refinement może wyglądać następująco:

  • Uczestnicy: Product Owner, Scrum Master, członkowie zespołu
  • Miejsce: sala konferencyjna lub online
  • Czas trwania: 1-2 godziny
  1. Product Owner przedstawia nowy element Backlogu, który chce uwzględnić w najbliższym sprincie.
  2. Scrum Master prowadzi dyskusję, w której zespół pyta Product Ownera o szczegóły dotyczące elementu i uzgadnia wymagania.
  3. Product Owner odpowiada na pytania i uzupełnia element o brakujące szczegóły.
  4. Zespół ocenia skomplikowanie elementu i określa, ile punktów zmiennych (story points) przypisać mu w ramach procesu estymacji.
  5. Product Owner i zespół omawiają sposoby mierzenia sukcesu elementu i uzgadniają kryteria akceptacji.
  6. Refinement kończy się, gdy element jest gotowy do rozpoczęcia pracy nad nim przez zespół.

Ważne jest, aby Refinement był ciągłym procesem, a nie jednorazowym wydarzeniem. Product Owner i zespół powinni regularnie uzupełniać i ulepszać elementy Backlogu, aby zapewnić, że są one dobrze przygotowane do realizacji.

Product Owner: Dziś chciałbym przedstawić nowy element Backlogu, który chcę uwzględnić w najbliższym sprincie. Chodzi o rozszerzenie funkcjonalności naszej aplikacji o możliwość tworzenia grup i zapraszania do nich innych użytkowników.

Developer: Ok, rozumiem. A jakie będą wymagania dla tej funkcjonalności?

Product Owner: Chcielibyśmy, aby użytkownik mógł tworzyć grupy o różnych typach (np. rodzina, praca, znajomi) i ustalać reguły dostępu do nich. Użytkownik powinien też mieć możliwość zapraszania innych użytkowników do swoich grup poprzez podanie ich adresu e-mail lub numeru telefonu.

Developer: Czy będziemy musieli integrować tę funkcjonalność z jakimś innym systemem, np. kontaktami w telefonie użytkownika?

Product Owner: Nie, nie będziemy integrować tej funkcjonalności z żadnym innym systemem. Użytkownik będzie mógł podawać adresy e-mail lub numery telefonów ręcznie.

Developer: A jakie będą kryteria akceptacji dla tego elementu?

Product Owner: Chcielibyśmy, aby użytkownik mógł tworzyć i zarządzać grupami oraz zapraszać innych użytkowników do swoich

grup za pomocą adresu e-mail lub numeru telefonu. Funkcjonalność powinna działać poprawnie na wszystkich obsługiwanych urządzeniach i przeglądarkach.

Developer: Ok, rozumiem. A jaki będzie poziom trudności tego elementu?

Product Owner: Myślę, że to będzie średnio skomplikowane zadanie. Potrzebować będziemy dodatkowej bazy danych do przechowywania informacji o grupach i użytkownikach oraz interfejsu użytkownika do tworzenia i zarządzania grupami.

Developer: Ok, rozumiem. Dziękuję za wyjaśnienie. Myślę, że damy radę to zrealizować w ciągu jednego sprintu.

Product Owner: Dziękuję za rozmowę. Tak, myślę, że jeden sprint powinien wystarczyć. Dziękuję za zaangażowanie w ten projekt.