Priorytetyzacja zadań - okładka

Priorytetyzacja i estymacja zadań

Opublikowano Kategorie FelietonyCzas czytania 18min

Pomimo kilkuletniego doświadczenia zawodowego, w dziedzinie organizacji pracy wciąż uczę się wielu rzeczy. W szczególności mam tu na myśli priorytetyzację i estymację zadań. Na przestrzeni tych kilku lat udało mi się poznać i wypracować techniki, które pozwoliły mi w istotny sposób zoptymalizować czas poświęcany na wykonanie części zadań oraz przewidywać ile pewne czynności mogą zająć.

W tym artykule przedstawię Ci kilka technik, z których korzystam lub miałem okazję korzystać w przeszłości. Wpis opiera się na moich osobistych doświadczeniach, więc niektóre techniki mogą nie sprawdzić się u Ciebie. Analogicznie te, które u mnie nie sprawdziły się, u Ciebie mogą działać. W artykule zestawiłem techniki, które wykorzystuję zarówno w życiu zawodowym, jak i prywatnym.

Priorytetyzacja zadań

Przy temacie priorytetyzacji zadań bardzo często pojawia się pojęcie macierzy (lub matrycy) Eisenhovera. Mimo że jest to dość znany klasyk z obszaru priorytetyzacji zadań, to uważam, że nie może go zabraknąć w tym artykule. Założeniem priorytetyzacji z wykorzystaniem macierzy Eisenhovera jest opisanie zadań względem ważności oraz pilności. Zadania opisujemy jako ważne/nieważne oraz pilne/niepilne. Rezultatem jest powstanie czterech kategorii, które zostały przedstawione na wspomnianej już macierzy.

Priorytetyzacja zadań - macierz Eisenhovera

 

Do kategorii “Do” lądują wszystkie zadania z najwyższym priorytetem, gdyż wartość dowiezienia zadania jest duża a czasu niewiele. Kategorię “Plan” wypełniają zadania istotne, ale których wykonanie może jeszcze poczekać.

Zadania pilne, ale mało istotne zgodnie z macierzą Eisenovera powinny trafić do kategorii „Delegate”. Rozmiar listy zdań z kategorii “Delegate” staram się minimalizować. Zamiast przypisywać zadania do kategorii “Delegate” staram się rozdysponować je pomiędzy “Plan”“Eliminate”. Nie oznacza to jednak, że w Twoim przypadku takie podejście się sprawdzi. Na przykład, jeżeli zarządzasz zespołem, kategoria “Delegate” prawdopodobne będzie zawierać większość zadań. Ostatnią kategorią jest „Eliminate” czyli zadania, których wykonanie jest stratą czasu.

Na podstawie macierzy Eisenhovera możesz priorytetyzować zadania na przykład w aplikacji Todoist, gdzie każde zadanie można przypisać do odpowiedniego priorytetu, w skali od 1 do 4 (1 – Do, 2 – Plan, 3 – Delegate, 4 – Eliminate).

Zrzut ekranu z aplikacji Todoist

Macierz Eisenhovera ma niestety jedną, dla mnie istotną, wadę. Priorytetyzacja zadań nie uwzględnia czasu wymaganego na wykonanie zadania. Czas potrzebny na wykonanie zadania może istotnie wpływać na jego priorytetyzację. Przykładowo, nawet jeśli dane zadanie nie jest ani istotne, ani pilne, ale jego wykonanie zajmuje dosłownie chwilę, to może i tak warto je zrobić, mimo że modelowo pasuje do kategorii „Eliminate”? Spotkałem się nawet kiedyś ze stwierdzeniem, że jeżeli zrobienie zadania zajmuje mniej niż dwie minuty, to zrób je TERAZ. Sam korzystam z takiego podejścia i w przypadku takich zadań nawet nie wpisuję takiego zadania na listę, tylko je robię.

Analogicznie, zadanie niepilne, lecz ważne może wymagać ogromnego nakładu pracy i już teraz warto zacząć nad nim pracować. Czynnik czasu może narobić dużo bałaganu w uporządkowanej już liście zadań. Warto również rozważyć nadanie wyższego priorytetu zadaniom wyestymowanym i z jasno określonymi wytycznymi. Takie zadania pozwalają natychmiast podjąć działanie.

