Jak Efektywnie ściągać taski – Mini poradnik (nie tylko) dla testerów.

by Jan Szpakowski

Sytuacja jest następująca – najbliższe wydanie już za tydzień, a ty toniesz w morzu tasków na JIRZE. Doskonale wiesz, że musisz dać z siebie wszystko, żeby zapobiec ewentualnej lawinie bugów zgłoszonych przez klienta. Jak sobie poradzić w tym trudnym okresie i jak wrócić z teoretycznie przegranej bitwy z tarczą? Poniżej przygotowałem kilka małych podpowiedzi, dzięki którym być może zostaniesz Niesamowitym Rycerzem JIRY, Arcykozakiem Release’ów albo… zrobisz ciut więcej tasków niż zwykle. 

1.Nie bądź więźniem technologicznego dobrobytu!

Ach te wysycone RAM-em komputery, połączone monitory, światłowody –  nic tylko przy nich pracować!  Jakże one pięknie umożliwiają nam multitasking – trochę tego, ciut tamtego, a w międzyczasie jeszcze to. Ale zaraz? Co to było to pierwsze? Muszę przeczytać jeszcze raz. Umówmy się – każdy z nas od czasu do czasu ma problem z ilością zakładek w przeglądarce (niektórzy śmigają równocześnie na kilku przeglądarkach). Kłopot polega na tym, że jeśli otworzymy sobie więcej tasków, to wcale nie znaczy, że więcej z nich zamkniemy. Jest raczej odwrotnie – gdy nazwy nowych kart zostaną skrócone – pogubimy się w nich prędzej czy później (a jeszcze przecież poczta, kalendarz, Youtube, Facebook, wykop, reddit i jakiś serwis z newsami ze świata). I tym sposobem kolejne minuty naszej koncentracji, która jest przecież ograniczona, marnowane są na poszukiwania w naszych zakładkach zadania idealnego. Być może krótkiego, żeby zdążyć je sprawdzić przed spotkaniem, albo dotyczącego naszej ulubionej części aplikacji, albo takiego niewymagającego, w stylu „jeden screenshot i kawka”. I tak czytamy po kilka razy taski, które jak wisiały na boardzie, tak wiszą. A chyba trochę nam się śpieszy? PM już puka do drzwi i pyta się jak stoimy z wersją. Zamiast podróżować po wszystkich zakładkach proponuję wypróbować taktykę jednej zakładki, której nie zamykamy, dopóki nie osiągniemy czegoś sensownego. Najlepiej jeśli uda się zamknąć zadanie, a gdy z jakiegoś powodu jest to niemożliwe – zapisujemy sobie to, czego nam brakuje do zakończenia sprawy wraz z numerem taska – (tworzymy sobie listę rzeczy niedokończonych, których kolejność rozwikłania jest uzależniona od wagi sprawy). Pracę najsensowniej rozpocząć jest od najwyższych priorytetów i konsekwentnie schodzić niżej. To takie proste a zarazem takie trudne, ale mówiąc szczerze nic tak nie zwiększyło mojej wydajności w pracy jak taktyka jednej zakładki. Nie skacz po taskach – zajmij się jednym raz, a dobrze!

2.Pisz sam do siebie!

Sposobem, który pozwala na zaoszczędzenie sporej ilości czasu na początku zmiany jest zostawienie sobie karteczki sporządzonej pod koniec dnia poprzedniego. Ile razy mieliście już tak, że w poniedziałek rano nie pamiętaliście absolutnie nic, co działo się w piątek? Weekend potrafi wymazać nam sporą część pamięci (co często bywa zbawienne). Czy ja nie miałem zgłosić jakiegoś buga? Miałem chyba komuś odpisać, ale komu? Każdy zaczynał dzień od podobnych dylematów. Wyżej wspomniana karteczka potrafi zaoszczędzić naprawdę sporo czasu w ponownym wejściu w jakiś temat. Więc na 5 minut przed wyjściem z pracy chwyć długopis i napisz sam do siebie!

3. 2 minuty = 45 minut.

Nie odrywaj się od wykonywanego właśnie zadania, nawet na 2 minuty. Rób przerwę dopiero po zakończeniu jakiegoś konkretnego, nawet najmniejszego etapu. Hmm… loader wisi już 3 sekundy i nie masz co ze sobą zrobić? Nie sięgaj po komórkę, ani nie zmieniaj zakładki! Ale tylko maila sprawdzę… Nie! Uważaj! To wcią… Za późno. Właśnie w taki sposób każdego dnia jesteśmy pochłaniani przez nieznany wir czasoprzestrzenny, który wypluwa nas po 45 minutach bez żadnych sensownych wniosków. Dryfujemy tak od linku do linku, od zdjęcia do zdjęcia, czasem śmiejąc się z dobrego mema, czasem beznamiętnie przewijając setki średnich. Tak spędzony czas nie daje nam absolutnie nic. Praca stoi w miejscu a i ciężko to nazwać odpoczynkiem. Po takiej sesji wracamy do zadania przerwanego w samym środku, które i tak musimy zacząć od nowa. Zamiast tego polecam dokończyć zadanie, wstać i porozmawiać z kimś kogo lubimy. Jeśli nie możesz już wytrzymać gapiąc się w monitor to popraw humor nie tylko sobie i zintegruj się z ekipą. Dobre morale i przyjemne kontakty w zespole wpływają na efektywność pracy i ogólną radość z życia.

