Odcinek 68. W pułapce przewidywalności

Dzisiejszy odcinek zatytułowany jest „W pułapce przewidywalności”. Dlaczego w pułapce? Słowo „przewidywalność” (ang. predictability) jest terminem często używanym do opisywania różnych zjawisk i procesów – zarówno pozytywnie, jak i negatywnie. Możemy się cieszyć z przewidywalności, ale znajdą się też tacy, którzy będą krytykowali proces za brak przewidywalności, a jeszcze inni uznają przewidywalność za coś złego. To jak to jest z tą przewidywalnością?

Dobra czy zła przewidywalność?

Przewidywalność nie musi oznaczać czegoś bezwzględnie pozytywnego, bo jak opowiadam w historii otwierającej bieżący odcinek może być tak, że przewidywalne będzie jakieś zjawisko niepożądane.

Przewidywalność może być czynnikiem, jakiego byśmy sami pożądali od jakiegoś procesu i może być on zarówno mocno zestandaryzowanym (jak dostawa na czas), ale też bardziej unikalnym – nie wiem, kiedy dokładnie, ale wiem, że ktoś mi odpisze albo da feedback.

Gorzej naturalnie, jeśli chcemy przewidywalności w wielu różnych wymiarach oczekiwać od procesu, gdzie nie wszędzie będzie ona pomocna, a może wręcz nieosiągalna czy szkodliwa.

Co przewidywalnie, a co mniej?

Takim przykładem jest druga z historii przedstawionych w podcaście, a więc zespołu Scrumowego, który nie miał problemu z osiąganiem Celów Sprintów (wysoka przewidywalność), mógł dostarczać jednostki wartości (nazwijmy je dla uproszczenia PBI) w bardzo podobnym zakresie tempa dostarczania (ilość PBI/Sprint), ale oceniany był za nieprzewidywalny pod kątem velocity wyliczanego w tzw. Story Pointach per Sprint. Oto jak mogłoby to wyglądać:

Często w takiej sytuacji zespoły, my sami jako specjaliści skaczemy do rozwiązywania „problemu”, jaki ktoś nam wytyka zamiast zastanowić się, jak uniknąć tytułowej „pułapki przewidywalności”.

Potrzeba źle pojętej przywidywalności i próby jej wprowadzenia prowadzą również często do odnoszenia się do niepomocnych praktyk – tak jak prognozowanie przyszłości na podstawie Prawa Little’a w systemach, które nie prezentują oczekiwanej stabilności. O tym możecie dowiedzieć się z Odcinka 65.

O co warto (siebie) zapytać?

Stąd moje zaproszenie do refleksji, ale może też podzielenia się Waszymi historiami:

  • w jakim kontekście i znaczeniu pojawia się słowo przewidywalność i jej oczekiwanie?
  • czy wiemy, w jakich zakresach wartości jesteśmy przewidywalni, a w jakich nie?
  • co osoba „oceniająca” rozumie jako akceptowalną lub oczekiwaną przewidywalność?
  • co osiągnelibyśmy w wymiarze efektów naszej pracy (outcomes, impacts), jeśli osiągniemy wyższą przewidywalność w omawianym wymiarze?

I coś nowego czyli transkrypt odcinka.

Jeśli jakimś cudem nie masz czasu czy przestrzeni na spokojne wysłuchanie odcinka to poniżej znajdziesz jego transkrypt. Przydatne? Dajcie znać!

Transkrypt odcinka

Cześć, z tej strony Radek Orszewski. Witam Was w kolejnym odcinku podcastu Kanban przy kawie.

Dzisiejszy odcinek zatytułowany jest „W pułapce przewidywalności”. Dlaczego w pułapce? No właśnie, mam wrażenie, że słowo przewidywalność, czyli w języku angielskim predictability, to jest termin, którego bardzo często używa się, żeby określić jakieś zjawisko, jakiś proces, albo pozytywnie, albo negatywnie. Możemy się cieszyć z przewidywalności, ale będą też tacy, którzy będą zarzucali jakiemuś procesowi brak przewidywalności, a niektórzy będą mówili, że ta przewidywalność to jest coś złego.

