Większość treści „jak oszacować punkty historii” brzmi jak korporacyjny kurs szkoleniowy: niejasne zasady, planowanie rytuałów pokerowych i 1500 słów, które nie pomogą w poranek Monday. Ten post jest wersją praktyczną. Na koniec będziesz miał sposób na oszacowanie, z czego Twój zespół będzie faktycznie korzystał, względną skalę sprawdzającą się w praktyce i uczciwe podejście do rytuałów (planowanie pokera, rozmiar koszulki): co warto zachować, a co pominąć.
Jakie punkty fabularne faktycznie mierzą
Punkty fabularne reprezentują względny wysiłek, nie czas. Opowiadanie za 5 punktów wymaga mniej więcej pięć razy więcej pracy niż opowiadanie za 1 punkt. To, czy zajmie to dzień, tydzień, czy dwóch inżynierów, zależy od zespołu; i o to właśnie chodzi. Liczba mówi „tyle w porównaniu z inną rzeczą”.
Powód, dla którego zespoły przyjmowały punkty przez wiele godzin: ludzie nie potrafią przewidzieć, ile czasu zajmie coś, ale dość dobrze potrafią powiedzieć „to coś więcej”. Usunięcie nacisku zegara czasowego eliminuje również pokusę padnięcia.
Wysiłek składa się tutaj z trzech rzeczy, połączonych w jedną liczbę:
- Objętość: ile jednostek pracy
- Złożoność: ile nowości lub trudności technicznych
- Niepewność: jak pewny jest sam szacunek
Pięciopunktowa historia może być obszernym, ale znanym dziełem lub małym, ale nowatorskim śledztwem. Obydwa zasługują na tę samą liczbę, ponieważ oba będą wymagały mniej więcej tego samego wysiłku.
Skala, która faktycznie działa: zmodyfikowany Fibonacci
Przyjęta skala: 1, 2, 3, 5, 8, 13, ?
Dlaczego te liczby? Ponieważ luki rosną wraz ze wzrostem szacunków, co odzwierciedla ludzką niepewność. Zwykle potrafisz odróżnić 1 od 2. Prawdopodobnie nie potrafisz odróżnić 11 od 12. Zmuszanie zespołu do gry 8 na 13 jest bardziej uczciwe.
„?” zastępuje 21+. Jeśli historia wydaje się większa niż 13, nie jest to opowieść; to epopeja i powinieneś ją podzielić, zanim się w nią zaangażujesz. (Zobacz: podział historii, poniżej.)
Niektóre drużyny zamiast punktów używają rozmiarów koszulek (XS, S, M, L, XL). Funkcjonalnie to samo. Użyj tego, co woli Twój zespół; tocz bitwy, które mają znaczenie.
Jak ustawić linię bazową (to właśnie pomija większość zespołów)
Większość nieudanych estymacji wynika z pominięcia kroku ustalania wartości bazowych. Punkty zespołu tylko coś znaczą do siebie; to skala względna. Zanim więc cokolwiek oszacujesz, potrzebujesz kotwicy.
Najtańsze ćwiczenie polegające na ustaleniu wartości wyjściowych:
- Wyciągnij 10 zadań reprezentatywnych z dwóch ostatnich sprintów
- Zapytaj: „który był najmniejszy? Nazwij to 1”.
- Zapytaj: „Czy każdy pozostały zadanie jest około 1×, 2×, 3×, 5×, 8× czy 13× większy?”
- Nie kłóć się o konkretne liczby; kłóćcie się o to, które wiadro
- Zapisz go i przypnij na kanale zespołu
Teraz masz kotwicę: zespół wie, jak wygląda „3”. Przyszłe szacunki odwołują się do tego. Po 5 sprintach kotwica powinna skierować się w stronę konsensusu zespołu; to w porządku.
Bez tego kroku każdy członek zespołu dokonuje szacunków na podstawie swojej prywatnej skali, a punkty są szumem. Dzięki niemu masz coś przydatnego w ciągu 2 sprintów.
Rzeczywisty szacunek: 3 pytania, 30 sekund na zadanie
To jest pętla praktyczna. Dla każdego zadania podlegającego wycenie:
P1: Czy jest to podobne do czegokolwiek, co zrobiliśmy?
Jeśli tak, wskaż to w ten sposób. Zrobione.
Pytanie 2: Jeśli nie, co by to wymagało?
Każdy inżynier mówi jedno z poniższych: „trywialny / mały / średni / duży / ogromny / nie mogę powiedzieć”.
Pytanie 3: Kontrola zbieżności.
Jeśli wszyscy powiedzieli to samo: wskaż to (1/2/3/5/8/13). Pójść dalej.
Jeżeli szacunki różnią się o więcej niż jeden segment, najwyższy i najniższy każdy estymator podaje 30-sekundowy powód. Tu właśnie pojawia się prawdziwa wartość; zazwyczaj wysoki estymator wie o ukrytej złożoności lub niski estymator wie o istniejącym narzędziu, które je rozwiązuje. Po wyjaśnieniu dokonaj ponownej oceny. Nie uśredniaj. Wybierz numer i przejdź dalej.
Zasadniczo jest to planowanie pokera, po prostu pozbawione kart i godzinna ceremonia. W ten sposób 6-osobowa drużyna może wycenić 15 zadań w 25 minut.
W czym poker planujący jest dobry i gdzie popełnia błędy
Planowanie pokera; gdzie wszyscy jednocześnie ujawniają swoje szacunki na karcie; jest naprawdę przydatny z jednego konkretnego powodu: zapobiega zakotwiczeniu. Jeśli starszy inżynier powie na głos „to jest 5”, młodsi zgodzą się z tym, nawet jeśli będą myśleć, że to 8. Ukryte odkrycie to powstrzymuje.
Dzieje się źle, gdy:
- W przypadku 12 zadań staje się to 90-minutową ceremonią
- Zamiast iść dalej, zespół kłóci się o grę „5 na 8”.
- Estymatorzy poddają się starszej osobie, zamiast trzymać swoje szacunki, gdy mają wgląd
Jeśli w Twoim zespole jest więcej juniorów i ma skłonność do odkładania na później starszeństwa, planuj pokera jako mechanizm ujawniania ukrytych informacji. Jeśli twój zespół jest doświadczony i dynamika jest zdrowa, odrzuć karty; po prostu niech wszyscy wypowiedzą na głos liczbę w tym samym czasie.
Dzielenie się zbyt dużymi historiami
Wszystko powyżej 13 lat jest za duże na sprint. Podziel to.
Sześć praktycznych podziałów, w kolejności preferencji:
1. Podziel według szczęśliwej ścieżki i przypadków brzegowych. „Zaimplementuj logowanie” → „Zaloguj się (szczęśliwa ścieżka)” + „Zaloguj się (zapomniałem hasła / zablokowałem / wygasły przypadki tokena Edge).”
2. Podziel według roli użytkownika. „Utwórz panel administracyjny” → „Panel administracyjny dla superadministratora” + „Panel administracyjny dla administratora organizacji”.
3. Podziel według wprowadzonych danych. „Importuj z CSV” → „Importuj schemat A (większość użytkowników)” + „Importuj schemat B (10% użytkowników)”.
4. Podziel według warstwy interfejsu. „Stwórz API” → „Punkt końcowy API” + „Okablowanie frontonu” + „Zadanie w tle dla powolnej części”.
5. Podziel według walidacji. „Dodaj nowy przepływ” → „Dodaj przepływ” + „Dodaj walidację + obsługę błędów dla przepływu”.
6. Podziel eksperymentalnie. „Stwórz nową funkcję” → „Stwórz ją za flagą funkcji dla 5% użytkowników” + „Wdrożenie + monitorowanie + sprzątanie”.
Jeśli nie możesz podzielić 13-punktowej wskazówki na mniejsze części za pomocą jednego z tych wzorców, oznacza to, że praca nie jest jeszcze zrozumiana. Dodaj 1-punktowy skok: „zbadaj X, zaproponuj podział”.
Rzeczy, które NIE są punktami fabularnymi
Typowe nieporozumienia, które warto wymienić:
- Czas. 5 punktów to nie 5 godzin ani 5 dni. Prędkość drużyny informuje Cię, jak punkty przeliczają się na czas.
- Trudność. Nowatorski, ale mały problem może otrzymać 8 punktów; żmudna, ale łatwa migracja może wynosić 8 punktów. Ten sam numer, inna tekstura.
- Wynik produktywności. Prędkość jest narzędziem prognozowania, a nie batem menedżera. W momencie, gdy „musimy zwiększyć prędkość” pojawia się stand-up, twoje liczby przestają mieć jakiekolwiek znaczenie.
A co z nowymi zespołami bez historii?
Nie masz podstawy. Trzy opcje:
Opcja A: Pożycz. Użyj zmodyfikowanej skali Fibonacciego zakotwiczonego w „typowej małej poprawce błędu to 2”. Wskaż wszystko, co się z tym wiąże. Kalibrację wykonasz w ciągu 3-4 sprintów.
Opcja B: Najpierw godziny. Dla pierwszych dwóch sprintów oszacuj w idealnych godzinach. Traktuj 1 dzień = 1 punkt, a następnie przejdź do wskazywania względnego, gdy będziesz mieć kotwice. Dzięki temu prognozowanie staje się szybsze, ale uczy zespół myślenia na podstawie czasu, co w dłuższej perspektywie jest błędnym modelem mentalnym.
Opcja C: Nie oszacuj. Użyj #NoEstimates: zamiast tego śledź przepustowość zgłoszeń na sprint. Działa w przypadku stałych strumieni zadań o podobnej wielkości. Mniej przydatne do prognozowania dostarczania funkcji.
Opcja A jest tym, co powinna zrobić większość zespołów. Powiedz zespołowi wyraźnie: „Rekalibrujemy naszą skalę co retrospekcję przez pierwsze 5 sprintów, a potem się stabilizuje”.
A co z szacunkami generowanymi przez sztuczną inteligencję?
LLM mogą oszacować historie na podstawie tekstu opisu. Są w tym zaskakująco w porządku; zwykle w obrębie jednego segmentu tego, co powiedziałby zespół.
Przydatne do sprawdzenia zdrowego rozsądku („AI mówi 5, oszacowałem 8; czego mi brakuje?”). Nie zastępuje oceny zespołu, ponieważ sztuczna inteligencja nie zna bazy kodu, historii prędkości Twojego zespołu ani tego, co „tutaj jest trywialne, ponieważ mamy do tego pomocnika”.
SprintFlint wykonuje szacunki sugerowane przez sztuczną inteligencję na każdym zgłoszeniu. Zespół może zastąpić; sugestia dotyczy rozmowy.
TL;DR
- Punkty fabularne = względny wysiłek, objętość łączenia + złożoność + niepewność.
- Użyj 1, 2, 3, 5, 8, 13, ?. Wszystko, co jest większe, zostaje podzielone.
- Zanim zaczniesz, ustal punkt odniesienia: przypnij 5–10 zadań referencyjnych do kanału.
- 30 sekund na zadanie: podobnie jak w poprzedniej pracy? jeśli tak, wskaż to. jeśli nie, głosuj, rozbieżność wywołuje 30-sekundową dyskusję, powtórz decyzję i przejdź dalej.
- Planowanie pokera jest przydatne tylko wtedy, gdy w Twoim zespole obowiązuje dynamika odroczenia do stażu pracy. W przeciwnym razie rzuć to.
- Sześć wzorców podziału historii; jeśli żaden nie pasuje, oznacza to, że jeszcze nie rozumiesz dzieła.
- Nie myl punktów z czasem, trudnością czy produktywnością.
Szacowanie na podstawie czegoś innego niż punkty historii? Porównanie zwinnych technik estymacji zestawia punkty fabularne z planowaniem pokera, rozmiarem koszulki, idealnymi godzinami pracy i brakiem szacunków; co każdy z nich wynurza, gdzie każdy się psuje i jak się przełączać, nie spalając sprintu.