Punkty fabularne a #NoEstimates: nasza ocena
Żadna ze stron nie odnosi jednoznacznego zwycięstwa. Szacujcie, aby osiągnąć wspólne zrozumienie i zidentyfikować rozbieżności; nie szacujcie w celu przewidzenia terminu — prognozujcie na podstawie przepustowości. Rozważamy argumenty zwolenników punktów fabularnych, zwolenników podejścia #NoEstimates oraz twórcy, który wyrzekł się punktów, a następnie podejmujemy decyzję.
Żadna ze stron nie odnosi jednoznacznego zwycięstwa. Szacunki mają na celu budowanie wspólnego zrozumienia oraz wykrywanie rozbieżności; nie należy ich wykorzystywać do przewidywania terminu — prognozy należy opierać na przepustowości. Sama liczba jest praktycznie bezużyteczna. Prawdziwą wartością jest rozmowa, w wyniku której została ustalona.
Spór ten przedstawia się jako dylemat zero-jedynkowy — punkty albo brak punktów — a w rzeczywistości tak nie jest. Obie strony mają rację co do pewnych kwestii, a za każdą z nich stoi autorytet o dużym znaczeniu. Najbardziej konstruktywne stanowisko to takie, które uwzględnia najsilniejsze argumenty każdej ze stron i zachowuje jedynie te elementy, które wytrzymują próbę prawdziwego sprintu.
Argumenty przemawiające za stosowaniem punktów fabularnych
Argument Mike’a Cohna, stanowiący definitywne stanowisko zwolenników punktowego systemu, tak naprawdę nigdy nie dotyczył samej liczby. Chodzi o to, że sam akt szacowania w kategoriach względnych zmusza zespół do omówienia złożoności, ujawnienia ukrytych założeń oraz uzgodnienia, co faktycznie obejmuje dana historia, zanim ktokolwiek zacznie pisać kod. Punkty pozwalają również uniknąć pewnej specyficznej patologii: jeśli szacuje się w dniach, o każdą liczbę toczy się spór; jeśli szacuje się w abstrakcyjnej jednostce, spór nie ma się czego uchwycić. Haczyk polega na tym, że wszyscy dostrzegają to „mrugnięcie okiem” — „nie szacujemy czasu, a jedynie złożoność, abyśmy mogli zaplanować sprint, który trwa dwa tygodnie” — a abstrakcja chroni zespół tylko tak długo, dopóki nikt nie przeliczy jej z powrotem na konkretną datę.
Steve McConnell stanowi rygorystyczną przeciwwagę dla zwolenników odrzucania szacowania. Twierdzi on, że podstawową przyczyną błędnych szacunków jest zazwyczaj brak umiejętności szacowania, a nie samo szacowanie — oraz że poważni specjaliści od szacowania rozróżniają trzy elementy, które w debacie są nieustannie łączone: szacunek (co jest prawdopodobne), cel (czego oczekuje firma) oraz zobowiązanie (co obiecuje zespół). Jeśli je połączy się, szacowanie oczywiście wydaje się nieskuteczne. Jeśli jednak zachowa się między nimi rozróżnienie, szacowanie naprawdę się sprawdza.
Argumenty przemawiające za #NoEstimates
A teraz druga strona, w pełnym składzie. Allen Holub zarzuca, że szacunki są zawsze niedokładne, zazwyczaj w ogromnym stopniu, oraz że punkty fabularne miały na celu zaciemnienie czasu trwania, aby menedżerowie przestali wywierać presję dotyczącą terminów — jednak zespoły dokonują ich odwrotnej analizy, przeliczając je z powrotem na godziny, co ponownie powoduje dokładnie te same dysfunkcje, którym punkty fabularne miały zapobiegać. Skala Fibonacciego nie zapewni Panu bezpieczeństwa, jeśli każdy w tajemnicy posiada tabelę przeliczeniową punktów na godziny.
Najbardziej dosadną tezę dotyczącą danych sformułował Vasco Duarte: w rzeczywistych projektach samo liczenie opowieści pozwala prognozować wyniki mniej więcej tak samo dobrze, jak zsumowanie ich punktów opowieści. Jeśli ma to zastosowanie w Państwa pracy, punkty są czystą formalnością — przeprowadzili Państwo obliczenia, aby uzyskać tę samą odpowiedź, którą dało już samo liczenie. Zamiast tego należy mierzyć przepustowość i czas cyklu; rosnąca kolejka jest wskaźnikiem wyprzedzającym, który można przewidzieć, podczas gdy prędkość jest wskaźnikiem opóźnionym.
A potem pojawił się najostrzejszy argument w całej debacie. Ron Jeffries, powszechnie uznawany za wynalazcę punktów fabularnych, wycofał się z tej koncepcji w 2019 roku: „Być może to ja wymyśliłem punkty fabularne, a jeśli tak było, to teraz przepraszam.” Jego zastrzeżenia dotyczą konkretnie wykorzystywania ich do przewidywania terminu zakończenia prac oraz do porównywania zespołów. Jego alternatywą nie jest „zaprzestanie planowania” — polega ona na podziale zadań na tak małe części, aby każda z nich wymagała wykonania tylko jednego testu akceptacyjnego, najlepiej trwającego mniej niż jeden dzień, dzięki czemu praktycznie nie pozostaje nic do oszacowania.
W jakich okolicznościach zmienilibyśmy zdanie
W przypadku zespołu, którego zadania są już podzielone na małe i jednolite części, zastosowalibyśmy podejście #NoEstimates w pełnym zakresie. Gdy realizacja każdego zadania zajmuje mniej więcej jeden dzień, liczenie prognoz dotyczących zadań oraz sumowanie punktów, a spotkanie poświęcone szacowaniu nakładu pracy stanowi zbędny koszt, można je pominąć — przyznaje to sam McConnell, wskazując pracę w szybkim cyklu, w której misją jest po prostu „wykonanie kolejnej najbardziej przydatnej czynności”, jako kontekst, w którym szacunki wnoszą niewiele.
W przeciwnym przypadku – w organizacji, w której szacunki rzeczywiście nigdy nie przekształcają się w zobowiązania i nikt nie porównuje wyników zespołów – złagodzilibyśmy nasze podejście do punktów. W takiej sytuacji nie istnieje niebezpieczeństwo, przed którym ostrzega obóz przeciwników szacowania, a punkty są jedynie nieszkodliwym bodźcem do rozmowy. Problem polega na tym, że takie organizacje są rzadkością. Wykorzystywanie punktów jako narzędzia presji jest normą, dlatego też nasz werdykt jest taki, a nie inny.
Praktyczne podejście
- Proszę traktować planning poker jako narzędzie do wykrywania rozbieżności, a nie jako narzędzie do prognozowania. Wyniki 2 i 13 przy tej samej historii stanowią sygnał — oznacza to, że zespół nie ma wspólnego zrozumienia zakresu pracy. Należy dyskutować, dopóki rozbieżność nie zniknie; celem jest osiągnięcie porozumienia, a nie ustalenie ostatecznej liczby.
- Prognozę należy opierać na przepustowości i czasie cyklu, a nie na sumie punktów. Funkcja Velocity stanowi dane wejściowe do planowania dla zespołu, a nie stanowi żadnej obietnicy wobec podmiotów zewnętrznych.
- Należy oddzielać szacowanie od składania zobowiązań, jak twierdzi Cohn. Szacunek to przypuszczenie; w chwili, gdy staje się obietnicą, ktoś zmienił jego znaczenie, nie informując o tym zespołu.
- Jeśli już stosują Państwo punkty, niech będą one wartościami względnymi. W momencie, gdy zacznie się je przekładać na godziny, w rzeczywistości szacują Państwo czas trwania w ukryciu — co wiąże się z całą presją związaną z szacowaniem czasu w godzinach, a do tego dochodzi jeszcze dodatkowa warstwa niejasności.
- Należy podzielić zadanie na mniejsze części, a nie dostosowywać jego rozmiar. Jeffries ma rację, twierdząc, że większość wartości, o którą toczy się spór, znika, gdy zadania są na tyle małe, że oszacowanie ich rozmiaru nie ma już większego znaczenia.
Sama liczba nie ma znaczenia; chodzi o rozmowę, w wyniku której została ustalona. To jedno zdanie rozstrzyga większość sporów — i sprawia, że sesja planning poker pozostaje naprawdę użyteczna, nie udając, że potrafi przewidzieć przyszłość.
Najczęściej zadawane pytania
Czy powinniśmy stosować punkty fabularne, czy metodę #NoEstimates?
Proszę stosować tę metodę, która sprzyja rozmowie na temat szacowania, i przestać traktować tę liczbę jako prognozę. Punkty fabularne są przydatne jako wskaźnik braku porozumienia — duża rozbieżność w ocenie jednego zadania oznacza, że zespół nie ma wspólnego zrozumienia tego zadania. Podejście #NoEstimates jest właściwym wyborem, gdy Państwa historie są już podzielone na małe i jednolite części, ponieważ wówczas ich zliczenie pozwala zarówno na prognozowanie, jak i na zsumowanie punktów. Niezależnie od tego, proszę prognozować termin realizacji na podstawie przepustowości i oddzielać szacowanie od podejmowania zobowiązań.
Czy twórca punktów fabularnych rzeczywiście się od nich odciął?
Ron Jeffries, powszechnie uznawany za twórcę pojęcia „story points”, napisał w 2019 roku: „Być może to ja wymyśliłem story points, a jeśli tak było, to teraz przepraszam”. Jego zastrzeżenie dotyczy wykorzystywania ich do przewidywania terminów ukończenia oraz do porównywania lub oceniania zespołów. Alternatywą, którą zaleca, nie jest „brak planowania” — polega ona na dzielenie zadań na części na tyle małe, by każda z nich wymagała przeprowadzenia tylko jednego testu akceptacyjnego.
Jak można zaplanować wydanie bez oszacowania każdego zadania?
Proszę zmierzyć przepustowość — liczbę zadań, które zespół faktycznie realizuje w ciągu tygodnia — i na tej podstawie oszacować, ile zadań z zaległości pozostaje do wykonania. Vasco Duarte stwierdził, że liczenie zadań pozwala prognozować postępy w podobnym stopniu, jak sumowanie punktów za zadania, więc gdy zadania zostaną podzielone na części o podobnej wielkości, punkty nie wnoszą już nic więcej niż to, co wynika z samej liczby zadań.
Warto przeczytać
- Czym są punkty fabularne? — co mierzą punkty, a czego nie mierzą.
- Punkty fabularne a godziny — dlaczego przeliczenie punktów na godziny stanowi ten właśnie punkt sporny, o który tak naprawdę toczą spór obie strony.
- Czy prędkość jest użytecznym wskaźnikiem? — druga strona tej kwestii: co się dzieje, gdy prognoza staje się celem.
- Agile Theatre: tryb niepowodzenia w realizacji — szacowanie jako rytuał typu „cargo cult” oraz jak odróżnić prawdziwe szacowanie od teatralnej inscenizacji.
- Darmowy Planning Poker — narzędzie do prowadzenia rozmów, a nie maszyna do prognozowania.