Priorytetyzując zadania, oprócz wspomnianych czynników warto też wziąć pod uwagę takie aspekty jak:

  • co się stanie, jeżeli zadanie nie zostanie zrobione? Czy godzę się na takie konsekwencje?
  • czy nakład pracy poniesiony na wykonanie zadania jest współmierny do osiągniętych korzyści?
  • jakie będą konsekwencje dostarczenia zadania po wyznaczonym terminie?
  • czy wykonanie zadania zostało komuś obiecane?
  • czy wykonanie zadań innych osób będzie zablokowane, jeżeli moje zadanie nie zostanie wykonane?
  • czy nadany przeze mnie priorytet odpowiada priorytetowi innych osób powiązanych z wykonanym zadaniem? Czy nadany priorytet został skonsultowany z innymi zainteresowanymi osobami?

Estymacja zadań

Przy temacie estymacji zadań, priorytetyzację uważam za rozgrzewkę. Już na samym początku warto zaznaczyć, że estymacja zadań czasami może sprowadzać się do wróżenia z fusów. Niektórych zadań też nie warto estymować. Absolutnie nikt nie jest w stanie poprawnie przewidzieć wartości wszystkich składowych składających się na ostateczną estymatę. Jest to spowodowane występowaniem zdarzeń losowych. Warto tu przypomnieć jedno z praw Murphy’ego:

Jeżeli coś może się popsuć, to z pewnością się popsuje.

Dlatego też estymata nie powinna być deklaracją „dowiezienia” zadania we wskazanym czasie. Estymata zawsze powinna być orientacyjną wartością. Nie oznacza to, że nie idzie zminimalizować ryzyka złej estymacji, czy raczej zminimalizować błędu poczynionego podczas estymacji. Zabierając się za temat estymacji zadań, warto poznać nieco teorii. Istnieją cztery typy zmiennych mających wpływ na ostateczną estymatę:

  • znane znane (known knowns) – Są to rzeczy, które rozumiesz i jesteś ich świadom/a. Do tej kategorii można zaliczyć wszystkie czynniki, które były wzięte pod uwagę podczas estymacji, jednocześnie będąc świadom, jak bardzo wpływają one na estymatę.
  • znane nieznane (known unknowns) – Są to rzeczy, których jesteś świadomy/a ale ich nie rozumiesz. Przykładem może być konieczność wdrożenia nowej funkcji w kodzie, który wymaga refaktoryzacji. Załóżmy, że pracujesz z tym kodem po raz pierwszy. W rezultacie nie wiesz, ile faktycznie czasu może trwać refaktoryzacja, co konkretnie należy zrobić oraz na jakie problemy możesz się natknąć. Wiesz natomiast, że jakiś problem istnieje.
  • nieznane znane (unknown knowns) – Są to rzeczy, które rozumiesz (znasz ich konsekwencje), ale nie jesteś ich świadomy/a. Przykładem takiej sytuacji może być niekompatybilność dwóch technologii, które planujesz wykorzystać w swoim projekcie. W momencie estymacji jeszcze nie wiesz, że dwie technologie, które planujesz wykorzystać, są niekompatybilne i że najpewniej czeka Cię poszukiwanie innego rozwiązania.
  • nieznane nieznane (unknown unknowns) – Ten typ zmiennych jest zdecydowanie najgorszy. Są to zdarzenia, których nie jesteś świadom, a co gorsza nie jesteś świadom, co one oznaczają i jakie są ich konsekwencje. Nassim Nicholas Taleb opisał istnienie zjawiska tzw. czarnych łabędzi, czyli zdarzeń, których nie da się przewidzieć, a ich skutki wyraźnie rzutują na otaczającą nas rzeczywistość. Takie zdarzenia potrafią sprawić, że nasza estymacja, może zostać wyrzucona do kosza. W niektórych przypadkach może się nawet tak zdarzyć, że za sprawą “czarnego łabędzia” samo zadanie zostanie zmodyfikowane lub nie będzie konieczności jego wykonania. Przykładem takiej sytuacji może być estymacja procesu zorganizowania konferencji na żywo tuż przed wybuchem pandemii SARS-CoV 2. Więcej o zjawisku czarnych łabędzi możesz dowiedzieć się z książki Taleba pt. Czarny łabędź. Jak nieprzewidywalne zdarzenia rządzą naszym życiem. Pozycja ta znajduje się na mojej liście polecanych książek, gdzie znajdziesz więcej równie ciekawych pozycji.

