Punkty fabularne a #NoEstimates: nasza opinia
Ż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, lecz opierajcie prognozy na przepustowości. Analizujemy argumenty zwolenników punktów fabularnych, zwolenników podejścia #NoEstimates oraz twórcy, który wyrzekł się punktów, a następnie wyciągamy wnioski.
Żadna ze stron nie odnosi jednoznacznego zwycięstwa. Proszę dokonywać szacunków w celu wypracowania wspólnego zrozumienia i zidentyfikowania rozbieżności; nie należy szacować w celu przewidzenia terminu, lecz opierać prognozy 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 – albo punkty, albo ich brak – a w rzeczywistości tak nie jest. Obie strony mają rację co do pewnych kwestii, a za każdą z nich stoi znaczący autorytet. 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 zdecydowaną pozycję zwolenników punktów, 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, na czym faktycznie polega dana historia, zanim ktokolwiek napisze kod. Punkty pozwalają również uniknąć pewnej specyficznej patologii: gdy szacuje się w dniach, każda liczba staje się przedmiotem targów; gdy szacuje się w abstrakcyjnej jednostce, targi nie mają się czego chwycić. Haczyk polega na tym, że wszyscy dostrzegają ten aluzję („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 mieszane: szacunek (to, co jest prawdopodobne), cel (to, czego oczekuje firma) oraz zobowiązanie (to, 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, przynosi ono rzeczywiste korzyści.
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ę w kwestii terminów, jednak zespoły dokonują ich odwrotnej analizy, przeliczając je z powrotem na godziny, co ponownie prowadzi do tych samych dysfunkcji, którym punkty fabularne miały zapobiegać. Skala Fibonacciego nie stanowi rozwiązania, jeśli każdy dysponuje prywatną tabelą przeliczeniową z punktów na godziny.
Najbardziej trafna uwaga dotycząca danych pochodzi od 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 te są czystą formalnością. Przeprowadził Pan obliczenia, aby uzyskać tę samą odpowiedź, którą dało Panu już samo zliczenie. Zamiast tego proszę 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 twórcę 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 tylko jednego testu akceptacyjnego – najlepiej trwającego mniej niż jeden dzień – dzięki czemu praktycznie nie pozostaje nic do oszacowania.
W jakich sytuacjach 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ładów stanowi zbędny koszt, można je wyeliminować. McConnell przyznaje to, 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 złagodzilibyśmy nasze obawy: 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. W takiej sytuacji nie istnieje zagrożenie, przed którym ostrzega obóz przeciwników szacowania, a punkty są jedynie nieszkodliwym bodźcem do rozmowy. Problem polega na tym, że taka organizacja jest rzadkością. Wykorzystywanie punktów jako narzędzia presji jest standardem, dlatego właśnie 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. Sygnałem ostrzegawczym jest sytuacja, w której dla tej samej historii pojawiają się oceny 2 i 13. Oznacza to, że zespół nie ma wspólnego zrozumienia zakresu pracy. Należy prowadzić dyskusję do momentu, aż rozbieżność w ocenach 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 zobowiązanie wobec podmiotów zewnętrznych.
- Jak mówi Cohn, należy odróżniać szacowanie od podejmowania zobowiązań. Szacunek to przypuszczenie; w chwili, gdy staje się obietnicą, ktoś zmienił jego znaczenie bez poinformowania zespołu.
- Jeśli decydują się Państwo na stosowanie punktów, 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 oraz dodatkową warstwą niejasności.
- Należy dzielić zadanie na mniejsze części, a nie dostosowywać jego wielkość. 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 wielkości nie ma już praktycznie żadnego znaczenia.
Liczba ta nie ma żadnego znaczenia; istotna jest rozmowa, 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 też podejście #NoEstimates?
Proszę stosować tę metodę, która sprzyja rozmowie na temat szacowania, i przestać traktować tę liczbę jako prognozę. Punkty opowieści są przydatne jako wskaźnik braku porozumienia: duże rozbieżności w ocenie jednej opowieści oznaczają, że zespół nie ma wspólnego zrozumienia jej treści. 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 zliczanie pozwala zarówno prognozować, jak i sumować punkty. Niezależnie od tego, proszę prognozować termin realizacji na podstawie przepustowości i oddzielać szacowanie od podejmowania zobowiązań.
Czy twórca punktu fabularnego 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 tego żałuję”. Jego zastrzeżenia dotyczą 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 sporządzić prognozę dotyczącą wydania bez oszacowania każdego zadania?
Proszę zmierzyć przepustowość, czyli liczbę zadań, które zespół faktycznie realizuje w ciągu tygodnia, a następnie oszacować pozostałe zaległości w oparciu o to tempo. Vasco Duarte stwierdził, że liczenie zadań pozwala prognozować wyniki mniej więcej tak samo dobrze, 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 poza tym, co wynika z samej liczby zadań.
Warto przeczytać
- Czym są punkty fabularne?: co mierzą punkty fabularne, a czego nie mierzą.
- Punkty fabularne a godziny: dlaczego przeliczanie punktów na godziny stanowi źródło sporu, o którym tak naprawdę toczą dyskusję 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.