W kartotece klienta jest zły adres do faktur. Ktoś go zmienił w zeszłym tygodniu, tylko nie wiadomo kto. Idzie mail do całego biura i każdy odpowiada, że nic nie ruszał, a faktura poszła już na stary adres.
Często okazuje się, że nikt nie zawinił celowo. Ktoś poprawił nie tę kartę, import nadpisał pole albo automat przeliczył coś według starej reguły. Żeby to ustalić w kilka minut, potrzebna jest historia zmian. To, że system ją ma, jeszcze niewiele znaczy. Liczy się, co w niej jest, a to można sprawdzić poniższymi pytaniami, samemu albo razem z wykonawcą.
1. Czy historia pokazuje, kto naprawdę zrobił zmianę?
Samo nazwisko nie wystarcza. Zmianę mógł zrobić pracownik, zastępca w czyimś imieniu, administrator na cudzym koncie albo automat, na przykład import czy nocne przeliczenie. Dobra historia odróżnia te przypadki i zapisuje np. „Anna Nowak w zastępstwie Piotra Wiśniewskiego”.
To ma znaczenie przy szukaniu przyczyny. Jeśli nie wiadomo, czy zmienił człowiek, czy automat, nie wiadomo też, co poprawić: szkolenie, uprawnienia czy regułę w systemie.
Najłatwiej o to, gdy historia jest częścią wspólnych elementów, z których wykonawca składa aplikacje. Wtedy dokument od pierwszego dnia pokazuje, kto, kiedy i co zmienił, i nie trzeba jej dopisywać osobno w każdym miejscu. Jak ustawić zastępstwo bez pożyczania hasła, piszemy w artykule Hasła, które zostają po ludziach.
2. Czy widać, które pola się zmieniły?
Wpis „zmieniono dokument” niczego nie wyjaśnia. Przydatny wpis mówi, że zmieniono adres do faktur, i używa tych samych nazw pól, które pracownik widzi w formularzu.
3. Czy w historii są też zdarzenia wokół dokumentu?
Dokument zmienia się nie tylko przez edycję. Przechodzi kolejne etapy, ktoś go blokuje do edycji, ktoś inny tę blokadę zdejmuje, dokument zostaje powiązany z innym. Te zdarzenia też powinny trafiać do historii.
Nie powinny za to trafiać tam zapisy, które interesują tylko sam program, na przykład o każdym automatycznym odświeżeniu ekranu. Przy tysiącu takich wpisów nikt nie znajdzie tego jednego, którego szuka.
4. Czy zapisują się zmiany uprawnień?
Nadanie i odebranie uprawnień oraz zmiana hasła to też zmiany, często ważniejsze od zmiany adresu. Historia powinna pokazywać, kto komu i kiedy nadał albo odebrał dostęp.
5. Czy historia nie zdradza tego, co ma być ukryte?
Jeśli pracownik nie ma dostępu do pola z wynagrodzeniem, historia nie powinna mu go pokazać. Może zobaczyć, że zmieniono pole ukryte, ale nie dowie się, które i na jaką wartość. Szerzej piszemy o tym w artykule Pracownik widzi więcej, niż powinien.
Z tego powodu nie zawsze warto trzymać pełną treść każdej wersji dokumentu. Stara wartość ukrytego pola zapisana w historii jest tą samą tajemnicą co w dokumencie. W większości kartotek wystarczy zapis, kto, kiedy i które pola zmienił, a historia przy tym nie puchnie. Na wypadek poważnej pomyłki są kopie zapasowe. Jak sprawdzić, czy da się z nich odtworzyć dane, piszemy w artykule Wdrożenia bez przestojów.
Inaczej jest z treścią strony internetowej. Tam pełna historia wersji kosztuje niewiele i pozwala zobaczyć, jak strona wyglądała miesiąc temu.
6. Skąd będzie wiadomo, dlaczego coś zmieniono?
Kto i kiedy system wie sam. Powodu nie zna, dopóki ktoś go nie poda. Tam, gdzie powód jest ważny, na przykład w cenniku, zmianę dobrze jest przeprowadzać jako wniosek. Wniosek zawiera wartość dotychczasową i proponowaną oraz uzasadnienie, a zatwierdza go osoba odpowiedzialna za cennik. Po miesiącach widać, kto zaproponował zmianę, kto ją zatwierdził i dlaczego. Więcej o tym w artykule Kiedy dwie osoby edytują ten sam dokument.
7. Co widać, gdy czegoś nie zapisano?
Jeśli przy starszych zmianach nie zapisano autora, uczciwa historia zostawia to miejsce puste. Autor dopisany później na podstawie daty wygląda jak fakt, a jest tylko domysłem.
Historia zmian nie zapobiegnie pomyłce, ale pozwoli szybko znaleźć jej przyczynę. Jeśli zadać wykonawcy tylko jedno pytanie z tej listy, to takie: gdy jutro ktoś zmieni cenę w cenniku, skąd się dowiem, kto to był, i czy będę wiedział, że to był człowiek, a nie automat?