Naprawdę? Naprawdę. Ja to słyszę w bardzo różnych kontekstach. Stąd chciałbym zacząć od kilku historyjek, które być może otworzą Wam oczy, rozświetlą neurony w waszych umysłach, żeby zastanowić się nad tym, jak przewidywalność jest używana w Waszym kontekście i czy powinniśmy się o nią starać, czy też nie.

No i oczywiście jak ma się to do Metody Kanban, w której słowo przewidywalność również pada, konkretnie w terminie, czy w praktyce zarządzania przepływem.

Zacznę od historyjki osobistej, jest aplikacja pewnych linii lotniczych, w której jeśli pojawia się już możliwość rozpoczęcia odprawy, to otwiera się tę aplikację, na danej rezerwacji pojawia się taki czerwony przycisk rozpocznij odprawę i co się dzieje po jego naciśnięciu, to pojawia się strona błędu.

Taka: „Pardon, nie możemy tam znaleźć tej strony”. I słuchajcie, co jest ciekawe, jeśli damy w tej aplikacji wstecz i klikniemy ten czerwony przycisk raz jeszcze, to strona ładuje się poprawnie. Dlaczego o tym opowiadam? No, przewidywalne czy nie? Ja bym powiedział w 100% przewidywalne, przynajmniej z moich obserwacji kilkunastu takich operacji właściwie za każdym razem pierwsza próba rozpoczęcia odprawy przy pomocy aplikacji mobilnej się nie udaje. No i teraz zobaczmy, słowo przewidywalność kojarzy nam się dobrze, ale tutaj raczej ono jest oparte o pewnego rodzaju wysoki fail rate, tak byśmy powiedzieli, taką metrykę, że w 100% przypadków pierwsza próba na urządzeniu się nie powodzi.

No właśnie, a więc pierwsza historia, którą chcę się podzielić to jest to, że o ile słowo przewidywalność może nam się kojarzyć dobrze, to pamiętajmy, że ono również może mieć tę złą konotację. Bardzo często słyszę o tym, że zespoły są nieprzewidywalne w dostarczaniu czegoś, zaraz będziemy o tym mówić, ale okazuje się, że to nie jest tak, że one są nieprzewidywalne, one są raczej niezadowalające, bo one są przewidywalne, to znaczy one właśnie w prawdopodobieństwie graniczącym z pewnością nie dotrzymują terminów, nie realizują celów czy nie realizują chociażby zakresu. I oczywiście tutaj ktoś może powiedzieć, że chciałby tej przewidywalności i zobaczcie, jak bardzo różne scenariusze tę przewidywalnością możemy sobie tu opisać, od takiego wręcz kompromitującego do takiego, którego byśmy sobie życzyli.

Ale chciałbym przejść do historii, na opowiedzenie, której pozwolił mi uczestnik szkolenia, z którym ostatnio miałem okazję się zetknąć. Michał, pozdrawiam przy okazji, powiedział mi o zespole, zespole scrumowym, który jest określany czy odbierany w swoim biznesie, w swojej firmie jako nieprzewidywalny. No i teraz bardzo ciekawa sprawa, ponieważ chciałem zgłębić, zresztą na tym też polegało ćwiczenie na szkoleniu, na czym ta nieprzewidywalność, czyli ten problem polegają.

I okazuje się, że mieliśmy czy mamy do czynienia w tym zespole, w jednym z zespołów, z którymi Michał pracuje, z taką sytuacją, w której prędkość dostarczania, tutaj powiedzmy velocity, tak to nazwijmy, jak to jest nazywane w tej organizacji, wyrażona w story pointach, a jakże nie jest stała i bardzo mocno skacze, ma bardzo dużą amplitudę. Ktoś powie teraz, aha, Radek zacznie rancik na story pointy, oczywiście mógłbym i pewnie bym chciał, ale tu się powstrzymam, bo to w ogóle nie o to chodzi. Dlatego że, zwróćmy uwagę, ktoś postrzega velocity wyrażone w story pointach jako miarę, metrykę, która jest nieprzewidywalna w przypadku tego zespołu, ma niską przewidywalność, a więc możemy sobie wyobrazić, że raz to jest 5, a innym razem to jest 25.

