Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

31
Podstawy Metod Zwinnych: Jak to działa? Story Points, czyli Jednostki Wartości Krzysztof Moskwa, MBA, PMP [email protected]

Transcript of Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

Page 1: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

Podstawy Metod Zwinnych: Jak to działa?

Story Points,czyli Jednostki Wartości

Krzysztof Moskwa, MBA, PMP [email protected]

Page 2: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

2

Zarządzanie projektami Metody iteracyjno-przyrostowe (używane przy wytwarzaniu oprogramowania)

Metody zwinne (ang. Agile) Zarządzanie projektem w czasie

Szacowanie pracochłonności

O czym będziemy rozmawiać?

Page 3: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

3

"Waterfall model" by Peter Kemp / Paul Smith - Adapted from Paul Smith's work at wikipedia. Licensed under CC BY 3.0 via Commonshttps://commons.wikimedia.org/wiki/File:Waterfall_model.svg#/media/File:Waterfall_model.svg

Model Waterfall

Page 4: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

4

Scrum process" by Lakeworks - Own work. Licensed under GFDL via Commons - https://commons.wikimedia.org/wiki/File:Scrum_process.svg#/media/File:Scrum_process.svg

Proces SCRUM

Page 5: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

5

Co to jest szacowanie? Podstawowe techniki szacowania Punkty Wartości (Story Points) i ich działanie Poker Planujący Słabe punkty i potencjalne meandry, na które

trzeba uważać

O czym będziemy rozmawiać?

Page 6: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

6

Przybliżone określanie wartości jakiejś wielkości, w przypadku kiedy nie posiadamy pełnych danych

Szacowanie w projekcie może dotyczyć wszystkich tych elementów, które podlegają jakimś ograniczeniom, takich jak: zakres, czas, koszt, jakość, zasoby, czy ryzyka.

Zwykle skupiamy się na szacowaniu czasu i kosztów.

Szacowanie

Page 7: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

7

Techniki szacowania opisywane w literaturze zwykle wydają się dość proste, ale estymacja bywa procesem dość złożonym.

W/g badań przeprowadzonych wśród firm Fortune 500 tylko 1 na 4 projekty zakończyły się zgodnie z planowanym czasem i budżetem.

Szacowanie

Page 8: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

8

Ile czasu zajmie przebycie dystansu 6km?

Jak określić pracochłonność?

Page 9: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

9

Szacowanie przez analogię do podobnych projektów

Analiza wysiłku potrzebnego na realizację zadań Techniki programowe (np. na podstawie liczby linii

kodu) Opinie specjalistów Metody Delfickie Metoda PERT {np. (O + 4M + P) / 6} Modele CoCoMo 1/CoCoMo 2 Punkty Funkcyjne Albrectsa Metody parametryczne (np. w PRICE) Techniki od ogółu do szczegółu i od szczegółu do

ogółu

Wybrane techniki szacowania w podejściu klasycznym (waterfall)

Źródło: Software Estimation using a Combination of Techniques By Klaus Nielsen

Page 10: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

10

Względnej wymiarowości (np. Punkty Wartości) Metoda Delficka Poker planujący (ang. Planning Poker) Metoda Koligacji (np. Metoda T-Shirt, S, M, L, XL) Metoda czasu idelnego/rzeczywistego Dekompozycji zadań Techniki od szczegółu do ogółu i od ogółu do szczegółu Metoda CAEA (Constructive Agile Estimation Algorithm) Estymacji czasu, budżetu i kosztów

Techniki szacowania w metodach zwinnych

Źródło: Software Estimation using a Combination of Techniques By Klaus Nielsen

Page 11: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

11

Jakie narzędzie wybrać?

Page 12: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

12

Względne jednostki określające pracochłonność wykonania określonego zadania

Umożliwiają empiryczne określenie względnej prędkości pracy zespołu

Znając naszą „prędkość spalania” oraz mając oszacowany rejestr produktu można w pewnym zakresie prognozować czas zakończenia określonego zakresu działań

Co to są Punkty Wartości (SP)

Page 13: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

13

Dlaczego Ciąg Fibonacciego?Wstępne przypisanie SP

1 2

1 + 2 = 32 + 3 = 53 + 5 = 85 + 8 = 138+ 13 = 21

13 + 21 = 3421 + 34 = 5534 + 55 = 8955 + 89 = 144

Etc [...]

Page 14: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

14

Precyzja kontra dokładność Która liczba jest lepsza?

33.3763

Dlaczego Ciąg Fibonacciego?

Page 15: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

15

π3.14159

Precyzja kontra dokładność

Page 16: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

16

Porównanie z szacowaniem typu „rząd wielkości”(ang. order of magnitude) dokł. -25 % +75%

Dlaczego Ciąg Fibonacciego?

Page 17: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

17

Poker Planujący (Plannin Poker)

Page 18: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

18

Historie są przedstawiane kolejno do oszacowania

Dyskusja, po której każdy uczestnik wybiera kartę określającą oszacowaną przez niego pracę

Wybrane karty są utrzymywane w tajemnicy przed innymi osobami

Karty są ujawniane jednocześnie Przy rozbieżnościach wracamy do dyskusji i

ponawiamy grę

Jak przebiega Poker Planujący

Page 19: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

19

Poker Planujący (Plannin Poker)Karta SP

As 12 23 34 55 86 137 218 349 55

... ...Królowa To trzeba podzielić!

