Jak oszacować punkty fabularne dla swojego projektu?

Pracując nad projektem Agile, zespół planuje pracę na nadchodzące sprinty, tworząc historie. Historia definiuje pojedynczą czynność zamkniętą w funkcjonalności wraz z opisem i kryteriami akceptacji.

Sprinty trwają zwykle od dwóch do czterech tygodni. W tym czasie zespół musi zrozumieć, ile treści może zmieścić w jednym sprincie, aby nadal mógł zdążyć w określonym czasie sprintu.

W przypadku projektu, który nie jest zwinny, oszacowałbyś pracę zwykle w osobodniach. Oznacza to, ilu pełnoetatowych pracowników potrzebujesz do wykonania tej czynności? W takim przypadku podczas tworzenia szacunków zawsze myślisz o dniach i liczbie osób.

W projektach zwinnych sytuacja wygląda inaczej. Nie liczysz już dni ani osób do obliczenia ostatecznego oszacowania. W rzeczywistości zabraniamy nawet obliczania wysiłku w coś w rodzaju osobodni. Zamiast tego pozwalasz zespołowi przeliczyć na jedną ogólnie przyjętą wartość dla historii, która będzie reprezentować ogólne oszacowanie.

Teraz, jaka jest dokładnie wartość, to tak naprawdę nie ma znaczenia. To prawda, że ​​​​najczęstszym przedstawicielem szacunków historii są Punkty opowieści. Są to w zasadzie liczby Fibonacciego zaczynające się od 0, 1, 2, 3, 5, 8, 13, 21 itd. Następna wartość to suma dwóch poprzednich liczb. Pomoże to rozróżnić ogólną złożoność historii, ponieważ każda kolejna wyższa liczba jest znacznie wyższa niż poprzednia.

Ale nie musisz trzymać się punktów fabularnych. Mogą to być szacunkowe rozmiary koszulek (XXS, XS, S, M, L, XL, XXL). Jeśli chcesz być naprawdę kreatywny, możesz wprowadzić zwierzęta ZOO i wykorzystać je do oszacowania wielkości.

Tak czy inaczej, teraz dużo więcej zależy od odczuć całego zespołu, która liczba (lub zwierzę) najlepiej oddaje ogólną złożoność tej konkretnej historii. Zdecydowanie nie chodzi o reprezentację czasu. Ostatecznie zespół powinien ukończyć każdą historię wziętą do sprintu w ramach tego sprintu. Tak więc czas jest już podany na początku i jest liczbą stałą.

Składniki oszacowania punktów opowieści

Oszacowanie punktu historii to absolutnie nie tylko to, jak złożona/trudna jest dana historia. Podczas szacowania historii zespół powinien wziąć pod uwagę kilka aspektów i odzwierciedlić je w ostatecznej wartości oszacowania.

Ostateczna ocena jest wtedy wartością reprezentującą kombinację wszystkich aspektów uformowaną w jedną liczbę. Oto, co taka wycena powinna zawierać.

# 1. Trudność techniczna

Zakładając, że szacujemy historie dla zespołu programistów, trudność techniczna historii będzie jednym z pierwszych obszarów, na których zespół domyślnie się skoncentruje.

I jest to ze wszech miar właściwe podejście. Zespół pełen ekspertów technicznych powinien najlepiej wiedzieć, jak ocenić taki obszar historii. Tutaj zespół może rozważyć różne podejścia lub wskazówki, takie jak:

  • Jak ta historia wypada w porównaniu z innymi już dostarczonymi z punktu widzenia złożoności technicznej?
  • Ile plików kodu zespół będzie musiał utworzyć/zaktualizować, aby ukończyć historię?
  • Ile dodatkowych zmian kodu wygeneruje ta historia w otaczających procesach systemowych?
  • Jak złożony będzie algorytm lub logika procesu do wdrożenia?

#2. Zewnętrzne zależności i zagrożenia

Można by się zdziwić, ale najczęściej sukces historii w sprincie zespołu zależy od wkładu innych zespołów lub osób spoza zespołu.