No i teraz, co to znaczy przewidywalne? Przede wszystkim musielibyśmy, nawet żeby zgodzić się lub nie na tę przewidywalność, zrozumieć skalę tych wyników czy wartości tych wyników, które ten zespół osiąga. Dlatego, że dla jednego dużym rozstrzałem, dużym nieprawdopodobieństwem powtórzenia jakiegoś wyniku czy zbliżenia się, niską przewidywalnością, będzie rozbieżność na poziomie 10 i 20 story pointów. Ktoś powie, no to jest dwa razy tyle albo o połowę mniej, w zależności jak ten sprint się skończy.

Z drugiej strony, ta wartość mogłaby oscylować wokół 60 lub 70 story pointów. I zwróćmy uwagę, że tutaj to samo 10 story pointów, które jak wiemy są jednostkami abstrakcyjnymi, względnymi, nie jest właściwie równe temu samemu, co w tym pierwszym przypadku. Mamy tu jakąś fluktuację, mamy tu jakąś zmianę, ale ciężko powiedzieć, że ona jest tak samo poważna, no bo to nie jest 50%, tylko może jakiś mniejszy kilkunastoprocentowy ułamek.

Ale teraz pójdźmy dalej, ponieważ ja zgłębiłem to pytaniem, czy ten zespół operuje celami sprintów, no bo takich powinien używać. Mówię tu celami, myśląc o kilku sprintach, oczywiście dla jasności o jednym celu na sprint, ale czy takimi celami na sprint operuje i okazuje się, że tak. I na pytanie, czy te cele sprintu są często osiągane, odpowiedź była również potwierdzająca, również pozytywna.

A więc zobaczmy, mamy dużą amplitudę, dużą zmienność, załóżmy, że niską przewidywalność velocity, natomiast jeśli mielibyśmy mieć tutaj zamiar, to czy zespół osiąga cele biznesowe, cele sprintu, które sobie wyznacza, to okazuje się, że tak. No i teraz pytanie, która przewidywalność jest tutaj istotna. Oczywiście zdajemy sobie sprawę z tego, że nie dość, że velocity w story pointach to zło, ale to już, no obiecałem, że nie będę dalej tą drogą szedł, to zobaczmy, że przewidywalność czy nieprzewidywalność, jakiś mniejszy lub większy rozrzut wyników w tej mierze, w ogóle nie musi przekładać się na to, o co właściwie nam chodzi, a więc o przewidywalność w osiąganiu jakichś celów.

Kanban tutaj, konkretnie w tym też ćwiczeniu i w ogóle sugestii, jakby podpowiedział, żebyśmy sobie zmierzyli coś jeszcze, a więc tempo dostarczania czy przepustowość jednostek wartości rozpoznawanych przez klienta, które ten zespół dostarcza. No bo pamiętamy, że w zespole scrumowym również może się zdarzyć tak, że nie wszystko, co w sprincie będzie podporządkowane celowi sprintu, nawet te elementy składające się na cel sprintu, jakieś historyjki, jakieś PBI, właśnie najlepiej jednostki rozpoznawane przez klienta, a nie jakieś abstrakcyjne taski czy drobne elementy. To jest coś, co chcielibyśmy, żeby było dostarczane właśnie może też w jakiś w miarę przewidywalny sposób.

Co to znaczy w miarę przewidywalny sposób? No zastanówmy się właściwie, po co jest te skrócenie pętli dostarczania i uczenia się, jaką jest sprint. No również po to, żeby w miarę przewidywalnie powstawały te przyrosty produktu czy jakieś pętle zwrotne, z których się uczymy. Jeżeli wyznaczymy sobie jakiś cykl taki jak sprint, ale będziemy od Sasa do lasa mieli lub nie mieli ten przyrost, no to ten Scrum jest, można powiedzieć, mniej przewidywalny w uczeniu się czy w dostarczaniu.

I ciekawą rzeczą jest to, że znowu w zespołach, w których osiągamy często cele sprintu, mamy często stabilność, jeżeli chodzi o liczbę takich jednostek, które dostarczamy w sprincie. Natomiast możemy mieć bardzo duży rozrzut i rzeczywiście stosunkowo słabą, tak to nazwijmy, tak może nieprofesjonalnie przewidywalność, jeżeli chodzi o to velocity w story pointach. I teraz pytanie, o co nam chodzi? Już powiedzieliśmy, że o ten cel biznesowy, a więc raczej ten outcome niż output.

