[Miesiąc Programowania:] Milion zadań programisty. Jak zarządzać swoim czasem?

Dodane:

Aydin Guven Aydin Guven

Udostępnij:

Zbudowanie wehikułu czasu na wzór DeLoreana brzmi jak świetne rozwiązanie problemu braku czasu, lecz niestety jest zbyt realistyczne. W swoim artykule poruszę więc temat łatwiejszego rozprawienia się z zarządzaniem swoją pracą.

Zawód programisty od kilku lat owiewają liczne legendy, mity i plotki. Wśród nich są tematy zarobków, zakresu zadań, używanych technologii, czasu potrzebnego na przygotowanie do zawodu czy sposobów nauki programowania.

Postanowiliśmy odczarować tę profesję i wspólnie z serwisem Antyweb zorganizowaliśmy akcję „Miesiąc Programowania”. Przez cały miesiąc będziemy publikować wysokiej jakości materiały skierowanie do programistów oraz wszystkich osób, które chciałyby rozpocząć swoją przygodę z programowaniem.

Tu znajdziesz je wszystkie.

fot. unsplash.com

Przedstawię również kilka wskazówek i technik, dzięki którym może pewnego dnia uda Wam się zbudować swój samochód z Powrotu do Przyszłości.

Jest mnóstwo książek, artykułów i filmów (a nawet całych kanałów) na YouTube, które poświęcone są sprawnemu zarządzaniu czasem. Ale ile z nich odnosi się do web developmentu? Jako programista postanowiłem więc spojrzeć na ten temat z naszego punktu widzenia. Zanim jednak porozmawiamy o zarządzaniu czasem, czas przyjrzeć się wielozadaniowości.

Wielozadaniowość

Wielozadaniowość umożliwia szybkie wykonywanie zadań, z racji czego ma oczywiście wielu zwolenników. Prawdopodobnie wielu z nas słucha też muzyki czy podcastów podczas kodowania. Jest to w pełni zrozumiały nawyk. Jednak w ciągu ostatnich kilku miesięcy zacząłem kwestionować ten typ wielozadaniowości.

Komputery i smartfony są oczywiście niezwykle wydajne, z racji czego poniekąd zmuszają nas do podzielności uwagi. Prosty przykład: prawdopodobnie wielokrotnie otrzymaliście wiadomość na Facebooku podczas czytania maila na telefonie. Odpowiedzieliście więc i szybko wróciliście do lektury. Mimo że nie był to ważny mail, przez chwilowe rozproszenie koniecznym było rozpoczęcie czytania od poprzedniego, przeczytanego już akapitu. Chyba powoli domyślacie się, co mam na myśli?

W książce “Multitasking is a myth” Dave Crenshaw sugeruje, że stosując wielozadaniowość ponosi się niewiarygodnie duży koszt. Wszystko dlatego, że ludzki mózg nie może jednocześnie w pełni skupić się na wielu rzeczach. Zamiast tego koncentracja przeskakuje pomiędzy obiektami z niewiarygodną prędkością. A to oczywiście wiąże się z dodatkowymi kosztami – kosztem utraty skupienia i zmarnowanymi mikro-przerwami, w czasie których mózg nie był ukierunkowany na konkretne zadanie.

 źródło: youtube.com / The Ed Sullivan Show

Oczywiście wiem, że możemy szybko przełączać uwagę między różnymi tematami. Ale prawda jest taka, że nie jesteśmy żonglerami – jesteśmy po prostu programistami, którzy próbują zachowywać się jak żonglerzy. Badanie przeprowadzone przez University of London sugeruje, że wielozadaniowość obniża poziom IQ o 15 punktów. To daje IQ 8-letniego dziecka, co jest całkiem kiepską sytuacją jeśli pracujecie nad skomplikowanymi projektami. Ten spadek IQ jest niczym innym jak stanem rozproszonej uwagi.

Trzy rodzaje rozproszonej uwagi

Rozproszenie uwagi to nic innego jak brak skupienia się na odpowiednim obszarze i blokowanie/minimalizowanie odbioru pożądanych informacji. Według Alexa Panga rozproszenie nie jest jednak jednorodną sytuacją. Pierwszy rodzaj rozproszenia nazywa on „porwaniem” (hijacked). Nasza uwaga podczas jazdy samochodem może zostać przejęta przez błyszczący przedmiot, a powiadomienia Twittera mogą zmienić to, na czym się skupiamy podczas korzystania z telefonu. W tym przypadku nadal jesteśmy skupieni, ale na niewłaściwej rzeczy. Oznacza to więc, że tracimy kontrolę nad własną uwagą.

