Złote zasady informatyka, TP © 2005-2009

Update 25.12.2007r. - Dopisałem punkty 6. i 7. Drobne poprawki w pozostałych punktach.
Update 16.09.2009r. - Dopisałem punkt 8

  1. Restart dobry na wszystko
  2. Gdy nie wiadomo o co chodzi, chodzi o uprawnienia
  3. Backup, backup i jeszcze raz backup
  4. Testuj przetestowane
  5. Jak trwoga to do loga
  6. Nie wierz nigdy użytkownikowi
  7. Kabelek duperelek
  8. Wąski, ściągnij mu tą blokadę

Nie mogę powiedzieć, że zasady o których piszę, są nowe czy odkrywcze. Opisują tylko pewną dobrą praktykę, nadają jej nazwy i pozwalają usystematyzować podejście do spotkanego problemu. Warto napisać, jak należy korzystać z zasad. Po prostu w sytuacji, gdy napotkany problem nie może być rozwiązany znanymi sposobami, zastanawiamy się jak kolejne zasady mają się do naszego problemu.


1. Restart dobry na wszystko

Niestety ta zasada źle świadczy o informatyce. W przeciwnym razie nie byłoby kawałów o tym, jak to informatyk chce naprawić samochód. Najpierw z niego wysiada, potem wsiada i sprawdza czy jest ok :-D

Koncepcja restartu może dotyczyć następujących komponentów:

  • System operacyjny
    • Wyłącz / Włącz
    • Wyloguj / Zaloguj
    • Naprawa systemu - dla Windows XP przywrócenie ostatniej sprawnej konfiguracji
    • Reinstalacja - najbardziej drastyczne rozwiązanie
  • Usługa
    • Stop / Start
    • Reinstalacja
  • Proces
    • Zakończenie procesu i włączenie komponentu, który go uruchamia (system, aplikacji itd.)
  • Aplikacja
    • Wyłącz / Włącz
    • Naprawa
    • Reinstalacja
  • Urządzenie
    • Odłączenie / Podłączenie
    • Wyłączenie / Włączenie
    • Reinstalacja sterowników

2. Gdy nie wiadomo o co chodzi, chodzi o uprawnienia

Gdy informatyk wyczerpie "wszystkie możliwości" i zada sobie pytanie "O co chodzi?" powinna włączyć mu się żółta lampka ostrzegawcza - Pewnie chodzi o uprawnienia! Treść komunikatów o błędach w aplikacji spowodowanych nieprawidłową konfiguracją uprawnień do zasobów komputera zazwyczaj wcale nie wskazują na uprawnienia. Są bardzo często mylące. Kłopoty z uprawnieniami wynikają najczęściej ze źle zaprojektowanej aplikacji, w dalszej kolejności są wynikiem zmian konfiguracji systemu pozornie nie mającej styczności z naszą aplikacją.

Ponieważ komunikat błędu nie mówi wprost o uprawnieniach, trudno znaleźć miejsce nieprawidłowej konfiguracji. Należy prześledzić wszystkie zasoby do jakich może mieć dostęp aplikacja powodująca problemy, tj. zasoby dyskowe, drukarki, członkowstwo w grupach zabezpieczeń (dotyczy usług domenowych). Słowem wszystko to do czego możemy nadać uprawnienia a jest w jakikolwiek sposób wykorzystywane przez naszą aplikację.

Problemy z uprawnieniami wynikają również ze zmiany konfiguracji. Mam na myśli takie przypadki jak wymiana komputera, użycie innego komputera, reinstalacja komputera czy też aplikacji, update aplikacji.


3. Backup, backup i jeszcze raz backup

Backup, czyli kopia zapasowa wykonywany jest najczęściej z plików. Wielu z nas zapomina o zrobieniu backupu konfiguracji programów czy też książki adresowej.

    Co można backupować?
  • Dokumenty
  • Pliki konfiguracyjne aplikacji
  • Zakładki (FF) lub Moje ulubione (IE)
  • Logini do serwisów www
  • Konfiguracja kont pocztowych
  • Archiwa poczty
  • Książka adresowa
  • Kontakty i archiwa komunikatorów (Gadu-Gadu, Skype)
  • Klucze licencyjne

