Houston – mamy błąd w danych!

by Sandra Wyzujak

W idealnym świecie artykuł ten by nie powstał. Niestety nawet i nam błędy się zdarzają, dlatego warto wiedzieć jak ich unikać, jak zareagować, gdy się pojawią i co zrobić by nie pojawiały się w przyszłości.

W naszej pracy zdarzają się dwa typy błędów: błędy w oryginalnych danych dostarczanych przez agencje i błędy popełnione przez nas w trakcie walidacji i przygotowania danych. W pierwszym przypadku mamy ograniczone pole działania. Nie mamy dostępu do źródłowych danych, więc bazować możemy jedynie na informacjach dostarczanych nam przez klientów lub historycznych danych. Nie jesteśmy w stanie wykryć źle zakodowanej odpowiedzi, ale niespójne słowniki czy źle przypisana segmentacja klienta już się przed nami nie ukryją. Dzięki naszym wewnętrznym narzędziom do walidacji, które są ulepszane od lat, jesteśmy w stanie coraz sprawniej kontrolować spójność dostarczanych nam danych.

Rzeczą, która wywołuje u nas ciarki i nie pozwala czasem spać są błędy które popełnimy przy przygotowaniu danych. Przygotowanie danych jest w naszym przypadku złożonym procesem. Im więcej etapów i zmian musimy wprowadzić, tym większe prawdopodobieństwo popełnienia błędu. Najważniejsze jest jednak by błąd wychwycić wewnętrznie zanim dane wyślemy do klienta. Pytanie tylko jak to zrobić? Przyznam, że nie mamy idealnego rozwiązania, cały czas się rozwijamy i staramy ulepszać nasze procesy, ale mamy kilka sposobów na minimalizowanie wpadek.

Checklista – nasz najlepszy przyjaciel. Dobrze skonstruowana checklista jest w stanie wiele zdziałać, musimy być jednak świadomi, że najczęściej nie uda nam się od razu stworzyć idealnej listy kontrolnej. Im bardziej złożony i wieloetapowy proces, tym więcej czasu zajmie nam ulepszanie listy i dodawanie do niej nowych kroków. Musimy jednak pamiętać, żeby nie popadać ze skrajności w skrajność. Nadmiernie skomplikowana i przydługa lista może zniechęcać i po jakimś czasie nie będzie używana lub punkty na niej zawarte będą machinalnie odhaczane – a przecież nie o to nam chodzi.

Wiedza / Perspektywa – warto zadbać o to, by każdy wiedział co robi, po co to robi i w jaki sposób zostanie to użyte. Bardzo wiele może nam umknąć, gdy wykonujemy zadanie automatycznie bez merytorycznego tła. Po pierwsze gorzej nam się pracuje, gdy nie wiemy po co coś robimy. Po drugie im lepiej znamy się na wykonywanym zadaniu, znamy zależności pomiędzy kolejnymi etapami i w naszym przypadku znamy system, który zaopatrujemy w dane, tym łatwiej i szybciej przewidzimy konsekwencje naszych działań i potencjalne błędy. Niestety przekazywanie wiedzy pochłania trochę czasu, dlatego warto zadbać o to, by jeśli się da zrobić to zawczasu. Jeżeli zabierzemy się za to w ostatniej chwili, kiedy ziemia pali nam się pod stopami może być już za późno. W takich chwilach może nas także uratować dokumentacja – jeśli oczywiście znaleźliśmy czas i chęci, żeby wcześniej ją napisać.

Automatyzacja – czyli lukier na naszym analitycznym pączku. Jest zwykle postrzegana przez pryzmat przyspieszania pracy i oszczędności czasu. Ale nie mniej ważną zaletą automatyzacji jest redukcja pracy manualnej, a co za tym idzie redukcja ryzyka popełnienia błędu. Nie będę się o tym rozpisywać, bo to temat na osobny artykuł, ale jeśli jest możliwość zautomatyzowana jakiegoś kroku i mamy zasoby, żeby to zrobić, to z pewnością warto.

Manualne zmiany – najsłabszy i najbardziej narażony na błędy element naszej pracy. Nikt tego nie lubi, ale czasem nie ma wyjścia. W tym przypadku można banalnie stwierdzić, że „trzeba uważać”. Ale co jeszcze można zrobić? Zależy od ilości i rodzaju zmian. Czasem można po prostu poprosić drugą osobę, żeby sprawdziła czy to co zrobiliśmy jest poprawne. Jeśli nie mamy takiej możliwości, to możemy sami sprawdzić własną pracę – wtedy najlepiej przed sprawdzeniem zrobić sobie krótką przerwę (możemy odejść od komputera lub zająć się innym zadaniem). Przy większej ilości zmian warto pomyśleć czy nie da się sprawdzić efektów naszej pracy automatycznie – chociażby przy pomocy formuł w Excelu.

Weryfikacja – etap sprawdzenia danych jest bardzo istotny. To często ostatni moment, żeby wychwycić ewentualny błąd zanim ujrzy on światło dzienne. Niestety przy dużej ilości danych nie jesteśmy w stanie sprawdzić każdej liczby. W takim przypadku musimy wybrać obszary, które zamierzamy sprawdzić np. najważniejsze KPI prezentowane przez klienta czy zmienne najbardziej narażone na błędy. W tym wypadku również wielkim sprzymierzeńcem jest automatyzacja i testy automatyczne.