Innym rodzajem rozproszenia jest „bezcelowość” (aimless). Jak sama nazwa wskazuje, zamiast zwracać uwagę na obiekt, nasza uwaga jest przypadkowa. W tej sytuacji mamy więc tak zwany “małpi rozum”. Przez ten typ rozproszenia klikamy bezmyślnie na różnorodne artykuły, gdy chcemy przeczytać konkretny tekst o interesującej nas technologii. Nie jesteśmy skoncentrowani i ponownie nie mamy kontroli nad swoim skupieniem.

Oprócz tych dwóch typów rozproszenia, Alex Pang podaje także trzeci, który nazwał „wędrowanie umysłu” (mind wandering). W tym „wędrującym” stanie mózg nie musi się skupiać i możemy spokojnie pozwolić naszym myślom na dryfowanie. Podczas zmywania naczyń czy podziwiania zachodu słońca możemy więc spokojnie rozmyślać nad ostatnimi wakacjami. Uwaga i koncentracja nie są więc w takich sytuacjach potrzebne.

Tak naprawdę jest to dość przykre, że w dzisiejszych czasach zmuszeni jesteśmy przez nasze komputery do wielozadaniowości. Stajemy się więc bardziej rozproszeni i obniża się nasza wydajność. Zdaję sobie sprawę oczywiście, że niektórzy mogą twierdzić, że nie wpływają one na ich produktywność. Może to prawda. Ale co z zadaniami twórczymi lub programowaniem? Wymagają one przecież dużej dozy kreatywności i myślenia nad tym, co się robi. Trudno jest założyć, że świetne produkty są produktem wielozadaniowości, a nie niepodzielnej uwagi.

Wystarczająco dużo powiedziałem już na temat temat tego, co wpływa na nasza koncentrację. Na końcu tego artykułu znajdziecie jeszcze kilka wskazówek i technik dotyczących wydajności, ale teraz porozmawiajmy o zarządzaniu czasem.

Zarządzanie czasem

Żyjemy w świecie, w którym efektywność jest promowana i chwalona, co nie zmieni się zbyt szybko. Dlatego ważne jest, aby znać przynajmniej podstawy zarządzania czasem. Zacznijmy od najpopularniejszej techniki – Pomodoro.

Pomodoro

Nazwę może mieć trochę warzywną, lecz technika ta znana jest wśród programistów jako łatwa do wprowadzenia w życie. Poniższa grafika świetnie obrazuje to, na czym opiera się Pomodoro: 

źródło: medium.com

Jak widać, metoda jest niezwykle prosta. 25-minutowe sesje to pomodoro, pomiędzy którymi robimy 5-minutową przerwę. Po ukończeniu czterech sesji mamy czas na dłuższy odpoczynek i naładowanie baterii.

Technika Pomodoro została stworzona przez Francesco Cirillo (wówczas studenta) w latach 80. XX wieku. „Pomodoro” w języku włoskim oznacza pomidor. Ta dość osobliwa nazwa pochodzi od minutnika kuchennego w kształcie pomidora, którego Cirillo używał do śledzenia postępów w pracy.

Ale dlaczego programiści powinni wprowadzić Pomodoro w swojej pracy? Co sprawia, że metoda ta się sprawdza w web developmencie? W końcu może wydawać się, że wielokrotne przerwy w pracy nie polepszą naszych wyników. Badania wskazują jednak, że częste przerwy mogą w rzeczywistości uniemożliwić wyczerpanie zasobów naszej uwagi. Ponadto mogą one stworzyć poczucie potrzeby skupienia się tylko na zadaniu podczas sesji pomodoro, co prawdopodobnie zwiększa naszą wydajność. 

Dodatkowym atutem Pomodoro jest także to, że niweluje ono konieczność śledzenia czasu pracy. Osobiście używam i polecam (jeśli masz Androida) czasomierz Goodtime, który jest niesamowicie przydatny w pracy i pomógł mi w skupić się na zadaniach.

