Prawo Parkinsona i Bufor Harmonogramu

“Praca rozrasta się tak, aby wypełnić czas przeznaczony na jej wykonanie”
Cyril Northcote Parkinson

Parkinson był brytyjskim historykiem, żyjącym w XX wieku, który w satyryczny i żartobliwy sposób opisywał działanie administracji państwowej w jego czasach. Jest on twórcą zbioru praw, które nazwane od jego nazwiska, są aktualne również dzisiaj. Prawo, o którym piszę w tym artykule, dotyczy każdego z nas i wpływa na naszą efektywność i produktywność. Zgodnie z teorią Parkinsona, praca, którą mamy do wykonania rozrasta się tak, aby wypełnić cały czas zaplanowany na dane zadanie. Dzieję się tak bez względu na to, jak dużo czasu sobie zaplanowaliśmy na nie. Jeśli jeszcze dołożymy do tego syndrom studenta, mówiący o tym, że realizację danego zadania rozpoczynamy w możliwie najpóźniejszym terminie, nietrudno o wniosek, że znaczną część czasu prokrastynujemy i jesteśmy nieproduktywni. Oznacza to, że nasza efektywność również jest niska. 

W życiu prywatnym widzę jak silnie prawo Parkinsona działa np. w sytuacji porannego ogarniania siebie, dwójki małych dzieci i śniadania. W tygodniu wystarczy nam 45 minut, żebym przygotowała się do pracy, zrobiła śniadanie, obudziła dzieci, wyprawiła je i odwiozła do przedszkola. Zdarzyło nam się też kiedyś sromotnie zaspać i miałyśmy zaledwie 25 minut do śniadania w przedszkolu. Też udało się nam to wszystko zrobić i to nawet z niemowlakiem, którego musiałam zabrać, odwożąc starszaka do przedszkola. W weekend, natomiast, te same czynności rozciągają się do samego południa. 

Prawo parkinsona a estymata

W mojej branży prawo Parkinsona bardzo silnie oddziałuje na estymaty, co przekłada się na cały proces realizacji projektu. Niemniej są sposoby, aby zniwelować jego efekt, bufor harmonogramu, czy  estymata  w story points zamiast w dniach. 

Czym jest bufor harmonogramu?

Najprościej mówiąc to dodanie zapasu czasowego do poszczególnych elementów harmonogramu. W przypadku projektów informatycznych mogą to być poszczególne epiki, czy nawet user stories. Zobrazuję to na podstawie banalnego przykładu. Rano idę na wizytę lekarską i nie mogę się spóźnić, bo w przeciwnym razie wypadnę z kolejki. Aktywności, które muszę wykonać, aby dotrzeć do przychodni i czas, jaki jest potrzebny, są następujące: 

  1. Przygotować się do wyjścia z domu (wstać, umyć się, ubrać, zjeść śniadanie i wypić kawę): 40 minut
  2. Dojechać samochodem do przychodni: 25 minut
  3. Znaleźć miejsce parkingowe: 5 minut
  4. Zarejestrować się w przychodni: 5 minut

Jestem w stanie mniej więcej oszacować ile zajmie mi każda z czynności, mogę też określić, co może zakłócić mój plan: 

  1. Może się okazać, że rano obudzi się moje dziecko i będzie chciało się koniecznie właśnie do mnie przytulić. Ponowne uśpienie dziecka szacuję, że zajmie mi około 20 minut.
  2. Może się okazać, że będą korki na drodze i zamiast jechać 25 minut pojadę 60 minut.
  3. Może się okazać, że pod przychodnią nie będzie wolnego miejsca do zaparkowania i będę musiała pojechać nieco dalej, żeby zaparkować auto i przejść do przychodni. To może zająć mi nawet dodatkowo 20 minut
  4. Może się okazać, że kolejka do rejestracji będzie długa i zamiast ten etap zamknąć w 5 minut, zajmie mi on 10 minut. 