Historie, w których wszystko, co zespół może zrobić samodzielnie, jest najłatwiejsze do oszacowania. Sprawy się komplikują, jeśli zespół potrzebuje pomocy z zewnątrz do swoich historii. Dla osób spoza zespołu ta czynność nie będzie oczywiście priorytetem. Zespół musi po prostu liczyć na ten czynnik i uwzględnić go w szacunkach.

O ile ten czynnik zwiększy całkowite oszacowanie, będzie zależeć głównie od wcześniejszego doświadczenia zespołu i „poziomu efektów zewnętrznych”. Zwykle w niektórych sprintach zespół ustala pewne naturalne, jednolite poczucie, jak bardzo ta zależność od ludzi z zewnątrz może skomplikować pomyślne ukończenie historii.

#3. Współczynnik ponownego użycia

Następnym obszarem do rozważenia jest to, ile istniejącej zawartości zespół może ponownie wykorzystać, aby ukończyć historię. Oczywiście, jeśli niektóre części są już obecne w taki czy inny sposób, nie ma potrzeby budowania ich od zera. Zamiast tego zespół może ponownie wykorzystać raz utworzone rozwiązanie, aby znacznie szybciej zbudować nowe.

W ten sposób ta wiedza może obniżyć całkowite oszacowanie, nawet jeśli normalnie (bez możliwości ponownego wykorzystania) historia byłaby bardziej złożona w oparciu o zdefiniowaną treść.

#4. Zrozumienie własnego zespołu

Jednym z niezwykłych czynników, którego nie uwzględniają żadne szacunki oparte na osobodniach, jest samoświadomość stażu i możliwości zespołu.

Ponieważ zespół pracuje razem i wykonuje kilka sprintów, ludzie w środku poznają się nawzajem. Zaczną rozumieć, kto wie co i jak dobry jest w tym. A gdy już wszyscy poznają resztę zespołu, mogą razem jako zespół wziąć to pod uwagę podczas szacowania.

Jeśli historia opiera się na konkretnych umiejętnościach technicznych, a umiejętność ta jest bardzo silnie obecna w zespole, jasne jest, że realizacja tej historii nie będzie tak kłopotliwa. Lub odwrotnie, jeśli w całym zespole brakuje potrzebnych umiejętności, zespół będzie potrzebował znacznie więcej czasu, aby zagłębić się w temat i powinien to odzwierciedlić w szacunkach.

Szacowanie historii

Każda ocena historii powinna być wysiłkiem zespołowym. Żaden pojedynczy głos nie powinien z góry definiować złożoności historii. Ostatecznym celem powinno być umożliwienie zespołowi przedyskutowania oszacowania, dopóki wszyscy członkowie nie zgodzą się na jedną wartość, która będzie reprezentować ostateczne oszacowanie.

Zespół może dokonać oszacowania bezpośrednio podczas dyskusji na temat udoskonalania sprintu (spotkanie, na którym zespoły omawiają i wyjaśniają historie) lub alternatywnie może zarezerwować na to specjalny czas.

