1. Na czym polega metoda szacowania Poker Planning?
2. Do jakich projektów się ją stosuje?
3. Jak poprawnie przeprowadzić takie szacowanie?
4. Czy są narzędzia umożliwiające takie szacowanie?
1. Na czym polega metoda szacowania Poker Planning?
2. Do jakich projektów się ją stosuje?
3. Jak poprawnie przeprowadzić takie szacowanie?
4. Czy są narzędzia umożliwiające takie szacowanie?
Witam.
Poker Planning jest popularną techniką stosowaną do szacowania / estymowania w projektach zwinnych (ang. agile), np. w SCRUM-ie, ale nie tylko.
Podejście Agile'a zakłada, że zespoły pracujące / rozwijające produkty są "samozarządzalne". To zespół tworzy plan swojej pracy i jako zespół szacuje np. popularne historyjki użytkownika (tzw. User Stories), zadania oraz inne niezbędne elementy planu.
Podstawowe założenia:
- posługujemy się jedną wybraną jednostką, np. popularne Story Point (jednostka relatywna)
- każdy ma szanse na wyrażenie swojej opinii (cały Zespół Developerski bierze udział w grze), ze swojego punktu widzenia, jako programista, tester, analityk etc.
- bardzo ważne są dyskusje, których przedmiotem jest szacowany element (np. User Story), co wzmacnia wymianę informacji i poprawia komunikację oraz zrozumienie przedmiotu szacowania
- osoby szacujące muszą umotywować swoje propozycje
Podstawowe korzyści:
- Planning Poker jest szybki i daje dużo frajdy
- daje poczucie członkom zespołu, tego, że są właścicielami planu
- działa motywująco - "... to są nasze oszacowania, my to oszacowaliśmy i teraz chcemy udowodnić, że to nie były błędne szacunki"
Jak wygląda typowy proces szacowania z wykorzystaniem techniki Poker Planning?
W planowaniu bierze udział cały zespół. Każda osoba biorąca udział w szacowaniu dysponuje talią kart (lub ma zainstalowaną aplikację na urządzeniu mobilnym). Karty mają wartości najczęściej oparte na ciągu Fibonacciego: 0, 1/2, 1, 2, 3, 5, 8, 13, 20, 40, 100, ?, przerwa. Warsztaty planowania powinny być prowadzone przez wyznaczoną osobę (w SCRUM-ie jest to najczęściej Scrum Master). W warsztatach powinien wziąć udział przedstawiciel Klienta / biznesu odpowiedzialny za definiowanie wymagań - w SCRUM-ie jest to Product Owner, czyli Właściciel Produktu.
Zwykle zespół w pierwszej kolejności zapoznaje się ze wszystkimi elementami, które mają zostać oszacowane i wybiera najmniejszy wg nich element (pod względem czasu, złożoności, skomplikowania, ryzyka, zależności etc.) i przypisuje mu domyślną wartość 1 Story Pointa. Następnie Scrum Master pobiera dany element / User Story do szacowania, który jest omawiany przez zespół wspólnie z Właścicielem Produktu. Właściciel Produktu odpowiada na pytania zespołu.
Kiedy zespół ma już wystarczającą wiedzę, każda z osób wybiera kartę ze swojej talii z wartością, która wg tej osoby mówi o ile dany element (np. User Story) jest większy / mniejszy od bazowego elementu, któremu została przypisana wartość 1. Kiedy wszyscy są gotowi, karty są odsłaniane. Scrum Master powinien odpytać w pierwszej kolejności osoby, które pokazały skrajne (najmniejsza i największa) wartości. Osoby te motywują swój wybór, co często pobudza zespół do dyskusji i wymiany informacji. Na podstawie tych dyskusji, zespół zmieniając pierwotne propozycje powinien osiągnąć zgodę co do oszacowania.
Takie szacowanie ma duży stopień prawdopodobieństwa z uwagi na fakt, że nie szacuje tylko najbardziej doświadczona osoba, ale cały zespół. Poker Planning świetnie wspiera komunikację, wymianę informacji i zrozumienie tego, nad czym za chwilę będziemy pracowali.
Znając tzw. "pojemność zespołu" o stałym składzie NA sprint / timebox o stałym czasie trwania, jesteśmy w stanie z dużym prawdopodobieństwem określić, ile elementów (User Stories) zespół będzie w stanie wykonać w sprincie / timeboksie bazując na Story Pointach.
Jeśli chodzi o narzędzia, to w Internecie można znaleźć talie kart do kupienia. Można się również posłużyć aplikacją mobilną na smartfon lub tablet, np.: https://play.google.com/store/apps/details?id=com.ubxd.poker.
Pozdrawiam,
Łukasz Czopek