Pokazaliśmy, że możemy też output zmierzyć troszkę inaczej i on wcale nie będzie tak źle wyglądał, co może nas uspokoi, może też nam pokaże nasze właściwe tempo dostarczania. I co jest ciekawe, to bardzo ciężko będzie osiągnąć przewidywalność we wszystkich tych trzech miarach, ale też nie jest to, o co nam powinno chodzić. I do tego chcę Was skłonić, żebyśmy się zastanowili za każdym razem, kiedy ktoś mówi o potrzebie przewidywalności, co właściwie ta przewidywalność miałaby przynieść i przede wszystkim w jakim wymiarze.

Bo tu pokazaliśmy sobie dla zespołu scrumowego co najmniej trzy miary, a więc velocity w story pointach, osiąganie celu sprintu oraz liczbę jednostek wartości dostarczonych w sprincie. No i pewnie łatwiej jest powiedzieć, próbujemy czy optymalizujemy nasze skupienie na to, żeby osiągać przewidywalność w jednym, dwóch z tych wymiarów, ale niekoniecznie w trzech. No bo wracając do historii z aplikacji mobilnej, tam mieliśmy dużą przewidywalność, ale oczywiście w niedowożeniu wartości za pierwszym razem czy przy pierwszej próbie.

I tu, Moi Drodzy, pojawia się przestrzeń do tego, żeby sobie porozmawiać o tej przewidywalności i też chciałbym ugryźć ją z perspektywy Metody Kanban i podejścia Kanban. Dlatego, że jednym z mitów jest oczywiście to, że ten Kanban to jest dla tych zespołów, co robią te powtarzalne, przewidywalne rzeczy. To oczywiście jest nieprawda, ale chcę powiedzieć, że przewidywalność jest słowem, które się w naszym języku pojawia.

Ja to sobie celowo otworzyłem na ekranie obok takie stwierdzenie, że w zarządzaniu przepływem chodzi o to, że system Kanban powinien optymalizować dostarczanie wartości, a więc zwróćmy uwagę, że na pierwszym miejscu jest wartość. Na drugim minimalizowanie czasów realizacji, tutaj dodam tak z gwiazdką, do oczywiście zdroworozsądkowych ekonomicznie, jakościowo poziomów, bo możemy coś zrobić bardzo szybko, ale bardzo drogo albo bardzo niedokładnie i absolutnie nie chcemy, żeby to była taka niezbalansowana miara, na pewno przez wartość i, uwaga, kolejna część tego zdania, być tak płynna (przewidywalna) jak to możliwe.

No właśnie, płynna i przewidywalna, a więc taka, która się nie zatrzymuje, nie zatrzymuje w sposób taki, którego nie przewidzieliśmy, a jeśli się to dzieje, to nic z tym nie robimy, a więc chcielibyśmy upłynnić, usprawnić przepływ tej wartości, to oczywiście będzie się składało na może bardziej przewidywalne czy krótsze czasy realizacji, ale zwróćmy uwagę, że ta przewidywalność jest właściwie w nawiasie po płynności na trzeciej, właściwie czwartej pozycji w tym zdaniu. I to często jest też właśnie jeden z mitów, że u nas w tym Kanbanie to chodzi tylko o to, żeby tam wyjechało sześć ticketów w tydzień. Otóż nie, chcemy dostarczyć jednostki wartości postrzegane przez klienta, jeżeli to będą te przysłowiowe tickety, to super, klient się ucieszy, my się czegoś nauczymy, możemy wystawić fakturę.

Z drugiej strony chcielibyśmy dostarczyć tę wartość w takim czasie, który jest również przewidywalny. Dlaczego? Dlatego, że jeśli zabieramy się za coś, co kompletnie może trwać, nie wiem, lata, no to oczywiście w bardzo innowacyjnych biznesach będziemy się za to brali, ale pamiętajmy, że to nie jest tak, że czas jest jakąś rzeczą, o którą nam nie chodzi. Z bardzo prostej przyczyny, jeśli jesteśmy na jakimś rynku konkurencyjnym, to oczywiście to, czy uda nam się wstrzelić, przygotować gotowe rozwiązanie, nie idealne, ale gotowe rozwiązanie na rynek, może być naszym być albo nie być jako firma, ponieważ pewnie w tym samym wyścigu są nasi konkurenci i często widzimy, że jakaś, nie wiem, duża firma przychodzi z jakimś produktem, ale mocno opóźnionym i próbuje trochę nadgonić. Mam wrażenie, że ci z Was, którzy w tej chwili śledzą wszystkie wyścigi związane z premierami modeli językowych, LLM czy tak zwanymi AI, to widzą, gdzie ktoś udało mu się szybciej i już jest postrzegany jako lider, jego rozwiązania są może lepiej postrzegane, ktoś inny jest w tej pozycji, tylko kogoś doganiającego.