Backup ma podstawową wadę - zawsze jest postrzegany jako niepotrzebny. Jeśli zastanawiasz się nad zrobieniem backupu i myślisz "przecież ja tego nigdy nie wykorzystam" to grubo się mylisz. To jest właśnie cecha backupu - on jest po to aby z niego skorzystać gdy nastąpi awaria. Póki na własnej skórze nie doświadczymy awarii, nie będziemy robić backupu.

    W jakiej sytuacji backup uratuje Ci życie?
  • Zgubienie pendrive'a - Bardzo prawdopodobne
  • Kradzież laptopa - Bardzo prawdopodobne
  • Awaria dysku twardego - Prawdopodobne
    Co można stracić a co na pewno jest wartościowe:
  • Zdjęcia ze ślubu, z wycieczek, rodziny. Mam wymieniać dalej?
  • Pierwszy film, który nagraliśmy naszą nową kamerą. Było tak śmiesznie! Ale już go nie obejrzę :(
  • Praca dyplomowa. Pomyśl sobie, że pisałeś ją przez rok.

Backup należy robić i basta. Jak często i jakich plików to zupełnie inna bajka. Najprościej odpowiedzieć sobie na pytanie - Jak wartościowe są dla mnie dane i jak często się zmieniają.


4. Testuj przetestowane

Zasada, która ma zastosowanie przy wdrażaniu nowych rozwiązań (systemów, aplikacji). Nierzadko okazuje się, że już wszystko działa, już planujemy uruchomić system w wersji produkcyjnej a tu kolejny błąd. Gdy wydaje Ci się, że wszystko działa poprawnie - sprawdź to jeszcze raz.

Ta zasada mówi też o tym, że żadne oprogramowanie nie jest pozbawione wad. Należy być tego świadomym. Wspaniała aplikacja na komputerze programisty działa bez zarzutu, na komputerze użytkownika już nie. Na komputerze doinstalowane jest nowe oprogramowanie, instalowane są łatki do systemu i programów. To wszystko może mieć wpływ na pracę naszej aplikacji.

    Co można robić aby przeprowadzić testy:
  • Sprawdzenie aplikacji na koncie użytkownika (domena)
  • Sprawdzenie aplikacji na innym komputerze
  • Sprawdzenie aplikacji na komputerze z inną wersją systemu operacyjnego
  • Celowe wprowadzanie błędnych danych do aplikacji

5. Jak trwoga to do loga

Gdy już stanie się nieszczęście i szukamy przyczyny, najczęściej znajdziemy ją w logach. Z logów zapisywanych przez system lub aplikację możemy wiele wywnioskować. Należy też kojarzyć różne fakty, np. porównać co działo się z systemem a co z aplikacją. Może problem z aplikacją jest tylko konsekwencją nieprawidłowości w systemie?

Jednym słowem nie zapominajmy o logach. Gdy coś nie działa, zaglądajmy odruchowo do Dziennika zdarzeń (Windows). Niech to będzie dobry odruch informatyka.


6. Nie wierz nigdy użytkownikowi

Zasada dotyczy zgłaszania problemu i wynika z bardzo prostej przyczyny. Większość użytkowników zgłaszając problem nie potrafi go opisać. Dodatkowo część z nich sądzi nawet, że zna rozwiązanie problemu i od razu mówi co należy poprawić :)

Osoba odbierająca zgłoszenie musi być bardzo wyczulona na to co zgłaszający ma do przekazania. Typowe zgłoszenie telefoniczne brzmi tak:

Mam problem z komputerem. Możesz przyjść?

Teraz wszystko zależy od tego kto do nas dzwoni. Jeśli miła koleżanka to oczywiście idziemy i rozwiązujemy problem na miejscu. Każdy informatyk powinien dbać o swoje zdrowie, prawda? Ciągłe siedzenie na fotelu niepotrzebnie nadwyręża kręgosłup ;-) Przy telefonie czy na miejscu, tak czy siak musimy zadać kilka pytań.

Przyjmując zgłoszenie to my mamy być panami sytuacji i to my sami mamy zadbać o wyciągnięcie jak największej liczby informacji. Użytkownik naprawdę ma prawo nie znać się na komputerach tak dobrze jak my i dlatego też może nie zauważyć wielu rzeczy, które ostatnio działy się w jego komputerze.

Konsekwencją zasady Nie wierz nigdy użytkownikowi jest podejście do problemu własnymi oczami, a nie oczami użytkownika.

    Powody problemów z odebraniem zgłoszenia:

  • Użytkownik nie rozumie co tak naprawdę zrobił
  • Użytkownik zamknął komunikat błędu i nawet go nie przeczytał
  • Użytkownik uważa, że zna przyczynę oraz rozwiązanie
  • Użytkownik zna przyczynę problemu ale nie chce się do tego przyznać
    Zestaw ogólnych pytań, które warto zadać użytkownikowi:

  • Z jakiej aplikacji korzystasz? Office, Przeglądarka, System MRP, Baza danych, inne
  • Czy pojawia się komunikat błędu i jak brzmi?
  • Czy problem powtarza się? Jak często, w jakich sytuacjach?
  • Kiedy problem wystąpił po raz pierwszy?
  • Czy problem występuje tylko
    • na Twoim komputerze?
    • w tej aplikacji?
    • w tym dokumencie, pliku?
  • Czy logujesz się na tym komputerze po raz pierwszy? Na którym komputerze "Twoja aplikacja" działa prawidłowo?
  • Czy to co chcesz zrobić, robiłeś już wcześniej na swoim loginie? Chodzi o uprawnienia w domenie i serwerze bazy danych - błędy związane z brakiem uprawnień zazwyczaj są źle komunikowane