VUCA

Z tematem estymacji zadań oraz niepewnością z tym związaną wiąże się akronim VUCA. Możemy powiedzieć, że świat jest VUCA, czyli:

  • volatile (zmienny) – dynamika świata powoduje jego ciągłą zmianę.
  • uncertain (niepewny) – zmienność powoduje, że wielu rzeczy nie da się przewidzieć i należy być gotowym na zdarzenia nadzwyczajne.
  • complex (złożony) – otaczające nas zjawiska cechuje ogromna złożoność. To z tego powodu niemożliwe jest tworzenie idealnych modeli analitycznych i predykcyjnych. Niemożliwe jest wzięcie pod uwagę absolutnie wszystkich czynników mających wpływ na badane zjawisko pod uwagę. Choćby z braku świadomości ich istnienia, ale też z braku danych czy niemożliwości ustalenia siły wpływu czynnika na badane zjawisko.
  • ambiguous (niejednoznaczny) – niewiele zjawisk jest jednoznacznie czarne lub białe. Większość otaczającego nas świata jest w odcieniach szarości.

Dziel i rządź

Zasada dziel i rządź znana z algorytmiki czy polityki, bardzo dobrze sprawdza się również przy estymacji zadań. Jeżeli potrzebujesz wyestymować duże zadanie i czujesz, że nie jesteś w stanie tego zrobić, podziel je na mniejsze zadania. Przykładowo, mając zadanie przygotowania artykułu, rozpisz sobie kluczowe punkty, o których chcesz wspomnieć. Rozpisz wszystkie zadania poboczne takie jak przygotowanie grafik, opisu, publikacja artykułu, korekta literówek i chochlików językowych, przygotowanie i opracowanie materiału źródłowego. W przypadku analizy źródeł zadanie jest o tyle proste, że dla materiałów audio i video z góry wiadomo ile czasu zajmie zapoznanie się z nimi. Obok treści pisanych również często widnieje informacja ile czasu zajmie jego przeczytanie. Do tych wartości polecam doliczyć nieco zapasu z uwagi na konieczność sporządzenia notatek czy konieczności głębszego zrozumienia tematu. Dokładnie w ten sposób pracuję z artykułami na mojego bloga, a zadanie dotyczące wpisu, który właśnie czytasz ma 32 mniejsze podzadania.

Estymacja z wykorzystaniem miar czasu

Estymacja z wykorzystaniem miar czasu z pewnością jest najbardziej intuicyjna. Wyceniana jest tutaj faktyczna ilość czasu potrzebna na wykonanie zadania. Jednocześnie jest to estymacja, gdzie ryzyko popełnienia błędu jest największa. Precyzyjna estymacja sprawia, że jakikolwiek czynnik, który nie był brany pod uwagę psuje estymatę. Dlatego też rekomendowałbym przybliżone szacowanie czasu wymaganego na poświęcone zadanie. Przykładowo, możesz przygotować kilka kategorii, do których będą przypisywane zadania. W przedstawionym przykładzie MD jest rozwinięciem “man days”:

  • 0MD – do tej kategorii przypisać można zadania, których zrobienie zajmuje kilka minut np. podlewanie kwiatów, wyprasowanie koszuli czy dopisanie brakującego testu jednostkowego. W tej kategorii często mogą lądować zadania, które możesz zrobić od razu, bez estymacji.
  • 0.5MD – są to zadania, na których wykonanie potrzebne jest do kilku godzin. Przykładem może być wykonanie miniaturki do filmu, przeczytanie dłuższego artykułu, naprawa prostego błędu, udział w spotkaniu. Mimo że na pierwszy rzut oka te zadania nie wyglądają na zadania zajmującymi pół dnia, to taka wycena ma sens. Do spotkania musisz się przygotować, wziąć w nim udział, spisać wnioski i przeprocesować rezultaty spotkania. Dodatkowo spotkanie może się przedłużyć. Analogicznie jest z innymi typami zadań. Zapas czasu daje Ci komfort psychiczny, który pozwoli Ci brać udział w spotkaniu nie tylko ciałem, ale i duchem. Czując oddech kolejnych zadań na plecach, Twoja produktywność prawdopodobnie będzie mniejsza.
  • 1MD – zadania, które da się ukończyć w ciągu jednego dnia. Tutaj także mają zastosowanie aspekty, które omówiłem w poprzednim punkcie. Jeśli czuję, że zadanie da się ukończyć w 0.7MD, to zaokrąglam estymatę w górę dla swojego komfortu psychicznego.
  • Kolejne miary odpowiadające rosnącej liczbie dni: 2,3,4 i tak dalej.