No właśnie, to jest też pozytywny aspekt przewidywalności, że w pewnych obszarach biznesowych pewne firmy będą postrzegane jako przewidywalnie innowacyjne. Ja tu od razu nie chcę wchodzić, ani rozpoczynać jakiejś wojny systemów, patrzę akurat na tę markę raczej z zewnątrz, ale wydaje mi się, że przede wszystkim przewidywalne jest to, że firma z Cupertino wydaje swoje produkty w cyklu rocznym i wszyscy mówią, no to jest przewidywalne, w tym roku będzie nowy iPhone czy w tym roku będzie nowy iPad. A więc zobaczmy tutaj, ta przewidywalność czy powtarzalność jest raczej pozytywna.

To czy te produkty nadal są jakoś tam bardzo innowacyjne, to już jest oczywiście może w tej chwili już trudniejsze do określenia, no ale ktoś może powiedzieć, zobaczcie, oni czy rozwiązania sprzętowe, czy rozwiązania jeżeli chodzi o usability, rozwijają w taki sposób, że właściwie wiemy, że co rok, a jak tam popatrzymy na takie konferencje i dla end-userów, i dla deweloperów, to może nawet na zakładkę częstotliwości wypuszczają te produkty, a więc tutaj ta innowacyjność jest przewidywalna. Chociaż oczywiście zawsze może wydarzyć się coś takiego, no właśnie, jakiś czarny łabędź, jakaś pandemia, przeróżne tego typu rzeczy, które nawet najbardziej przewidywalne trendy będą łamały. Do czego zmierzam, to jest to, że w metodzie Kanban staramy się tą przewidywalność budować, ale typ tej przewidywalności będzie zależał od tego, jaki proces my, no powiem kolokwialnie, kanbanizujemy.

Jeśli stosujemy Kanban do zarządzania procesem takim, jak proces rekrutacyjny, to chcielibyśmy, żeby przewidywalnym było, jak szybko hiring manager, czy jak szybko kandydat uzyskają informację zwrotną oraz żeby to, że ta informacja do niego trafia, było raczej wysoce przewidywalne. Nie chcielibyśmy nikogo zostawiać poza taką opcją otrzymania tej informacji zwrotnej. Oczywiście z drugiej strony możemy zastosować tę przewidywalność do procesów wytwarzania produktu, a więc tutaj, ze Scrumem czy czymś takim i powiemy, chcemy budować przewidywalność tego, że z naszego procesu mniejsze lub większe jednostki jednak wychodzą, także dostarczają nam wartości, przy czym uważajmy, nie musi się to zamykać w takich samych zawsze bardzo dokładnych sprintach.

Ja bym popatrzył nawet na Scrum, w którym mówimy, jeśli ten przyrost to minimum jeden, najpóźniej na koniec sprintu, to właściwie tutaj też dajemy sobie pole do większej elastyczności i tutaj absolutnie zastosowanie Kanbanu w ogóle się z tym nie będzie rozbiegało. Możemy też oczywiście zastosować Kanban do jakiegoś procesu bardzo innowacyjnego, jakiegoś rzeczywiście R&D, w którym mówimy, być może ta przewidywalność będzie niższa, ponieważ rzeczywiście zabieramy się za takie rzeczy, że nigdy nie wiadomo, czy się da, ale oczywiście tutaj możemy jakby zapiąć pewną pętlę zwrotną przewidywalności, a więc, że będziemy się dowiadywali, czy się da, czy się nie da, czy udało nam się uzyskać jakiś obiecujący wynik, czy nie, również z jakąś powtarzającą się kadencją, przy czym uwaga, ta kadencja może się w zależności od fazy rozwoju produktu zmieniać, a więc być może na początku będziemy dostawali informację raz na trzy tygodnie, potem w kolejnej fazie czy po postawieniu kolejnych kroków, ta przewidywalność uzyskiwania informacji zwrotnej może następować w krótszych czasookresach, ale pamiętajmy na koniec, bo będzie to raczej krótki odcinek, przewidywalność jako taka nie jest zła ani dobra, ona może być dobra, jeśli o to nam chodzi, a jeśli tak, to pamiętajmy też w jakim wymiarze tą przewidywalność chcemy śledzić, że raczej jest niemożliwe i niepożądane, żeby ją uzyskiwać we wszystkich wymiarach. Z drugiej strony mamy tę historię otwierającą, przewidywalność może być czymś przewidywalnie słabym, przewidywalnie złym i warto również sobie to odnotować, że nie o taką nam chodzi albo że ta przewidywalność po prostu jest, natomiast właśnie nie w takich rejestrach, tak to nazwę, jakbyśmy chcieli i co chcemy z tym zrobić.