Król Podyskutujmy?

Page 20: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

20

Wybór miejsca i gatunku Kupienie sadzonki Transport na miejsce Odchwaszczenie i przekopanie miejsca sadzenia Dodanie kompostu do ziemi Wykopanie dołu Umieszczenie drzewa w miejscu sadzenia Obsypanie drzewka żyzną ziemią Podlanie Przywiązanie do palika

Jak posadzić drzewko?

Page 21: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

21

Zbiera opinie wielu specjalistów z różnych dziedzin Szacowanie wykonują osoby, które będą wykonywać

pracę Potencjalne niezgodności trzeba wyjaśnić, co wzmacnia

komunikację w zespole i kompensuje potencjalne brakujące informacje wśród członków zespołu

Badania świadczą, że uśrednianie wyników estymat wielu ludzi prowadzi do lepszych rezultatów niż poleganie na pojedynczej opinii

Po prostu jest to fajniejsze niż wypełnianie tabel!

Dlaczego planning poker działa?

Page 22: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

22

Dla bliskiego zasięgu czasu możemy oszacować implementację poszczególnych historii z dokładnością co do godzin

Dla dalekiego zasięgu Punkty Wartości zaczynają spełniać swoje zadanie

Przy średnim zasięgu perspektywy mogą pojawić się pewne niekorzystne zjawiska

Jak to Działa? Story Points

Page 23: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

23

Nasze szacowanie I. 34 II. 55 III. 1 IV. 8 V. 34 VI. 21 +---- = 153 VII. 55 VIII. 34

Jak to Działa? Story Points Spalanie IV – 250 SP V – 200 SP VI – 170 SP VII - 140 SP

Średnia ~190

Page 24: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

24

Określanie Średniej Prędkości Spalania (ang.Velocity) poprzez obserwację

Systemy potrafią zrobić to automatycznie Na „prędkość spalania” mają wpływ np. urlopy,

chorobowe, zebrania, celebracje Powyższe są brane automatycznie pod uwagę,

ponieważ są wynikiem obserwacji procesu

Kiedy to zaczyna działać?

Page 25: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

25

Zespół oraz Scrum Master◦ Pomaga określić zakres pracy, który da się umieścić w ramach

kolejnego Sprintu◦ Nie jest (nie powinien być) ciągle zasypywany pytaniami typu “ile

to jeszcze potrwa?”, “kiedy to będzie zrobione?” Właściciel Produktu

◦ Dostaje informację zwrotną na temat poziomu skomplikowania zadań

◦ Wiedząc jaka jest pracochłonność poszczególnych zadań, może łatwiej ustalić właściwie ich priorytety

◦ Orientacyjnie może dowiedzieć się ile czasu zajmie wykonanie danego zakresu Rejestru Produktu

Sponsor◦ Może dostać informację jaki zakres pracy da się zrealizować w

określonym terminie

Komu to potrzebne? (i co z tym może zrobić)

Page 26: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

26

Początek stosowania metody Zmiany dostępnych zasobów (powiększenie lub

zmniejszenie liczebności zespołu) Zmiana domeny w której porusza się zespół (np.

zmiana narzędzi, języka programowania) Wdrożenie nowych elementów do procesu

(np. Test Driven Development, jeśli nie był stosowany)

Kiedy trzeba uważać?

Page 27: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

27

Inflacja/Deflacja Punktów Wartości Poświęcanie jakości na rzecz przewidywalności

(udawajmy, że się wyrobiliśmy z tym zadaniem w tym sprincie)

Porównywanie zespołów na podstawie ilości spalanych punktów w czasie sprintu (nie jest to miara wydajności)

Jeśli w zespół ma problem z szacowaniem, SP mogą wprowadzić jeszcze większy mętlikNUTs (Nebulous Units of Time)

Zbyt drobiazgowa „rachunkowość” (piękne wykresy spalania, a robota jakoś nie idzie)

Jakie problemy mogą się pojawić?

Źródło: Stop Using Story Points by Joshua Kerievsky

Page 28: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

28

Określiliśmy jakim fragmentem zarządzania projektami (szacowanie pracy) oraz jakimi metodami się zajmujemy (Agile)

Określiliśmy co to jest szacowanie Powtórzyliśmy sobie podstawowe techniki

szacowania Opowiedzieliśmy sobie o Punktach Wartości

(Story Points) Zrobiliśmy krótki pokaz jak działa Poker Planujący Zwróciliśmy uwagę na potencjalne meandry, na

które trzeba uważać w czasie stosowania wymienionych technik

Podsumowanie

Page 29: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

29

LiteraturaA Guide to the Project Managament Body of Knowledge (PMBOK(r) Guide)Fifth EditionANSI/PMI

Software Estimation using a Combination of TechniquesBy Klaus Nielsen, MBA, PMI-ACP, PMI-RMP, PMPPMI Virtual Library

Page 30: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

30

LiteraturaSimple Model for Agile DevelopmentBy Tony Alletag, PMI-ACP, PMP and others...PMI Virtual Library

Szacowanie oprogramowania: kulisy czarnej magiiSteve McConnellMicrosoft Press 2006

Page 31: Krzysztof Moskwa - Podstawy metod zwinnych: jak to działa? Story points, czyli jednostki wartości

31

LiteraturaStop Using Story Points, Joshua KerievskyIndustrial Logic, Posted October 12, 2012https://www.industriallogic.com/blog/stop-using-story-points/