Niestety to wszystko powoduje, że informatyk zadaje głupie pytania. Proszę się tym nie przejmować i pozwolić mu zadać jak najwięcej a przy tym rzetelnie odpowiadać. Od dobrego zgłoszenia bardzo dużo zależy, również to czy problem zostanie szybko rozwiązany. Posłużę się przykładami z życia, czyli zgłoszeniami emailowymi do mojego serwisu www.chords.pl:

  1. nie mogę się zalogować - Sam muszę znaleźć na podstawie adresu email z jakiego loginu korzysta; nie wiem nic na temat ewentualnych komunikatów błędu
  2. od kilku godzin nie moge zalozyc konta, ciagle dostaje info, ze login jest juz zajety, wyprobowalam okolo stu rozmaitych loginow - Ten użytkownik nie rozumie co jest napisane na ekranie
  3. jesteś ładny Sebastian a wczoraj miałeś fajną kamizelkę. - Ta koleżanka (tak sądzę) napisała nie tam gdzie trzeba :-D
  4. wysłałam wczoraj smsa za 3 zł, nie otrzymałam kodu na maila. moje hasło: wiolwit. proszę o kod - Prawdopodobnie chodzi o inny serwis, bo u mnie nie ma opłat za rejestrację; dostałem niepotrzebne informacje o haśle; ewentualnym rozwiązaniem nie jest kod ale link aktywacyjny
  5. Dzień dobry. Ja chcialam się dowiedzieć czy zespół Bayer Full zagrałby na weselu w Elblągu i ile by to kosztowało?? Proszę o odpowiedż. Z góry dziękuję. - Przepraszam, mój debeściak, musiałem go umieścić. Skrajny przypadek próby komunikacji z nieodpowiednią osobą (nie jestem menadżerem Bayer Full)

To, że 80% przykładów jest autorstwa kobiet jest zupełnym przypadkiem.

Podsumowując, trudno winić użytkownika za nieprawidłowe zgłoszenie. On może po prostu nie wiedzieć co ma powiedzieć. Ma problem i kontaktuje się z serwisem. Świetnie jeśli wie do kogo zadzwonić. Z drugiej strony nie ma sensu tworzyć rozbudowanych formularzy www do odebrania zgłoszenia. Po pierwsze mogą być zbyt skomplikowane, po drugie nie przewidzą wszystkich sytuacji a po trzecie dodatkowo zdenerwują użytkownika. Najlepiej gdy informatyk postawi się w roli lekarza a użytkownik pacjenta. Szczera rozmowa jest najlepszą metodą dojścia do rozwiązania problemu.


7. Kabelek duperelek

Korzystając ciągle z wirtualnego świata gier i internetu zapominamy, że nasze urządzenia są połączone przewodami. Główną przyczyną problemów rozwiązywanych dzięki zasadzie Kabelek duperelek jest pani sprzątaczka. Tak tak, pani sprzątaczka stara się jak może wykonywać swoje obowiązki i dbać o czystość naszych biur a tylko czasem i przypadkiem odłączy przewód od UPSa albo wyciągnie kabel ze switcha.

Gdy nie działa urządzenie w pierwszej kolejności należy sprawdzić połączenie z komputerem. Zasada dotyczy również urządzeń bluetooth lub komunikacji radiowej.

Swoją drogą, zastanawiam się jak przetłumaczyć Kabelek duperelek na angielski :)


8. Wąski, ściągnij mu tą blokadę

Tym razem chodzi o programy antywirusowe i zapory sieciowe, czyli firewall'e. Te programy często blokują prawidłowe działanie innych programów. Jeśli tylko mamy podejrzenie, że program korzysta z połączenia internetowego, musimy sprawdzić konfigurację firewalla.

Najprostszą metodą sprawdzenia czy firewall ma wpływ na problemy z programem jest wyłączenie firewalla. Niestety to może narazić nas na niebezpieczeństwo, szczególnie gdy posiadamy adres IP z klasy publicznej.