I, Moi Drodzy, tyle na teraz, jestem ciekaw Waszej historii z przewidywalnością, czy to jest tak, że ścigacie ją jako pewnego świętego Graala, a jeśli tak, to zapytam właśnie przewidywalność czego czy częstotliwości wytwarzania, czy jakichś innych elementów, może takich metryk, o których tutaj było w przypadku, o którym opowiadałem, czy raczej ta przewidywalność jest czymś, czego unikacie, a jeśli tak, to dlaczego? Jestem ciekaw Waszego feedbacku. Tradycyjnie możecie zostawić komentarz pod odcinkiem na Spotify, jeśli go tam słuchacie, albo odezwać się na mediach społecznościowych, najpewniej na LinkedInie, pod postami, które będą promowały pojawienie się tego odcinka na słuchawkach, tak można było by powiedzieć. Dziękuję pięknie za Waszą uwagę, za Waszą atencję przez tych kilkanaście minut.

W najbliższym odcinku będzie wywiad, mam nadzieję, że do końca roku będziemy tymi wywiadami sobie przeplatali, a jak na razie dziękuję Wam pięknie, pozdrawiam, mówił Radek Orszewski.

Pomóż innym, podziel się!


2 Replies to “Odcinek 68. W pułapce przewidywalności”

  1. Filip

    Bardzo dobry odcinek, dzięki za niego 🙂
    Moje przemyślenia dotyczące przewidywalności (czasowej) są takie (wszystkie dotyczą feature teamów):
    – Przewidywalność powinna być rezultatem, a nie celem (jak wiele innych rzeczy, na których niestety ludzie się skupiają)
    – WiP limit jest dobrą drogą w kierunku stabilnej przewidywalności
    – W połączeniu z WiP limit, dobrze mieć podejście „może być wolniej, ale ważne, żeby było ważne”
    – WiP limit musi być powiązany bezpośrednio z dostarczaną wartością do klienta, a nie z 'zadaniem’
    – Wszelkie ćwiczenia produktowe, pomagające dzielić wartość na mniejsze kawałki są dobrym pomysłem do wypróbowania.
    – Natura (bardziej wynaturzenie) story pointów jest taka, że 10 punktów velocity vs 20punktów velocity może dotyczyć dokładnie tej samej ilości wykonanej pracy lub nawet tam, gdzie było 10 było więcej pracy, niż tam, gdzie 20. Nie ma się co opierać o te liczby, jeśli chodzi o jakąkolwiek statystykę.
    – Polecam statystykę monte carlo, albo chociaż zwykłą średnią – generalnie analizę przepływu wartości. Są piękne materiały tutaj oraz w Agile po Przejściach na ten temat.
    – Dobrze jest patrzeć na starzenie się pracy, jeśli masz wątpliwości, co do swoich odczytów przewidywalności.

    Jeśli jako osoba odpowiedzialna za zespół zajmujesz się tylko tym jednym aspektem, oczekuj złych rezultatów 😉

    • dexter

      Dzięki za komentarz oraz wysłuchanie odcinka naturalnie.
      Fajnie też że piszesz o tym jako osoba w roli odpowiedzialnej za zespół, bo najłatwiej się mądrzyć jeśli się samemu tego nie robi, a wiem że u Ciebie jest inaczej 🙂

Leave a Reply

Masz feedback? Daj znać i nagraj się!