4. Myśl jak pracować!

Czy zdarzyło wam się testować bezmyślnie? Mi tak, wiele razy. I wcale nie chodzi mi o odtwórcze przeklikiwanie się przez przypadki testowe lub powtarzane milionowy raz smoke testy. Często nasza ręka prowadzi myszkę bardzo dziwnymi ścieżkami podczas testowania nowego feature’a. Wynika to z braku zastanowienia się nad tym, jak powinien wyglądać proces naszego testowania. Brakuje nam cierpliwości do przebrnięcia przez zawiłą dokumentację i refleksji nad potencjalnymi kluczowymi miejscami, w których mogą czyhać bugi. Wychodzimy z założenia, że jak po prostu zaczniemy klikać to coś powychodzi, i zwykle wychodzi, ale nie wszystko. Zanim wpadniemy w szał klikania po byleczym warto oderwać wzrok od monitora i ułożyć sobie w głowie plan (jeśli nie wpadniemy na żaden, to znak, że powinniśmy wrócić do dokumentacji, jeśli istnieje. To samo tyczy się wpadania w szał kodowania i etapu fascynacji pierwszą „Eureką”.

Bardzo łatwo dostrzegamy wartość planing’ów, grooming’ów, czy retrospekcji wewnątrz zespołu, zupełnie nie zwracając przy tym uwagi na ułożenie sobie indywidualnej pracy. Czas poświęcony na taką strukturyzację bardzo szybko się zwróci, gdyż działając z pełną świadomością szybciej docieramy do oczekiwanych rezultatów. Warto też od czasu do czasu zatrzymać się i zadać sobie pytanie – Czy to już na pewno wszystko, czy może coś przegapiłem? Zadanie tego pytania w odpowiednim czasie pozwoli nam się uchronić przed pytaniem, które pada zwykle, gdy jest za późno – Dlaczego o tym nie pomyślałem?!

5. Najpierw logika, potem perfekcjonizm.

Wielu testerów z dumą zgłasza najdrobniejsze błędy i chwała im za to, pod warunkiem, że robią to gdy jest na to czas. Uwaga, poniżej scenka ilustrująca istotę problemu.

No właśnie – „First things first” jak to uczą nas na lekcjach angielskiego. Można dbać o najdrobniejsze nawet detale aplikacji pod warunkiem, że starczy nam czasu na przetestowanie stabilności systemu i jego kluczowych funkcji. Cóż nam po świetnie działającym color pickerze, gdy zapisanie projektu rzuca nam pięćsetę. Jeśli czas nagli, a release coraz bliżej, należy dokonać logicznego wyboru odnośnie szczegółowości naszego testowania. Klient zrozumie jeśli odnajdzie niedoskonałość w  bardzo specyficznych warunkach, ale znienawidzi aplikację, jeśli nie będzie w stanie obsłużyć podstawowych funkcjonalności.

6. Nie lekceważ potęgi deadline’ów (nawet jeśli są baaardzo odległe)!

Pamiętaj o tym, żeby dawać z siebie 100%  nawet jeśli do wydania jeszcze daleko (no dobra możemy się umówić na 90% – tylko niech to będzie nasza tajemnica). Bardzo kuszące jest stwierdzenie, że jak będzie bliżej końca to podkręcę śrubkę i dam radę, a teraz trochę sobie odpuszczę. Niestety jeśli prześpi się pewien etap czasem bardzo ciężko jest wszystko nadrobić w ostatnim tygodniu. Od razu na myśl przychodzą mi egzaminy do których zaczynałem się uczyć dopiero gdy miałem już nóż na gardle. Bardzo często powtarzałem sobie – „Gdybym miał jeszcze jeden dzień to bym się wyrobił”. Czasem ten jeden dzień to właśnie ten, który był daaawno temu, kiedy to jeszcze termin wydawał się tak pięknie odległy, a ty cieszyłeś się życiem jakby jutro nie miało nadejść. Jutro zazwyczaj nadchodzi szybciej niż nam się wydaje. Im mniej czasu do wydania tym bardziej rośnie motywacja do pracy/zaciska się pętlana szyi* nie tylko testerom ale również, a może przede wszystkim programistom. Zatem im bliżej wydania tym naturalnie nowe taski przychodzą w szybszym tempie. Dlatego pamiętaj, nie rób sobie długu testerskiego już na samym początku i oczywiście – Nie lekceważ potęgi deadline’ów!

*niepotrzebne skreślić


Artur, Software Tester

Zadowodwo: Analityczny, skupiony na celu tester, który uważa że komunikacja jest równie ważna, co zgłaszanie bugów. Prywatnie: Niepoprawny optymista, fan Monty Python’a, NBA, Jacka White’a oraz improwizacji.