Pomodoro nie jest oczywiście jedynym sposobem na zwiększenie produktywności programisty. Inną metodą, która jest odpowiednia dla osób z wieloma zadaniami do wykonania, jest technika „parzystych i nieparzystych godzin”. Jest to kolejne pomocne narzędzie do zarządzania czasem dla osób, których terminy realizacji zbliżają się nie tylko w zadaniach ważnych, lecz także tych o mniejszym priorytecie.

Technika Parzystych i Nieparzystych godzin (Even or Odd hours)

Technika ta nie jest tak znana jak Pomodoro, ale z pewnością może pomóc w uporządkowaniu czasu i zadań. Jego założenie opiera się na podzieleniu dnia roboczego na etapy. Zakładając więc, że pracujemy osiem godzin dziennie, dzielimy pracę na osiem części, z których każda reprezentuje godzinę. Gdy zegarek pokazuje parzystą godzinę (np. 8:00, 10:00, 12:00, 14:00), pracujemy nad zadaniami, które według nas są najpilniejsze. W przypadku nieparzystych godzin (9:00, 11:00, 13:00, 15:00), nadszedł czas, aby popracować nad wszystkimi zadaniami mniej ważnymi lub czekającymi na ukończenie.

Początkowo technika ta może wydawać się niepotrzebnie skomplikowana, ale najważniejsze jest to, abyśmy byli skoncentrowani na pilnym lub ważnym zadaniu przez określony czas. Co więcej, można ją połączyć z Pomodoro!

Metoda GTD (Getting Things Done)

GTD, opisana przez konsultanta ds. Wydajności Davida Allena w książce „Sztuka efektywności. Skuteczna realizacja zadań”, opiera się na idei rejestrowania zaplanowanych zadań w taki sposób, by nie musieć martwić się o ich pamiętaniu.

Po rozpisaniu zadań dzielimy je na mniejsze, z którymi łatwiej (i szybciej) przyjdzie nam się zmierzyć. To pozwala odciążyć mózg od przechowywania szczegółów każdego zadania, którym musimy się zająć w danym (lub następnym) tygodniu. Zamiast tego skupiamy się więc na obowiązkach, które musimy wykonać w danej chwili.

GTD z założenia jest metodą redukcji stresu. D. Allen twierdzi, że zamieszczanie przypomnień o wszystkich nadchodzących zadaniach w niezawodnym systemie, który nie jest naszym mózgiem, może zmniejszyć stres, a tym samym zwiększyć produktywność. Jest to ściśle związane ze zmniejszeniem ilości niedokończonych spraw, które przechowujemy. Poprzez umieszczenie ich w systemie zewnętrznym zmniejszamy więc obciążenie w naszym mózgu.

Praca w systemie GTD jest dość prosta do zarządzania. Po pierwsze, musimy zebrać zadania do „skrzynki odbiorczej”, takie jak na przykład dyspozycja od szefa lub nakarmienie kota. Najważniejsze jest to, że stworzona lista obowiązków musi zawierać każdą możliwą rzecz, którą prędzej czy później musimy się zająć. Po wprowadzeniu GTD w życie przygotowywania takiej listy powinno zająć około godziny. Nie powinniśmy się obawiać tego, że początkowo zajmie nam to dużo czasu – w końcu spędzamy go na opróżnieniu mózgu i pozwoleniu mu na skupieniu się na pracy.

Po zapisaniu zadań musimy je przetworzyć. By to zrobić, musimy być w stanie odpowiedzieć na pytanie „Czy jest to możliwe do wykonania?”. Jeśli odpowiedź brzmi NIE, w zależności od potrzeb powinniśmy odrzucić dane zadanie, zachować jako odniesienie, lub zachować je na później. Przy ostatniej opcji koniecznym oczywiście jest umieszczenie zadania w kalendarzu, by móc do niego wrócić w bardziej odpowiednim dla nas momencie.

Jeśli zadanie jest możliwe do wykonania, postępujemy zgodnie ze schematem blokowym. Po prostu zadajemy sobie pytanie „Jaka jest następna czynność w tym zadaniu?”. Odpowiedź musi być widoczną akcją, czyli zamiast stwierdzenia “Zrób coś ze swoimi włosami” musimy zapisać „Idź do fryzjera”. Wybierając rzeczywisty następny krok, przekształcamy naszą listę działań w fizyczny i namacalny plan, dzięki czemu możemy być o krok bliżej ukończenia całego zadania. Myślę, że jest to najmocniejszy punkt Techniki GTD, gdyż daje nam ona listę możliwych do wykonania działań.