Nie zapomnij też, że w trakcie pracy masz przerwy. One również powinny być uwzględnione w estymacji. Jeśli jakieś zadanie wyceniłeś na 3 godziny, weź pod uwagę, że w ciągu tych trzech godzin zrobisz sobie najpewniej 2-3 kilkuminutowe przerwy, pójdziesz do toalety bądź po kawę. Oprócz przerw są również dystraktory takie jak rozmowy innych pracowników w biurze, czy sąsiad remontujący mieszkanie, jeśli pracujesz z domu.

Estymację z wykorzystaniem miar czasu można usprawnić poprzez tracking czasu pracy. Nie musisz się dzielić tymi rezultatami z nikim, wręcz nie zachęcam. Do śledzenia czasu pracy możesz wykorzystać narzędzie Toggl. Pozwala ono na uruchomienie timera, który będzie śledził, ile czasu poświęcono na dane zadanie. Dodatkowo każdy wpis można przypisać do kategorii i opisać etykietami. Po jakimś czasie będziesz w stanie zobaczyć, na jakie zadania poświęcasz najwięcej czasu oraz ile czasu poświęcasz na faktycznie efektywną pracę. Uprzedzam, licząc czas uczciwie, otrzymasz wyniki, które mogą Cię zaskoczyć. Z estymacją z wykorzystaniem miar czasu wiąże się również prawo Parkinsona:

Praca rozszerza się tak, aby wypełnić czas dostępny na jej ukończenie.

Estymacja z wykorzystaniem rozmiarów zadania

W przeciwieństwie do estymacji miarami czasu estymacja z wykorzystaniem rozmiarów zadania jest zdecydowanie bardziej ogólna. Takie podejście często bazuje na rozmiarach koszulek: S, M, L. Jeśli jest potrzeba większej granulacji, można dodać rozmiary XS oraz XL. Problemem tego typu estymacji jest jej niejednoznaczność. Przykładowo, co oznacza, że zadanie jest duże lub czy dwa duże zadania są jednakowo duże? Jeżeli estymujesz dla siebie, to nie jest problemem. Schody pojawiają się w momencie, gdy efekty Twojej pracy są rozliczane przez kogoś innego.

Estymacja z wykorzystaniem story point’ów

W tej technice estymacji zadań wykorzystywane są punkty, które rozdysponowywane są na zadania. Każde zadanie ma swój koszt, który jest wyrażony w kolejnych liczbach ciągu Fibonacciego tj. 1, 2, 3, 5, 8, 13, 21 itd.. Im większa wycena danego zadania, tym większa sugestia, że powinno zostać rozbite na kilka mniejszych zadań. Mimo że niektóre źródła próbują przekładać story point’y na dni i godziny pracy, to ja zdecydowanie odradzam takie podejście. Przeliczanie punktów na czas odbiera benefity tego rodzaju estymacji. Przede wszystkim story pointy są relatywne, czyli zadanie jest wyceniane względem innego zadania. Dzięki temu w wycenie można również zawrzeć potencjalne problemy oraz aspekty nieznane w trakcie estymacji. Takie podejście pozwala również swobodniej podchodzić do wycen. W przypadku estymacji z wykorzystaniem miar czasu prawdopodobnie pojawi się pokusa a czasami wręcz konieczność uargumentowania estymaty. Korzystając z relatywnych estymat, uargumentowanie wyższej estymaty jest proste — zadanie X wymaga dodatkowo zrobienia A, B i C, przez co ma wyższą wycenę niż zadanie Y, niezależnie od tego ile A, B, C zajmą czasu.