Przykład procesu szacowania

  • Wybierz narzędzie do szacowania dla zespołu, takie jak Planning Poker, plansza Miro lub podobne.
  • Umieść historię na tablicy. Pozwól zespołowi przedyskutować ostatnie przemyślenia lub pytania dotyczące historii. Upewnij się, że cały zespół ma pełną wiedzę na temat historii i jest gotowy do oszacowania.
  • Rozpocznij szacowanie. Każdy członek zespołu jest proszony o wybranie liczby ze skali Fibonacciego.
  • Po oszacowaniu wszystkich wyników wspólnie spójrzcie na wyniki. Rozpocznij dyskusję. Zwykle zespół rozdziela od dwóch do trzech numerów. Niech ludzie z dolnego końca podają powody, dla których szacunek powinien być tak niski. Następnie niech ludzie z drugiego końca wyjaśnią, dlaczego ostateczna ocena powinna być tak wysoka. Celem jest przedstawienie wszystkich argumentów, rozważań i faktów, tak aby cały zespół był po tej samej stronie w zrozumieniu, co zawiera ta historia.
  • Po zakończeniu dyskusji pozwól zespołowi ponownie oszacować. W większości przypadków zespół będzie teraz konwertował na jedną lub dwie odrębne liczby. Powtórz dyskusję jeszcze raz. W zależności od konkretnego przypadku, albo zespół uzgodni ostateczną liczbę z dwóch alternatyw, albo zdecydujesz się na kolejną rundę estymacji.
  • Szacowanie jest zakończone tylko wtedy, gdy wszyscy członkowie zespołu są całkowicie w porządku z ostatecznym oszacowaniem. Powinna to być zgoda całego zespołu, a nie tylko kilku jednostek. Potencjalnie każdą historię można później przypisać do dowolnej osoby z zespołu. Dlatego ważne jest, aby wszyscy byli zgodni co do tego, jak złożona jest ta historia.
  • Zobowiązanie Planu Sprintu

    Zespół ma teraz zaległości z historiami, które przeszły już przez sesje szacowania. Idealnie byłoby, gdyby historiom przypisano (oprócz ostatecznej wartości szacunkowej) również priorytet, aby zespół wiedział, które historie będą następne w następnym sprincie.

    Nadchodzi sesja planowania, podczas której zespół wybierze niektóre historie do następnego sprintu. Decyzja, które historie wybrać, powinna opierać się na następujących kwestiach:

    ✅ Historie o najwyższych priorytetach zespół bierze pod uwagę w pierwszej kolejności.

    ✅ Doświadczenie zespołu, ile punktów historii są w stanie ukończyć w sprincie. Ta wiedza przychodzi z czasem i doświadczeniem zespołu. Potrzebujesz kilku sprintów, aby dostroić i właściwie zrozumieć tę zdolność.

    ✅ Należy wziąć pod uwagę nie tylko całkowitą liczbę punktów historii i priorytet. Inną kwestią jest to, w jaki sposób umiejętności wewnątrz zespołu rozłożą się na wybrane historie. Na przykład, jeśli zespół ma tylko dwóch programistów front-end, mogą nie wybrać tylko historii składających się wyłącznie z rozwoju front-endu. Doprowadziłoby to do nadmiernego wykorzystania dwóch facetów, podczas gdy reszta zespołu nie jest tak bardzo. Wiedza zespołu idzie więc w parze ze skutecznością tworzenia treści sprintu.

    Współczynnik prędkości

    Przede wszystkim liczy się szybkość zespołu (pod kątem zbliżającego się sprintu). Liczba ta nie jest w żaden sposób powiązana z całkowitą liczbą punktów fabularnych. Wskazuje jednak, w jakim stopniu zespół będzie dostępny do pracy w nadchodzącym sprincie.

    Aby móc precyzyjnie zaplanować treść sprintu, połączyliśmy oba aspekty:

  • Szybkość zespołu — mierzona w dniach. Jeden członek zespołu jest dostępny przez jeden pełny dzień równa się jednemu w szybkości zespołu. Na przykład 10-osobowy zespół w pełni dostępny na sprint trwający 2 tygodnie odpowiada pojemności zespołu 100 osób.
  • Zwykła liczba punktów historii ukończonych w sprincie – Mierzona w punktach historii. Ta liczba wynika z wcześniejszych doświadczeń i jest ściśle związana z szybkością zespołu.
  • Znalezienie złotego środka wymaga czasu i praktyki.

    Korzyści i często popełniane błędy

    To zaskakujące, jak bardzo zespoły są skłonne komplikować sobie proces na drodze transformacji do zespołu zwinnego. Dosłownie wydaje się, że musisz to „zdobyć”, zanim zaczniesz pracować w tym trybie.

    Ten pierwszy krok jest niestety również najtrudniejszy. W niektórych przypadkach zajmuje to nawet lata, zwłaszcza w ściśle konserwatywnych środowiskach korporacyjnych, gdzie sam czas utknął w czasie.

    W każdym razie tak się stanie, gdy zespół „zdobędzie” to:

    • Nie musisz już obliczać osób ani dni, aby wiedzieć, kiedy coś może zostać ukończone.
    • Zespół nauczy się tworzyć historie tylko na tyle złożone, aby mieściły się w sprincie. Jeśli historia jest bardziej złożona, jest automatycznie dzielona na więcej historii.
    • Zespół ma dobre szacunki każdego elementu pracy, a kiedy zaplanuje go na sprint, wiesz dokładnie, kiedy ma się to odbyć.
    • Zwiększy to niezawodność i przewidywalność zespołu.
    • Wszyscy ludzie w zespole będą „nadawać na tej samej częstotliwości”. Przyjrzą się historii i zrozumieją podobne rzeczy. Może po pewnym czasie nawet nie zadają sobie trudu oszacowania. Widzą liczbę w swojej głowie, a ponieważ wszyscy widzą tę samą liczbę, mogą zaangażować się w historie w sprincie, nawet bez tego wyraźnego oszacowania.

    A tak zwykle dzieje się, gdy zespół nadal nie jest w stanie zrozumieć procesu lub sposobu pracy:

    • W jakiś sposób nadal trzymają się staromodnych szacunków osobodni. Przeliczają wszystko na dni lub zaangażowane osoby. Punkty historii lub liczby Fibonacciego oznaczają liczbę dni, bezpośrednio lub pośrednio, poprzez różne przekształcenia.
    • Przywództwo porównuje zespoły na podstawie liczby punktów historii dostarczonych w każdym sprincie. To jest tak bardzo błędne, jak to tylko możliwe. Istotny fakt nie jest wtedy rozumiany: każdy zespół inaczej ocenia punkty historii. Nie ma absolutnie żadnego powodu, aby podejmować wysiłek zsynchronizowania dwóch zespołów, aby oszacować ich historie w „ten sam sposób”.
      • Podczas gdy punkt fabularny jednego zespołu oznacza narysowanie koła, dla innego zespołu może to oznaczać narysowanie domu z płaskim dachem, czterema oknami i dwojgiem drzwi. I jest całkowicie w porządku.
    • Czasami zespoły mają tendencję do szacowania prawie wszystkiego od dwóch do czterech różnych liczb. Może dlatego, że boją się, że historia ma numer 123, ktoś pomyśli, że ma to coś wspólnego z liczbą dni. Ale faktem jest, że skala Fibonacciego ma nieskończoną liczbę liczb. Nie musimy ograniczać się tylko do szacunków 3, 5 lub 8. Z pewnością możemy (i być może już tworzymy historie z myślą o tym, aby były tak złożone, w takim przypadku jest to w porządku), ale zdecydowanie nie trzeba.
    • Oszacowaniem kierują starsi ludzie, którzy z góry określą oczekiwania całej grupy. Nigdy nie powinniśmy dopuszczać do wpływania na ocenę przez jednego członka zespołu. Każdy ma równe prawo do wyrażania swojej opinii i bycia wysłuchanym.

    Ostatnie słowa

    Przejście na zwinne szacowanie z bardziej tradycyjnych podejść nie zawsze jest łatwe i wymaga dostosowania — zarówno dla zespołów, jak i kierownictwa powyżej. Aby to zadziałało, obie strony muszą zrozumieć ten proces. Jeśli jedno z nich nie rozumie, okres przejściowy to trudna droga pełna sprzecznych oczekiwań.

    Ale kiedy wszystko się zmieni, zaczną się dziać pewne magiczne rzeczy. Zespoły będą mogły lepiej szacować i planować swoją pracę, a kierownictwo będzie miało bardziej przewidywalne wydania i plany działania, na których będzie polegać.

    Następnie sprawdź niezdrowe procesy, które mogą zrujnować Twój sprint.