Jakie jest najlepsze wytłumaczenie tego, czym są punkty fabularne?

36

Zaczynamy używać tutaj Story Story Points do rozwoju zwinnego, ale trudno mi to wyjaśnić, a także nie mogę znaleźć ostatecznej odpowiedzi na to, czym one są. Najlepsze, co mogę zrobić, to wskazać inne strony (np. Http://blog.mountaingoatsoftware.com/tag/story-points ) i podać niejasne uogólnienie tego, czym są. Szukam dobrego wyjaśnienia z kilkoma przykładami użycia, które byłyby przydatne dla innych. Czy są jakieś dobre zasoby do wyjaśniania punktów historii?

six8
źródło
1
Wyjaśnienie, komu lub chcesz ogólnego wyjaśnienia? Problem z tym ostatnim polega na tym, że można go spotkać z przewrotnym spojrzeniem, ponieważ nie każdy chce uzyskać dogłębną odpowiedź.
JB King
Wystarczyłoby link do szczegółowej odpowiedzi. Pytali mnie zarówno menedżerowie, członkowie produktu, kierownicy zespołów, jak i programiści. Jest to nowa koncepcja dla większości z nich (również dla mnie).
six8

Odpowiedzi:

36

Może to pomóc na początek: Mike Cohn o punktach fabularnych . Ale ten jest o wiele lepszy: Agile Development Teams: Scope and Scale with Mike Cohn

Rozwiązanie Mike'a do wskaźników szacowania oprogramowania jest proste i skuteczne. Fakty biologiczne:

  • Ludzki mózg po prostu nie jest w stanie poprawnie oszacować w czasie. Zwłaszcza jeśli więcej niż kilka godzin.
  • Potęguje to w dużej mierze niepewność programistów, presja psychologiczna ze strony kierownictwa (kiedy szacujesz, popełniasz ...) oraz różnica w umiejętnościach w zespole.
  • Jesteśmy jednak całkiem dobrzy w porównywaniu różnych rzeczy. Jesteśmy tam dość dokładni.

Chodzi o to, aby wziąć jedną referencyjną historię użytkownika , a następnie nadać jej dowolną liczbę punktów (opowieści) , a następnie inne historie otrzymają punkty związane z tym odniesieniem.

Jeśli twoja historia referencyjna ma 100 punktów, a inna historia jest trzy razy większa, to będzie to 300 punktów.

Aby zamienić punkty historii na czas planowania, musisz znać swoją prędkość .

Aby uzyskać dokładną prędkość, musisz wykonać kilka iteracji i obliczyć, ile punktów Twój zespół zdobył w danym czasie.

To działa .

Robert Harvey
źródło
5
+1 najlepsze wyjaśnienie. Ale stworzenie historii odniesienia 100 nie jest dobrym pomysłem. ponieważ oznacza to, że można dokładnie oszacować w odniesieniu do odniesienia. tj. Moje następne zadanie to 42% pracy referencji. Jak wspomniałeś, ludzki mózg jest okropny w szacowaniu. Mamy więc historię odniesienia z 2 punktami. Następnie użyj sekwencji Fibonacciego (jako dalsza część historii odniesienia, że ​​więcej niedokładności nie ma sensu być dokładnym). Planning Poker to twój przyjaciel.
Martin York,
1
Jeśli nie chcesz oglądać, Mike Cohn na Youtube, ma również bardzo dobry artykuł na blogu na ten temat: blog.mountaingoatsoftware.com/tag/story-points . Interesujące jest to, że nawet z systemem punktowym powiedział, że ludzie są dobrzy tylko do około 8, wtedy zaczynają nie doceniać.
DXM
Głosowałem za odpowiedzią, która zawierała bardzo cenne informacje. Jednak technicznie pytaniem było więcej o to, co konkretnie definiuje punkt fabularny, w przeciwieństwie do tego, jak skutecznie z nich korzystać.
Panzercrisis,
5

Zgadzam się ze wszystkim @Pierre 303: powiedział wyżej: (oprócz 100 punktu odniesienia).

Jedyne, co chciałbym dodać (podkreślenie) to to, że nie jesteśmy dobrzy w szacowaniu zadań. Możemy oszacować zadania w stosunku do innych zadań, o ile są mniej więcej tego samego rozmiaru. Im większa różnica między zadaniami, tym gorzej.

Dlatego nie zgadzam się z użyciem punktu początkowego 100.

To nie tak, że oszacujesz następne zadanie jako 42% zadania referencyjnego. Jest to albo ta sama połowa pracy podwójna praca potrójna praca itp.

Nasz zespół korzysta z Planing Poker : w tym zadaniu mamy 2 punkty historii. Następnie używamy serii Fibonacciego do oszacowania zadań: 1,2,3,5,8,13,21, Huge ,? w odniesieniu do zadania referencyjnego (Zamiast Fibonacciego widziałem, jak inne zespoły używają mocy 2. 1,2,4,8,16,32, Ogromne?) Widziałem, jak inne zespoły używają (małe (1), średnie ( 2), duży (3), XLarge (4), kiedy obliczyli prędkość, nadal działał.)

Chodzi o to, że wraz ze wzrostem wielkości zadania w stosunku do zadania referencyjnego stajemy się mniej zdolni do dokładnego oszacowania jego kosztu. Więc nie ma sensu próbować. Odzwierciedla to większy gradient na końcu ścieżki szacowania.

Więc jeśli Twoim zadaniem referencyjnym jest 2SP. Zatem oszacowanie na 1/2/3/5 jest stosunkowo łatwe, ponieważ zadania mają podobny rozmiar. Gdy miniesz 3 razy więcej niż zadanie referencyjne (5SP), oszacowanie staje się trudniejsze (Czy to ma znaczenie 8/9 / 10SP) Wszystko, co możesz powiedzieć, to że jest większy niż 5SP i mniejszy niż 13SP, a następnie 8SP pasuje do rachunku.

Wszystko o wartości SP 13/21 / Huge jest zbyt duże, aby zalegać w sprincie. Są to szacunki dotyczące rzeczy, nad którymi jeszcze nie jesteś gotowy (a zatem nie podzieliłeś ich na mniejsze zadania (nie dziel ich, dopóki nie będziesz potrzebować)). Ale podają szacunkową wielkość zadania w rejestrze produktów (co pozwala na pewne planowanie w przyszłości). Zanim dojdziesz do punktu, w którym będziesz nad nimi pracował, powinieneś mieć wystarczającą wiedzę, aby podzielić je na mniejsze zadania na potrzeby zaległości sprintu i ponownie oszacować je indywidualnie (uwaga: powszechne jest błędne przekonanie, że suma części są równe oryginałowi).

  • Wszystko, co oceniasz jako Ogromne, musi zostać podzielone na mniejsze zadania.
  • Coś, co ocenia się jako? oznacza, że ​​nie jest wystarczająco dobrze zdefiniowany, aby oszacować
    Musisz dodać zadanie specjalnie, aby przejść i zdefiniować zadanie
    (np. napisać dokumentację lub prezentację).
Martin York
źródło
2

Punkty fabularne są względnym pomiarem tego, jak trudne jest zadanie. Wynika to z faktu, że ludzie są faktycznie lepsi w szacunkach względnych niż w precyzyjnych pomiarach.

Sposób używania punktów opowieści polega na tym, że bierzesz około dwóch zadań w projekcie i przypisujesz im dwie różne wartości punktów opowieści. Następnie szacujesz inne zadania, wykorzystując te dwa przybliżenia punktów opowieści jako podstawę do oszacowania. Tj. Zadanie C nie jest dużo trudniejsze niż zadanie A, ale niesamowicie łatwiejsze niż zadanie B, więc wymaga tylko 2 punktów historii więcej pracy niż zadanie A.

Po zakończeniu szacowania wszystkich dotychczasowych wymagań oszacujesz, ile możesz zrobić w sprincie. W ciągu kilku następnych sprintów oceniasz, ile ukończyłeś. Punkty historii wymagania są liczone jako ukończone tylko wtedy, gdy warunek jest spełniony. W Scrumie nie ma „ukończenia w 80%”. Wynika to z faktu, że ludzie faktycznie źle oceniają kompletność. Po kilku sprintach powinieneś zorientować się, ile punktów historii możesz zrobić na jeden sprint.

Jak oceniasz? Możesz użyć planowania pokera, aby określić, ile pracy programiści uważają za wymaganą w stosunku do twoich podstawowych wymagań.

Poleciłbym również przeczytanie zwinnego samuraja . Moim zdaniem robi dobrą robotę, tłumacząc te i inne koncepcje Agile.

Oto link z więcej na temat punktów historii.

Oto kolejny link.

indyk1ng
źródło
2

To strata czasu.

wprowadź opis zdjęcia tutaj

http://www.amazon.com/Lean-Trenches-Managing-Large-Scale-Projects/dp/1934356859/

Ciekawe, że ta opinia pochodzi teraz od faceta, który napisał Scrum i XP z okopów i którego nazwę firmy ( Crisp ) można znaleźć na tak wielu taliach kart pokerowych używanych przez tak wiele drużyn na całym świecie.

Ostatnie zdanie PO: „Czy są jakieś dobre zasoby do wyjaśniania punktów historii?” Tak, ta książka jest dobrym źródłem. Jedzenie do namysłu.

azheglov
źródło
Wyrażenie, czy są przydatne, czy nie, nie odpowiada na pytanie, czym są.
Bryan Oakley,
0

Najprostszym wyjaśnieniem, jakie mogę wymyślić, jest użycie przedmiotu, który jest namacalny i może stanowić konkretny przykład.

Zabierz przyczepę stacjonarną. Gdybym był w firmie zajmującej się domami mobilnymi, wiedziałbym, że zbudowanie pojedynczej szerokości zwykle zajmuje 5 (punkty, żaby, widżety ... forma pomiaru jest dowolna), a zatem zbudowanie podwójnej szerokości powinno zająć około dwukrotnie więcej lub 10 (punktów , żaby, widżety).

Nastawienie programistów rozpocznie w tym momencie rozmowę o uproszczonym podejściu; nie zajmuje to dwa razy więcej czasu, ponieważ infrastruktura zajmuje najwięcej czasu i inne podobne przykłady. To jest nieuniknione. Pomyśl o tym, że jest to oszacowanie w (punkty, żaby, widżety), ponieważ NIGDY nie możemy dokładnie oszacować w czasie, a zatem oszacowanie w (punkty, żaby, widżety) usuwa przekonanie, że możemy.

Aby wiedzieć, ile czasu zajmie zbudowanie, wykorzystamy z czasem nasze trendy; dlatego z czasem staje się coraz bardziej dokładny w naszych szacunkach.

Nie zapomnij o planowaniu pokera, kiedy drużyna będzie gotowa do gry.

Aaron McIver
źródło
0

Jak inni wspominali, punkty historii są względnym pomiarem złożoności historii użytkownika. Prawdziwa korzyść z punktów historii jest realizowana, kiedy

  1. Punkty są mierzone przez jednostkę odpowiedzialną za wdrożenie (osobę lub zespół).
  2. Przechowywane są dane dotyczące liczby punktów sumarycznych wykonanych przez tę samą jednostkę w stałym czasie trwania (prędkości).

Po kilku iteracjach pomiaru punktów historii i prędkości śledzenia, powinieneś być w stanie dokładnie oszacować, ile punktów historii może zmieścić się w danym bloku czasu (iteracja lub sprint, jeśli używasz scrum). Pamiętaj, że zastosowanie tej techniki do grupy i próba użycia tych danych dla innego zespołu nie będzie działać dobrze. To znaczy, jeśli drużyna a może ukończyć 120 punktów historii w dwutygodniowym sprincie, oczekiwanie, że drużyna b osiągnie takie same wyniki, jest nierealne.

Jak ktoś wspomniał, planowanie pokera jest bardzo pomocne przy stosowaniu tej metody, ponieważ pomoże zidentyfikować historie, które wymagają dalszego udoskonalenia (jeśli istnieje rozbieżność między głosami, oznacza to, że wymagania są niepewne).

Michael Brown
źródło
1
„Jak inni wspominali, punkty historii są względnym pomiarem złożoności historii użytkownika”. Zauważ, że Mike Cohn faktycznie twierdzi, że „To wysiłek, a nie złożoność”, zobacz mountaingoatsoftware.com/blog/its-effort-not-complexity, aby uzyskać szczegółową dyskusję na ten temat.
typ danych