Ale to jeszcze nie wszystko! Po zdefiniowaniu kolejnych kroków musimy zadać sobie pytanie, czy zadanie, które zamierzamy wykonać, zajmuje mniej niż 2 minuty. W takim przypadku musimy zająć się nim od razu. Jeśli wymaga ono więcej czasu, możemy je oddelegować lub dodać do listy „następnych działań”, która będzie przechowywać wszystko, co musimy zrobić w najbliższej wolnej chwili. Jeśli delegujemy obowiązki lub czekamy na coś, bez czego nie możemy kontynuować pracy, musimy odnotować to na liście „oczekujących zadań”.

Aby lepiej zarządzać listą „kolejnych działań”, GTD wprowadza oznaczanie zadań zgodnie z ich kontekstem, w zależności od środowiska lub sprzętu, jakie są wymagane (np. dom, praca lub projekt dla klienta A). Możliwe jest także utworzenie wielu list „kolejnych działań” na podstawie tych czynników.

Jeśli zdamy sobie sprawę, że niektóre zadania na liście „kolejnych działań” są zbyt długie i nie możemy znaleźć czasu ani motywacji, aby je wykonać, powinny zostać one przeniesione na listę „może/pewnego dnia”. „Lista będzie jasna i aktualna – książka Davida Allena zdecydowanie sugeruje ich cotygodniowe przeglądy. W końcu nie jesteśmy maszynami, a po pewnym czasie niektóre informacje mogą nam umknąć. Dlatego właśnie ważne jest, aby stale rewidować swoją pracę.

Cotygodniowy rekonesans musi trwać około 30 minut i opierać się na sprawdzeniu, czy wszystko, co powinno, znajduje się na odpowiednich listach. Upewniamy się więc, że każde zadanie na liście „kolejnych działań” jest czymś, co chcemy/musimy zrobić i na co będziemy mieć czas w nadchodzącym tygodniu. Jeśli to konieczne, dany obowiązek przenosimy na inne listy lub całkowicie usuwamy z systemu. Jak wspominałem wcześniej, koniecznie musimy zrewidować też listę „może/pewnego dnia” i sprawdzić, czy rozpisane tam zadania nie wymagają przeniesienia.

Technika GTD jest znacznie bardziej wyrafinowana niż wcześniej wymienione metody, z racji czego może wymagać głębszego zapoznania się lub wyjaśnienia. Polecam lekturę książki Allena lub poszukiwanie źródeł internetowych, które wyjaśnią ją w bardziej szczegółowy sposób. Ale gdy zaczniesz używać GTD, będziesz śledzić swoje zadania i organizować swoje życie lepiej niż kiedykolwiek.

Zanim omówię kwestię organizacji pracy, pozwolę sobie na chwilę szczerości. Wiem, że wszystkie te metody są łatwe na papierze. Ale nie możemy zapomnieć, że jesteśmy tylko ludźmi i czasami zwyczajnie brakuje nam motywacji. Możemy być leniwi lub ulec “syndromowi poniedziałku”. Wszystko to jest zrozumiałe, ale z niewielką motywacją damy radę zrobić więcej, niż nam się wydaje. Istnieje kilka technik, które mogą mieć pozytywny wpływ na naszą pracę. Zacznijmy od tablic Kanban.

Tablice Kanban

Większość z nas zna już tablice Kanban wykorzystywane w Jirze. Są one czystym sposobem na zarządzanie pracą i naprawdę świetną funkcjonalnością. Ale Kanban to nie tylko wymyślne imię, to także bardzo stara tradycja.

W językach japońskim i chińskim kanban to nic innego jak billboard/tablica. Kanban zostało odkryte w fabryce Toyoty i służyło do zarządzania czasem. Metoda ta zakłada zapisanie wszystkich zadań (być może na kolorowych samoprzylepnych karteczkach) i umieszczenie ich na planszy podzielonej na kilka kategorii w zależności od statusu zadania. Ogranicza ona także możliwość posiadania niezliczonej liczby zadań w sekcji „w toku”.

