Przeciążenie: gdy ceremonii jest zbyt wiele
Trzeci rodzaj niepowodzenia w teorii agile teatru: nadmierna formalność. Obciążenie związane z zebraniami, koszt zmiany kontekstu, który znacznie przewyższa te piętnaście minut, oraz obciążenie związane z rytmem pracy, które niweczy korzyści płynące z krótkich sprintów, a także sposoby na osiągnięcie odpowiedniej równowagi.
Koszt uroczystości nie ogranicza się do piętnastu minut zapisanych w kalendarzu. To piętnaście minut plus dwadzieścia minut, które poświęca się na wyciszenie się przed uroczystością, oraz dwadzieścia minut na powrót do normalnego stanu po jej zakończeniu, pomnożone przez liczbę wszystkich obecnych w sali.
Przeciążenie to tryb niepowodzenia, który kryje się na widoku, ponieważ każda z tych czynności z osobna wydaje się nieistotna. Kwadransowa Standupa, godzina planowania, godzina retrospektywy. Kto mógłby mieć coś przeciwko? Problem polega na tym, że nie pojawiają się one pojedynczo. Następują one jedna po drugiej, w rytmicznym tempie, nakładając się na dzień pracy, w którym prawdziwą, głęboką pracę trzeba wcisnąć w luki. W przeciwieństwie do pozostałych trzech trybów, przeciążenie nie polega na przejętej lub pozbawionej treści ceremonii; nawet doskonale przeprowadzona ceremonia może okazać się jedną za dużo. Jest to jedyny tryb, który diagnozuje się za pomocą arytmetyki.
Podatek od zgromadzeń, naliczany zgodnie z zasadami
Proszę więc to policzyć: cały zestaw, a nie tylko codzienne spotkania. Dwutygodniowy sprint zazwyczaj obejmuje od dwóch do czterech godzin planowania sprintu, godzinę lub dwie na przegląd, godzinę lub dwie na retrospektywę, jedną lub dwie sesje dopracowywania oraz piętnastominutowe codzienne spotkanie Standup, co łącznie daje kolejne dwie i pół godziny w ciągu dziesięciu dni. Proszę to zsumować, a okaże się, że na każdego programistę przypada prawie cały dzień roboczy w każdym sprincie, zanim napisze on choćby jedną linię kodu. Praktycy wyrażają tę wartość w osobogodzinach, ponieważ jest to jednostka, którą rozumie kierownictwo: piętnaście minut Standupu w dwunastoosobowym zespole to nie piętnaście minut, lecz trzy osobogodziny, które codziennie ulegają utracie. Następnie należy dodać część, której kalendarz nigdy nie pokazuje (czas potrzebny na wyciszenie się przed każdą z tych przerw oraz na ponowne wdrożenie się po nich), a wówczas jedna piąta tygodnia pracy stanowi ostrożne oszacowanie – co dokładnie odpowiada nakładom, o których nieustannie informują praktycy.
Nie oznacza to automatycznie, że jest to błędne. Koordynacja ma rzeczywistą wartość, a trzy dobrze wykorzystane godziny pracy mogą przynieść znacznie większe oszczędności na dalszych etapach. Jest to jednak opłata, a uczciwe pytanie dotyczące każdej opłaty brzmi: co się w zamian za nią otrzymuje. Zespół, który nie jest w stanie wskazać podjętej decyzji, unikniętej kolizji lub usuniętej przeszkody w wyniku przeprowadzenia ceremonii, ponosi ten koszt na próżno. Nakłady te można uzasadnić jedynie wtedy, gdy zwrot z nich jest wymierny.
To właśnie zmiana kontekstu stanowi prawdziwy koszt
Kalendarz ten nie uwzględnia jednak w pełni kosztów, ponieważ samo spotkanie stanowi najtańszą część. Najdroższą częścią jest zmiana kontekstu po obu stronach. Programista głęboko pochłonięty rozwiązaniem problemu nie przenosi się w mgnieniu oka na spotkanie daily standupowe i z powrotem. Musi się wyłonić z pracy, traci zbudowany model mentalny i poświęca pierwszy okres po spotkaniu na jego odtworzenie. Praktycy opisują poranne spotkanie standup jako narzędzie służące do „rozpoczęcia” dnia: praca tak naprawdę nie zaczyna się, dopóki spotkanie się nie zakończy, więc cała godzina poprzedzająca spotkanie jest traktowana jako stracona. Piętnaście minut to cena katalogowa; zmiana kontekstu to rzeczywisty koszt.
Właśnie dlatego moment, w którym odbywa się spotkanie, ma równie duże znaczenie jak jego czas trwania. Spotkanie standupowe w połowie poranka dwukrotnie przerywa pracę twórcy; to samo spotkanie w naturalnym momencie zajmuje znacznie mniej czasu. Jest to najsilniejszy argument przemawiający za całkowitym odejściem od synchronicznego harmonogramu: jeśli prawdziwym zadaniem codziennego spotkania jest podsumowanie stanu prac, które narzędzia już zawierają, to asynchroniczna Standupa eliminuje przerwę bez utraty informacji, a krótka synchronizacja na żywo kilka razy w tygodniu pozwala zachować koordynację między ludźmi, której nie zapewnia wątek asynchroniczny. W rozdziale poświęconym prowadzeniu codziennych standupów omówiono sposoby ochrony czasu pracy twórców niezależnie od wybranego przez Państwa rytmu standupów.
Obciążenie związane z częstotliwością kroku: pułapka krótkich sprintów
Do tego dochodzi czynnik, którego nikt nie uwzględnia w planach: długość sprintu. Każda ceremonia odbywająca się „raz na sprint” ma miejsce dwa razy częściej w przypadku sprintu tygodniowego niż dwutygodniowego. Skrócenie sprintu o połowę powoduje podwojenie liczby sesji planowania, przeglądów i retrospekcji, jednak nie zmniejsza o połowę ilości pracy wykonywanej pomiędzy nimi, w związku z czym stosunek czasu poświęcanego na ceremonie do czasu poświęcanego na pracę gwałtownie wzrasta. Zespoły realizujące tygodniowe sprinty opisują to bez ogródek jako niekorzystne: planowanie i retrospektywa co tydzień, przy czym refleksja często okazuje się bezowocna, ponieważ tydzień to zbyt krótki okres, by nauczyć się czegoś nowego.
Rozwiązaniem jest zaprzestanie traktowania rytmu pracy jako jednego, spójnego mechanizmu. Długość sprintu, częstotliwość Standupów oraz częstotliwość retrospekcji nie muszą zmieniać się równocześnie. Zespół, który uważa cotygodniowe retrospektywy za pozbawione treści, może przeprowadzać je co dwa lub trzy sprinty i nic przez to nie straci. Refleksja ma swój naturalny rytm, a wymuszanie jej tempa szybszego niż tempo, w jakim zespół gromadzi wnioski, prowadzi jedynie do retrospektywy przeprowadzanej wyłącznie dla odhaczenia punktu z rozdziału „Wydajność”. Należy dostosować częstotliwość każdej ceremonii do odstępu czasu, w którym faktycznie przynosi ona konkretne rezultaty.
Gdy tryb „Overload” nakłada się na pozostałe tryby
Przeciążenie rzadko występuje samodzielnie. W książce „Flaccid Scrum” Martina Fowlera opisano sytuację, w której zespół realizuje wszystkie rytuały, pomijając jednak leżącą u ich podstaw dyscyplinę inżynierską, przez co ponosi pełne koszty związane z posiedzeniami, nie czerpiąc przy tym żadnych korzyści w zakresie realizacji, ponieważ wąskim gardłem nigdy nie była koordynacja. Z kolei „water-scrum-fall” – wzorzec nazwany przez Dave’a Westa z firmy Forrester – stanowi połączenie przeciążenia z modelem Power: plan, którego zakres, czas i koszt są ustalane z góry, a następnie „opakowywany” w sprinty, przez co zespół ponosi zarówno obciążenia związane z rytuałami metodyki agile, jak i sztywność modelu kaskadowego, czerpiąc z każdego z nich to, co najgorsze.
Warto również poważnie potraktować argument przeciwny, ponieważ jest on powszechny i w połowie słuszny. Praktycy chętnie podkreślają, że wiele elitarnych organizacji inżynieryjnych ledwo stosuje zestaw rytuałów: inżynierowie kierują projektami, zespoły same wybierają metodę pracy, a ciągłe dostarczanie zapewnia szybszą informację zwrotną niż jakiekolwiek cotygodniowe spotkanie. Należy ostrożnie podchodzić do tej obserwacji: stwierdzenie „zasady nas nie dotyczą” nie stanowi strategii, a duży, rozproszony zespół rzeczywiście wymaga większej synchronizacji niż mały zespół pracujący w tej samej lokalizacji. Prawdziwą lekcją nie jest pomijanie ceremonii, lecz dostosowanie ceremonii do rzeczywistych potrzeb koordynacyjnych pracy, które w przypadku niektórych zespołów są znacznie mniejsze niż zakłada standardowy podręcznik, a w przypadku innych odpowiadają dokładnie standardowemu poziomowi. Przeciążenie pojawia się wtedy, gdy kopiuje się podręcznik zamiast dostosować go do rzeczywistych potrzeb. Ostatni tryb, czyli brak konsekwencji w działaniu, pojawia się wtedy, gdy nawet odpowiednio dostosowane ceremonie nie przynoszą żadnych zmian.
Najczęściej zadawane pytania
Ile spotkań w metodologii Scrum to już za dużo?
Nie ma ustalonej wartości. Kryterium to stosunek i zwrot z inwestycji. Proszę zsumować czas poświęcany na cykliczne spotkania jako procent tygodnia pracy zespołu; jeśli przekracza on 20%, a zespół nie jest w stanie wskazać, co dzięki temu uległo zmianie, oznacza to, że są Państwo przeciążeni. Spotkanie zasługuje na swoje miejsce w harmonogramie, jeśli prowadzi do podjęcia decyzji lub koordynacji działań, które są rzeczywiście niezbędne dla pracy, a nie tylko dlatego, że znajduje się na standardowej liście.
Czy tygodniowe sprinty są zbyt krótkie, by pomieścić wszystkie ceremonie?
Często tak. Planowanie i cotygodniowe retrospektywy powodują, że stosunek czasu poświęcanego na formalności do czasu pracy gwałtownie rośnie, a dojrzałe zespoły często nie znajdują nic nowego, nad czym mogłyby tak szybko się zastanowić. Należy odpowiednio dostosować częstotliwość: proszę przeprowadzać retrospektywę co dwa lub trzy sprinty, jeśli cotygodniowa refleksja okazuje się mało owocna, a omówienie stanu prac przenieść do trybu asynchronicznego, aby codzienne spotkania nie pochłaniały całego poranka.
Dlaczego wydaje się, że wielkie firmy technologiczne pomijają ceremonie scrumowe?
Wiele elitarnych zespołów rzeczywiście działa w sposób bardziej zwinny: inżynierowie kierują projektami, zespoły same wybierają metodologię, a CI/CD w połączeniu z flagami funkcji zapewniają szybszą informację zwrotną niż mogłoby to zapewnić cotygodniowe spotkanie. Jednak wniosek nie polega na tym, że zasady nas nie dotyczą; chodzi o to, by dostosować formę spotkania do rzeczywistych potrzeb w zakresie koordynacji. Niewielki zespół pracujący w jednym miejscu wymaga mniejszego stopnia synchronizacji niż duży zespół rozproszony, a ślepe naśladowanie którejkolwiek z tych skrajności jest samo w sobie błędem.
Jak zmniejszyć nakłady związane ze spotkaniami w metodologii agile bez utraty koordynacji?
Proszę poddać analizie każdą cykliczną procedurę, zadając sobie jedno pytanie: do jakiej decyzji lub jakiej koordynacji prowadzi ta procedura? Proszę zlikwidować lub połączyć te, na które nie ma odpowiedzi, przenieść sprawozdania dotyczące statusu do narzędzi, w których są one już przechowywane, a pozostałe spotkania ograniczyć do najmniejszej grupy osób, których obecność jest faktycznie niezbędna. Celem jest poświęcanie mniej czasu na koordynację, a więcej na wykonywanie pracy.
Materiały powiązane
- Spektakl: ceremonia, którą organizują Państwo dla publiczności. Ceremonia, której utrzymanie nie wiąże się z dużymi kosztami, ponieważ nikt nie oczekuje od niej niczego.
- Pustka wynikająca z braku konsekwencji. Kiedy nawet ceremonia o odpowiedniej skali niczego nie zmienia.
- Standupy asynchroniczne i zdalne. Oddzielenie statusu od zegara synchronicznego.
- Spotkanie dotyczące planowania sprintu. Planowanie należy przeprowadzić na tyle sprawnie, aby w pełni wykorzystać przeznaczoną na nie godzinę.
- Ceremonie w metodologii agile: kompletny przewodnik. Do czego służy każda z nich, aby mogli Państwo określić, które z nich są faktycznie niezbędne w danej pracy.
- Słownik terminów związanych z agile theatre. Definicje czterech określonych rodzajów niepowodzeń.