Mamy następujący rozrzut między estymatami:

  1. 40 minut – 60 minut (różnica 20 minut)
  2. 25 minut – 60 minut (różnica 35 minut)
  3. 5 minut – 15 minut (różnica 10 minut)
  4. 5 minut – 10 minut (różnica 5 minut)

Pierwotna łączna estymata czasu wynosi: 1h 15 minut. Oznacza to, że w połowie przypadków czas potrzebny na dotarcie do przychodni będzie niższy, a w połowie wyższy. Prawdopodobieństwo tej estymaty wynosi 50%.

Jak prawo Parkinsona wpływa na estymatę

Estymata może zawierać tzw. lokalne zabezpieczenie. Jest to bufor dający mi pewność na poziomie 90%, że w tym czasie wykonam wszystkie czynności i zdążę do lekarza. W tym przypadku estymata zawierająca lokalne zabezpieczenia wyniosłaby 2h 25 minut. To aż o 1h i 10 minut więcej niż pierwotny plan! Oznacza to też, że będę musiała wstać o ponad godzinę wcześniej, niż planowałam. Znając prawo Parkinsona, zapewne z domu nie wyjdę po pierwotnie oszacowanych 40 minutach, ale po około godzinie. Dzieję się tak, ponieważ wiedząc, że mam dodatkowy czas, na wypadek, gdyby dziecko się obudziło, wykorzystam go i będę np. scrollować internet do porannej kawy. Z drugiej strony, jeśli przyjmę pierwszy wariant, to wówczas najmniejsze opóźnienie spowoduje, że nie zdążę na wizytę lekarską.

Jak zatem zrobić, żeby jednocześnie mieć bufor czasowy, ale też, żeby był on rozsądny, czyli uwzględniał skalę zagrożenia dla poszczególnych punktów harmonogramu? Zwróćcie uwagę, że rozrzut między ocenami w poszczególnych punktach jest różny. Największe zagrożenie naszego harmonogramu stwarza punkt drugi, czyli korki, a najmniejsze punktu ostatni, czyli rejestracja. Bufor powinien być większy dla tych elementów, które stanowią większe zagrożenie dla harmonogramu, a mniejszy dla tych, które sprawiają mniejsze zagrożenie.

Wzór na bufor harmonogramu

Analogicznie jest w przypadku estymowania w projektach IT. User stories estymowane  w zakresie 13 – 50 punktów stwarzają większe zagrożenie dla naszego harmonogramu, niż te estymowane w zakresie 1 – 3 punktów.  W celu prawidłowego zabezpieczenia harmonogramu projektu powinno się przyjąć bufor o rozmiarze dwóch odchyleń standardowych. Wylicza się go z poniższego wzoru, który tylko pozornie, może wydawać skomplikowany:

wzór na obliczenie buforu harmonogramu

Zobaczmy, jak wygląda to na naszym przykładzie:

tabela do obliczania buforu harmon

Bufor 42 minut zabezpiecza mnie odpowiednio i daje niemal pewność, że 1h 57 minut, to wystarczający czas, by zrealizować wszystkie punkty i zdążyć na wizytę lekarską. Taka wielkość buforu pozwala też uniknąć działania prawa Parkinsona. 

Bufor harmonogramu opisał w swojej książce “Agile estimating and planning” Mike Cohn. Jeśli zainteresowałam Cię, gorąco zachęcam do sięgnięcia po nią.  

Story points w estymatach zamiast dni

Drugim sensownym zabezpieczeniem przed działaniem prawa Parkinsona w estymatach, może być szacowanie w story pointsach zamiast w dniach. Story points mówią o wielkości danej funkcjonalności i jej poziomie skomplikowania. Nie odnoszą się do czasu, który jest potrzebny, by daną funkcjonalność zaimplementować. Jeśli estymujemy w dniach, to siłą rzeczy odnosimy się do czasu.