Przydatność metody Kanban wynika z jasnego przedstawiania wszystkich zadań, które czekają na wykonanie, są w toku lub zostały już zakończone. Ponadto, obecnie korzystamy z dodatkowych statusów w celu lepszego zarządzania i śledzenia postępów. Kanban ogranicza również liczbę zadań, które często są zmorą programistów. Oznacza to więc, że przy korzystaniu z tablic kanban mogą oni skoncentrować się na konkretnym zadaniu, a nie na dzieleniu uwagi między kilka obowiązków.

Kolejnym aspektem, który może być łatwo przeoczone, jest kwestia satysfakcji. Jak już wspomniałem, Kanban wizualizuje nasze zadania, co oznacza, że w pewien sposób przybierają one fizyczną formę. Stają się więc bytami, które nasz mózg może odczytywać w prostszy, prymitywniejszy sposób. Gdy je zakończymy, zostaną przeniesione do sekcji „Wykonane”. A ponieważ jest to realne działanie, daje ono więcej satysfakcji niż inne niefizyczne osiągnięcia. Po prostu gramy w gierki z naszymi umysłami!

Ponieważ wszystkie emocje są reakcją chemiczną, nasza satysfakcja i szczęście oznaczają to samo dla mózgu. Osiągnięcia fizyczne prowadzą do produkcji dopaminy, a następnie serotoniny, która jest wysoce powiązana z naszym szczęściem. Prowadzi do szczęścia, a szczęście pomaga pozostać zmotywowanym. Dzięki metodzie Kanban możemy więc sprawić, że zwiększy się nasze zadowolenie z pracy! 😉

Ostatnią metodą, o której chcę mówić, jest znana wielu macierz Eisenhowera. 

Macierz Eisenhowera

Nazwa tej metody pochodzi od prezydenta USA Dwighta D. Eisenhowera, który przez swoją prezydenturą pełnił funkcję generała. Po drugiej wojnie światowej służył także jako pierwszy naczelny dowódca NATO. Możemy więc być pewni, że z takim doświadczeniem znał on kilka sztuczek na sprytne zarządzanie pracą!

Eisenhowerowi nie były obce zadania trudne do rozwiązania, co doprowadziło go do wymyślenia macierzy pomagającej przy podejmowaniu decyzji. Zakłada ona, że zadania należy podzielić na cztery kategorie o różnych priorytetach.

Głównym celem było zwrócenie szczególnej uwagi na zadania z najwyższym priorytetem – są jednocześnie ważne i pilne. Do drugiej kategorii przypisane są zaś zadania, które mogą zostać wykonane w późniejszym czasie. Zadania te są również ważne, ale nie tak pilne. Następną grupą zadań są te, które są pilne, lecz mogą zostać oddelegowane (czyli nie są aż tak ważne). Na samym końcu zostają więc rzeczy niepriorytetowe – nie są ona ani ważne, aż pilne.

Macierz ta pozwoliła Eisenhowerowi na znalezienie czasu na efektywne wykonywanie swoich zadań. Brzmi jak całkiem wykonalna metoda, prawda? Okazuje się, że większość z nas przestrzega zasad Eisenhowera bez zdania sobie z tego sprawy. Przykładowo, kupowanie chleba może być dla ciebie ważne, ale nie jest niezwykle pilne, więc może być odłożone na bardziej dogodny czas. Możemy być także elastyczni przy umawianiu daty następnej wizyty u dentysty, w końcu nasze zęby nie wypadają następnego dnia i możemy wybrać termin najlepiej dopasowane do naszych potrzeb i zadań.

Jaką metodę wybrać?

Pamiętajmy, że nie ma metody, która byłaby doskonała i powinna być używana przez każdego. Sami sobie jesteśmy menedżerami i wszystkie decyzje dotyczące zarządzania czasem zależą od nas samych. Musimy też pamiętać, że nikt nie jest doskonały i zdecydowanie nie jesteśmy jak precyzyjne maszyny. Ale możemy pracować nad sobą, dbać o dokładne planowanie pracy i zwiększenie wydajności. Mam nadzieję, że mój artykuł Ci w tym pomoże! A może korzystałeś już z tych metod? Jeśli tak, daj mi znać!

 —

Aydin Guven

Programista PHP w Merixstudio

Entuzjasta rozwoju i technologii, który stale poszukuje nowych wyzwań. Poza doskonaleniem swojej znajomości PHP robi zdjęcia, tworzy muzykę, piecze pizzę i, gdy znajdzie czas, pisze artykuły na firmowego bloga.