W mojej ocenie story pointy są gdzieś pomiędzy wyceną z wykorzystaniem miar czasu a wyceną rozmiarami. Nie mówię, że jest to złoty środek, ale bazując na moich dotychczasowych doświadczeniach, sprawdziło się najlepiej. Zdaję sobie jednak sprawę, że story pointy mają wielu przeciwników i bywają nieintuicyjne.

Niezależnie od wybranej metody estymacji, zapisuj błędne estymacje i czynniki na nią wpływające i wyciągaj wnioski. Dzięki temu każda kolejna estymacja będzie lepsza.

Organizacja pracy

Ostatnim tematem, któremu chciałbym poświęcić uwagę, są wybrane aspekty związane z organizacją pracy. Dobre zorganizowanie pracy pomoże Ci nie nie tylko lepiej kolejkować zadania na liście priorytetów, ale też w dłuższej perspektywie dokonywać celniejszych estymat.

Przede wszystkim, zachęcam do zapisywania wszystkiego co się da. Narzędziem, bez którego nie wyobrażam sobie obecnie pracy, jest to do lista. Zapisuję tam nie tylko zadania do zrobienia, ale też przypomnienia, przydatne linki, komentarze do zadań i wszystkie inne informacje potrzebne do ich realizacji. Pamięć ludzka ma ograniczoną pojemność oraz bywa zawodna. Trzymając swoją listę zadań w głowie, nie tylko narażasz się, że o czymś zapomnisz, ale co gorsza, że przypomnisz sobie o tym w najgorszym momencie. Spisywanie zadań, w pewnym stopniu redukuje ryzyko pojawienia się “wrzutek”, które rozbiją Ci twoją aktualną kolejkę zadań.

Równie mocno zachęcam do spisywania notatek z przeczytanych artykułów, książek, czy obejrzanych filmów. Załóżmy, że oglądasz godzinne nagranie z konferencji programistycznej. Spisanie kilku ciekawych zdań wraz z timestampami nie kosztuje Cię nic, a jeśli będziesz potrzebował je gdzieś użyć, nie będzie konieczności przeszukiwania całego nagrania. Koniecznie spisuj też wnioski ze spotkań. Jeśli coś padło w trakcie spotkania, a nie zostało zapisane w notatce, możesz to uznać za zapomniane. Nawet jeśli spotkanie jest nagrywane, zdecydowanie łatwiej jest przeczytać krótką notatkę z wnioskami niż oglądać nagranie, by dokopać się do jednego kluczowego wniosku. Przypominam też, że na dokumencie idzie skorzystać z funkcji wyszukiwania frazy.

Drugim nawykiem, który mogę polecić, jest zaprzyjaźnienie się z kalendarzem. Pozwoli Ci to na zorientowanie się, jak duże masz obłożenie pracą. Oprócz tego masz pewność, że nie umówisz się na kilka spotkań jednocześnie. Kalendarz pozwala też na ustawienie powiadomień i przypomnień, dzięki czemu masz kilka rzeczy mniej do zapamiętania. Osobiście jestem wielkim fanem “przelewania na papier” czego tylko się da. Dzięki temu mogę skupić się i pamiętać rzeczy naprawdę istotne a o wszystkim innym przypomną mi notatki i powiadomienia.

Ktoś mógłby powiedzieć, że nawał powiadomień jest irytujący i przeszkadza w pracy. Na to też mam rozwiązanie, które nazywa się trybem “nie przeszkadzać”. Przez większą część dnia wszystkie moje urządzenia pracują w tym trybie i okresowo go wyłączam w celu sprawdzenia, co się działo w międzyczasie. Wtedy też sprawdzam wszystkie powiadomienia, w tym te z kalendarza. Niemniej jednak, mimo włączonego trybu “nie przeszkadzać” zachęcam do zredukowania otrzymywanych powiadomień tylko do tych niezbędnych. Myślę, że jeśli się dowiesz, że ciocia Krysia polubiła na Facebooku Twoje zdjęcie z wakacji tydzień po fakcie, to nic się nie stanie.

Multitasking