Przyjrzyjmy się następującej sytuacji. Programista ma 4 dni na implementację funkcjonalności X. Pracę, którą ma do wykonania ocenia na stosunkowo prostą, ponieważ niedawno coś podobnego zrobił w 2 dni. Prawo Parkinsona i syndrom studenta aż się proszą, aby się rozgościć. Programista prokrastynuje 2 dni. Zaczyna pracę trzeciego dnia i okazuje się, że są jeszcze inne zależności, które uniemożliwiają zakodowanie danej funkcjonalności w dwa dni. Co się dzieje dalej, myślę, że łatwo odgadnąć. Termin realizacji funkcjonalności się przesuwa, co generuje dodatkowy koszt po stronie klienta.

Dwa opisane wyżej sposoby pozwalają ograniczyć działanie prawa Parkinsona w estymatach. Niemniej, nie jest to jedyna zaleta stosowania buforu funkcjonalności i estymowania w story points. W sekcji Praktycznik znajdziesz pomysły, jak ograniczyć działanie tego prawa w codziennych zadaniach i w jeszcze jednym obszarze, który może Cię zaskoczy! Zobacz sam 🙂

A jeśli jesteś ciekawy jakie inne problemy pojawiają się w temacie estymat projektów IT, zajrzyj tutaj.

Praktycznik

Jak ograniczyć działanie prawa Parkinsona w codziennych zadaniach?
Jest sporo technik umożliwiających ograniczenie prawa Parkinsona. Jedną z nich jest technika Pomodoro, która zakłada dość krótkie sesje, np. 25-minutowe, w których skupiamy się wyłącznie na zadaniu, które chcemy wykonać. Po takiej sesji następuje również krótka, np. 5-minutowa, przerwa. Można pobrać specjalną aplikację i ustawić w niej długość sesji, w której pracujemy i długość przerwy. Za każdym razem, kiedy skończy się dana sesja, otrzymamy powiadomienie dźwiękowe. Mój mąż jest gorącym zwolennikiem tej techniki, ja osobiście preferuję inną – time boxing. W technice tej chodzi o to, aby zadanie wykonać w określonym czasie. Jest to technika, która po pierwsze pozwala mi zwiększyć efektywność, a po drugie, bardziej realnie zaplanować ilość pracy, którą jestem w stanie wykonać danego dnia. Rano lub dzień wcześniej rozpisuję, co będę robiła i w jakich dokładnie godzinach. Zwykle się okazuje, że nie jestem w stanie zrobić w ciągu dnia tyle rzeczy, ile wydawało mi się, że będę w stanie zrobić, dopóki tego nie rozpisałam (co ciekawe, z badań wynika, że ludzie mają ogólną tendencję do przeszacowania, ile są w stanie wykonać, w krótkiej perspektywie czasowej i niedoszacowania, ile są w stanie wykonać w długiej perspektywie czasowej). Korzystając z techniki time boxingu mam jasny plan, skupiam się na zadaniach, jestem w stanie lepiej określić, kiedy będę w stanie daną rzecz ukończyć. Kiedyś robiłam to wyłącznie w zwykłym papierowym kalendarzu, teraz, choć nadal mam do niego sentyment, wspiera mnie w tym aplikacja Things 3. 

W jakim obszarze można jeszcze “przechytrzyć prawo Parkinsona?
Zauważyłam, że prawo to działa u mnie również w kontekście oszczędzania pieniędzy. Jak to praktycznie wygląda? Znając swoje średnie wydatki miesięczne, zawsze po otrzymaniu wynagrodzenia przelewam pewną jego część na konto oszczędnościowe. Zawsze jest to większa suma, niż wynika to z różnicy wynagrodzenie – planowane wydatki. Dzięki temu, że w ogóle wykonuję ten przelew, ograniczam wielkość swojego budżetu do wykorzystania w danym miesiącu i jestem w stanie rozsądniej nim zarządzać, a przez to zniwelować działanie prawa Parkinsona (obawiam się, że jeśli przelałabym niższą kwotę na konto oszczędnościowe, to wydałabym wszystkie pieniądze, które pozostały na koncie bieżącym, narzucenie takiego rygoru pozwala mi w szybszym tempie powiększać swoje oszczędności).