Mleko się wylało! – czyli co, jeśli nie wykryliśmy błędu przed wysłaniem danych w świat?

Wszystko zależy od rodzaju błędu. Mniejszym problemem jest brak danych – czyli po prostu coś miało się pokazać a się nie pokazuje – tutaj rozwiązanie jest dość proste, musimy brakujące dane dodać.

Dużo większym problemem jest, jeśli pokazujemy błędne dane – w tym wypadku bardzo ważny jest czas. Mamy dwie opcje to wyboru: podmieniamy dane na prawidłowe lub chwilowo blokujemy dane, a później podmienimy je na prawidłowe – wybieramy opcję, którą jesteśmy w stanie wdrożyć jak najszybciej. W przypadku, kiedy do systemu mają dostęp tysiące użytkowników kluczowa jest szybka reakcja. Im dłużej dane są pokazywane w systemie, tym większe ryzyko, że ktoś na ich bazie wygeneruje raport czy analizę.

Gdy pożar jest już ugaszony pozostaje czas na analizę sytuacji. Nie chodzi tutaj o szukanie winnego i wytykanie się nawzajem palcami. Jednak bardzo ważne jest ustalenie: co się stało, dlaczego i najważniejsze, czy można było tego uniknąć. Może okazać się np. że checklista była niepełna i powinniśmy ją uaktualnić. Być może osoba wykonująca zadanie nie miała na jego temat pełnej wiedzy – jeśli zadanie jest powtarzalne i najprawdopodobniej ta sama osoba będzie wykonywała je w przyszłości warto ją przeszkolić.  W ramach powtórki szkolona osoba może uzupełnić brakującą dokumentację – takie rozwiązanie ma dwa plusy, po pierwsze nadrabiamy braki w dokumentacji, po drugie czytając to co zostało napisane możemy sprawdzić na ile efektywnie i dokładnie przekazaliśmy wiedzę. Dzięki temu, jeśli w przyszłości wykonywane będzie takie samo lub podobne zadanie będziemy już mieli przeszkoloną osobę lub dokumentację, z której może skorzystać ktoś, kto nigdy nie wykonywał podobnej pracy. Błąd mógł też powstać, ponieważ nie wykonano odpowiednich sprawdzeń – możliwe, że źle wytypowaliśmy obszary, które powinniśmy sprawdzić i należy zrewidować listę. I niekoniecznie musi to oznaczać dodanie nowych rzeczy do sprawdzenia – może właśnie zbyt rozbudowana lista sprawiła, że ktoś przeoczył jeden punkt lub zwyczajnie nie zdążył sprawdzić wszystkiego. Najważniejsze w całym procesie szukania przyczyny jest to, by nie zamienił się on w szukanie winnego, przerzucanie się odpowiedzialnością i wzajemne wytykanie sobie niedociągnięć. Musimy potraktować ten temat na chłodno, zamienić się na chwilę w zewnętrznych audytorów i skontrolować proces. Jeśli nie ustalimy przyczyny błędu, to nie znajdziemy rozwiązania, a jeśli nie znajdziemy rozwiązania to błąd będzie się najprawdopodobniej pojawiał w przyszłości.

Co na to klient?

Zakładam, że nie chodzi tutaj o sytuację, w której co tydzień ktoś wystawia klientowi błędne dane, a raczej o sporadyczne przypadki. Najlepiej w tej kwestii współpracować z klientem i być z nim szczerym. Jeśli faktycznie błędne dane pojawiły się w systemie możliwe, że będzie on też chciał podjąć jakieś kroki po swojej stronie – np. rozesłać do osób, które korzystały z systemu ostrzegającego maila. Ważne jest by zrozumieć klienta. Z jego perspektywy jest to niepokojąca sytuacja, szczególnie jeśli nie jest dla niego jasne w jaki sposób pracujemy, jakie mamy praktyki i procesy. Skąd może wiedzieć, że w przyszłości taki błąd się nie pojawi? Tutaj pomocna okazuje się retrospekcja – gdy jesteśmy w stanie wyjaśnić klientowi, dlaczego błąd się pojawił, a dodatkowo wskażemy, że wdrażamy lub planujemy wdrożyć procesy, które zminimalizują pojawianie się takiego błędu w przyszłości, jesteśmy w stanie w jakimś stopniu odzyskać nadszarpnięte zaufanie klienta. Oczywiście wszystko zależy od tego jaki kontakt mamy z poszczególnymi klientami, ale warto pamiętać, że w tym przypadku nasz cel jest wspólny – brak błędów w raportowanych danych. Dlatego czasem warto podzielić się z klientem problemami jakie napotykamy podczas przygotowania danych, może okazać się, że są nam w stanie jakoś pomóc – np. wysłać dodatkowe materiały lub wprowadzić drobne modyfikacje w plikach, które nam przesyłają, tak aby łatwiej było je czytać czy poddać procesowi automatyzacji.

Z pewnością nikt z nas nie lubi, kiedy okazuje się, że popełniliśmy błąd. Pamiętajmy jednak, że to nie koniec świata (chyba, że upuściliście lody, po które staliście 30 min w kolejce…). Warto wtedy pamiętać, że jest to okazja, aby naprawić usterki w procesie, wprowadzić ulepszenia i najważniejsze, że błędy zdarzają się przecież każdemu.

Anna, Technical Expert

Analityk z project managerskim doświadczeniem. Prywatnie: fanka kryminałów i amerykańskich seriali.