Multitasking lub supertasking opisuje proces pracy nad kilkoma zadaniami jednocześnie. Perspektywa pracy nad kilkoma rzeczami wydaje się kusząca, ale niestety Cię rozczaruję. Pracując nad dwoma zadaniami, których wykonanie wyceniono na godzinę, prawdopodobnie nie skończysz ich w godzinę. Ani w półtora. Ani w dwie. Wynika to z tego, że bardzo mały odsetek ludzi dobrze sobie radzi z pracą nad wieloma zadaniami w tym samym czasie. Badania, do których link znajdziesz na końcu tego wpisu, szacują ten odsetek na 2.5% społeczeństwa. Istnieje małe prawdopodobieństwo, że należysz do tej grupy. Jeśli tak jest, to gratuluję, ale rachunek prawdopodobieństwa w tym przypadku działa na Twoją niekorzyść. Nie zniechęcam do wypróbowania tego podejścia. Być może akurat Tobie ten styl pracy się spodoba lub okażesz się jednym z supertaskerów. W przypadku niepowodzeń zachęcam jednak, by nie próbować supertaskingu na siłę.

Technika Pomodoro

O technice Pomodoro najpewniej już miałeś/aś okazję usłyszeć. Polega ona na pracy w 25-minutowych sesjach i 5-minutowych przerwach pomiędzy sesjami. Czasy sesji oraz przerw można dopasowywać do siebie, ale podane długości są wartościami domyślnymi. Co 4 sesje, przerwa jest nieco dłuższa i powinna trwać 15-30 minut. W trakcie trwania sesji Pomodoro należy pracować tylko i wyłącznie nad postawionym zadaniem. Nie powinno się wtedy odpisywać na maile, wiadomości, czytać newsów czy iść zrobić sobie kawę/herbatę. Tryb „nie przeszkadzać” po raz kolejny okazuje się Twoim przyjacielem.

Sam testowałem Pomodoro w dwóch wariantach – 25-minutowych oraz 45-minutowych sesji. Wartość 45 minut wyznaczyłem na podstawie mierzenia czasu, przez jaki jestem w stanie utrzymać całkowite skupienie na wykonywanym zadaniu. Wartości oscylujące w okolicach 45 minut powtarzały się najczęściej. Taki wariant Pomodoro sprawdzał się u mnie najlepiej. Jeśli korzystasz lub zamierzasz skorzystać z techniki Pomodoro, zachęcam do eksperymentowania z długością trwania sesji i przerw.

Podsumowanie

Mimo że statystyki mówią, że jest to jeden z dłuższych artykułów na moim blogu,  to na ten temat można powiedzieć o wiele więcej.  Jeśli zainteresował Cię temat organizacji pracy i produktywności, to koniecznie sprawdź artykuł o moich sposobach na wysoką produktywność.

Zachęcam Cię do podzielenia się w komentarzu przemyśleniami. Wierzę, że w dziedzinie priorytetyzacji i organizacji pracy jest ogromne pole do rozwinięcia tematu i dalszej dyskusji. Jak zwykle też odsyłam do sekcji materiałów dodatkowych, gdzie zamieściłem masę ciekawych linków.

Materiały dodatkowe

Dominik Szczepaniak

Zawodowo Senior Software Engineer w CKSource. Prywatnie bloger, fan włoskiej kuchni, miłośnik jazdy na rowerze i treningu siłowego.

Inne wpisy, które mogą Cię zainteresować

Zapisz się na mailing i odbierz e-booka

Zapisując się na mój mailing, otrzymasz darmowy egzemplarz e-booka 106 Pytań Rekrutacyjnych Junior JavaScript Developer! Będziesz też otrzymywać wartościowe treści i powiadomienia o nowych wpisach na skrzynkę e-mail.

Subscribe
Powiadom o
guest

3 komentarzy
oceniany
najnowszy najstarszy
Inline Feedbacks
View all comments
Grzegorz
Grzegorz
1 rok temu

Super wpis!

Last edited 1 rok temu by Grzegorz
Michał
Michał
1 rok temu

Tak, wpis bardzo dobry. Tylko nie widzę odpowiedzi na jedno podstawowe pytanie, a dla mnie nie jest w ogóle oczywiste. Po co w ogóle programista ma estymować zadania w dniach roboczych? Czemu to służy?
Rozumiem jeszcze, gdy zespół stara się oszacować zadania w jakiejś mierze biorącej pod uwagę złożoność, niepewność i czas, jak story pointy, które są chyba tylko po to, żeby z grubsza można było przewidywać, w której iteracji zostaną dowiezione elementy backlogu produktu i czy itemy zmieszczą się do sprintu.