Archifutura / Aeneia

Aplikacje dla firm

Historia zmian w aplikacji: co zapisać, żeby zrozumieć decyzję

Sprawdź, jak zaplanować historię zmian rekordu: autora, wartości, powód decyzji, dostęp oraz sposób sprawdzania informacji po czasie.

Tworzyliśmy rozwiązania dla

  • L'Oréal
  • Garnier
  • Netflix
  • Carrefour
  • Warner Bros. Discovery
  • Biedronka
  • HBO Max
  • Wolt
  • Żabka
  • COSRX
  • Mixa
  • Ambasada Chin w Polsce

Doświadczenie Aeneia, firmy stojącej za Archifutura.

Termin zlecenia został przesunięty, ale osoba kontaktująca się z klientem nie wie dlaczego. W systemie widzi nową datę i aktualny status. Poprzednia wartość zniknęła, a decyzja została podjęta podczas rozmowy, której nikt nie opisał przy sprawie. Pracownik nie potrzebuje całego dziennika serwera. Potrzebuje informacji, co się zmieniło i gdzie szukać uzasadnienia.

Historia zmian w aplikacji może zachować kontekst ważnych decyzji. Projekt zaczyna się od pytania, kto będzie z niej korzystać i do jakiego zadania. Innych informacji potrzebuje osoba wyjaśniająca klientowi nowy termin, a innych zespół diagnozujący błąd integracji. Nie każdy szczegół techniczny należy pokazywać w widoku sprawy.

Przykłady opisują fikcyjną firmę obsługującą zlecenia. Zakres zapisu, dostęp oraz czas przechowywania trzeba uzgodnić dla konkretnego procesu, rodzaju danych i właściwych wymagań. Sam fakt posiadania historii nie potwierdza zgodności z każdą normą lub przepisem.

Zacznij od pytania, na które historia ma odpowiedzieć

Poproście pracowników o opisanie ostatniej sytuacji, w której brakowało im kontekstu decyzji. Czy chcieli ustalić poprzedni termin, osobę zmieniającą właściciela sprawy, powód anulowania czy moment przekazania dokumentu? Każde pytanie może wymagać innego zestawu danych i innej ścieżki dostępu.

W fikcyjnym zleceniu koordynator zmienia termin po rozmowie z technikiem. Osoba obsługująca klienta potrzebuje zobaczyć poprzednią i nową datę, moment zmiany oraz informację, że przyczyną była niedostępność części. Nie musi przy tym oglądać technicznego opisu zapytania do bazy danych.

Nie każda zmiana pola ma jednakowe znaczenie. Poprawienie literówki w opisie może wymagać krótszego zapisu niż zmiana statusu mająca wpływ na rozliczenie. Uzgodnijcie, które zdarzenia są istotne dla procesu i kto powinien móc je przeglądać. Przykład przekazania pracy opisujemy w artykule o automatyzacji zleceń serwisowych.

Przy zbieraniu wymagań warto poprosić dwie osoby o odtworzenie tej samej sprawy. Jeśli jedna szuka uzasadnienia decyzji, a druga dokumentu przesłanego wcześniej klientowi, historia powinna pomóc odnaleźć oba konteksty. Nie musi jednak kopiować pełnej zawartości dokumentu do każdej pozycji na liście zmian.

Co zapisać przy ważnej zmianie

Typowy wpis może wskazywać sprawę, rodzaj zmiany, czas, autora oraz wartości przed i po operacji. Jeśli decyzja wymagała uzasadnienia, potrzebne jest także miejsce na powód albo odnośnik do właściwego dokumentu. Zakres powinien wynikać z celu, a nie z zasady zapisywania wszystkiego na wszelki wypadek.

Warto odróżnić osobę podejmującą decyzję od konta technicznego wykonującego zapis. Automatyzacja może wprowadzić zmianę po zatwierdzeniu przez człowieka. Historia powinna pozwolić zrozumieć tę zależność, o ile informacje są dostępne i potrzebne w danym procesie. Nazwa integracji jako jedyny autor nie odpowiada na pytanie, kto zatwierdził zmianę.

Jeżeli wartość przyszła z innego systemu, przydatne jest wskazanie źródła i momentu otrzymania. Nie zawsze oznacza to moment podjęcia decyzji w systemie źródłowym. Uzgodnijcie, które czasy i identyfikatory są wiarygodne oraz jak pokazać ich znaczenie. O odpowiedzialności za dane w kilku aplikacjach piszemy w artykule o źródłach danych w integracji.

Dla powodu zmiany można zaproponować kilka uzgodnionych kategorii oraz miejsce na doprecyzowanie, jeśli jest potrzebne. Zbyt ogólna kategoria „inne” bez kontekstu utrudni późniejsze wyjaśnienie sprawy. Z kolei wymaganie długiego opisu przy każdej drobnej poprawce może skłonić pracowników do kopiowania tych samych słów. Regułę warto sprawdzić na realnych zadaniach.

Historia biznesowa i log techniczny mają inne zadania

Historia biznesowa pomaga osobie prowadzącej sprawę zrozumieć przebieg pracy. Dziennik techniczny może zawierać informacje potrzebne do diagnozy błędów, na przykład identyfikator żądania, czas i wynik operacji. Nie trzeba pokazywać wszystkich takich szczegółów klientowi ani każdemu pracownikowi. Jednocześnie sama historia widoczna w aplikacji nie zastępuje każdego zapisu potrzebnego zespołowi utrzymania.

W hipotetycznej integracji zmiana terminu nie dotarła do systemu planowania. Koordynator potrzebuje wiedzieć, że sprawa wymaga wyjaśnienia. Osoba techniczna może sprawdzić dodatkowy identyfikator operacji i typ błędu. Obie informacje dotyczą tego samego zdarzenia, lecz mają różnych odbiorców i różny poziom szczegółowości.

OWASP opisuje zasady projektowania dzienników bezpieczeństwa, w tym dobór zdarzeń oraz ochronę danych, których nie należy zapisywać. Te wskazówki pomagają przy projektowaniu logów technicznych. Widok historii biznesowej należy dodatkowo uzgodnić z użytkownikami procesu, ponieważ sama dokumentacja bezpieczeństwa nie określa, jak wyjaśnić klientowi zmianę terminu.

O tym, jak powiązać sygnał o błędzie z reakcją zespołu, piszemy w artykule o monitorowaniu automatyzacji. Historia nie powinna kończyć się na wpisie o niepowodzeniu, jeśli proces wymaga wskazania osoby odpowiedzialnej za dalszy krok.

Dostęp do historii trzeba zaprojektować osobno

Starsza wartość może zawierać informacje, których użytkownik nie powinien już widzieć. Dlatego uprawnienie do aktualnego rekordu nie zawsze rozstrzyga, jaki zakres historii jest dostępny. Trzeba ustalić role, widoczne pola i sposób postępowania po zmianie zespołu lub odebraniu dostępu.

Przy kilku organizacjach sprawdźcie granice również w wyszukiwaniu, eksporcie i powiadomieniach. Jeśli użytkownik może pobrać historię jednej sprawy, nie powinien otrzymać wpisów dotyczących innego klienta. Serwer powinien weryfikować dostęp do konkretnego zasobu, także wtedy, gdy ktoś zna identyfikator wpisu lub wcześniej zapisany odnośnik.

Czasem potrzebne jest rozdzielenie samej informacji o zmianie od jej pełnej treści. Pracownik może wiedzieć, że dokument został zaktualizowany, lecz nie mieć prawa odczytać starej wersji. W systemach wykorzystujących wyszukiwanie dokumentów podobne pytania omawiamy przy uprawnieniach w systemie RAG.

Przed rozszerzeniem dostępu dla wsparcia technicznego ustalcie powód, zakres i czas obowiązywania. Dobrze wiedzieć również, kto zatwierdza taką pomoc oraz jak zapisywana jest wykonana czynność. Nie należy zakładać, że każdy problem wymaga wglądu w pełną historię klienta.

Korekta błędu wymaga czytelnej historii

Pracownik może zapisać niewłaściwą datę i od razu ją poprawić. Uzgodnijcie, czy historia pokazuje oba zdarzenia, kto może wprowadzić korektę i jak oznaczyć jej powód. Odpowiedź zależy od znaczenia pola oraz zasad procesu. Celem jest zrozumienie przebiegu, a nie karanie użytkownika za każdą literówkę.

Ważny jest również przypadek sporu o wcześniejszą wartość. Jeśli dwie osoby poprawiają sprawę w tym samym czasie, system powinien sprawdzić, czy zapis opiera się na aktualnym stanie. Historia może pomóc wyjaśnić, co się wydarzyło, lecz nie zastępuje mechanizmu zapobiegającego niezamierzonemu nadpisaniu.

Gdy decyzję cofnięto, pokażcie cofnięcie jako odrębne zdarzenie, jeśli wymaga tego proces. Zapis „status zmieniono z powrotem” może wyjaśnić sytuację lepiej niż usunięcie wcześniejszej informacji. Jeśli równolegle wysłano wiadomość albo uruchomiono zadanie w innym systemie, trzeba osobno sprawdzić, jaki skutek już nastąpił.

Widok powinien pozwalać przejść od wpisu do sprawy i odpowiedniego dokumentu, o ile użytkownik ma do niego dostęp. W artykule o dashboardzie operacyjnym opisujemy podobną potrzebę przejścia od zbiorczego sygnału do konkretnego zadania.

Zaprojektuj widok dla osoby prowadzącej sprawę

Historia nie musi przypominać surowej tabeli zmian. Przydatna może być chronologiczna lista z nazwą zdarzenia, czasem i osobą odpowiedzialną. Jeżeli wpis dotyczy zmiany terminu, użytkownik powinien móc rozpoznać wcześniejszą i nową datę bez otwierania kilku osobnych ekranów. Wrażliwe szczegóły można pokazywać tylko osobom uprawnionym.

Przy długiej sprawie potrzebne są filtry, ale powinny pozostawać widoczne. Jeżeli użytkownik ograniczył listę do zmian statusu, może nie zauważyć przekazania dokumentu. Interfejs powinien wyraźnie pokazywać zastosowany zakres i umożliwiać powrót do pełnej historii dostępnej danej osobie.

Niektóre zdarzenia są ze sobą powiązane. Decyzja o zmianie terminu może prowadzić do wysłania wiadomości i przydzielenia nowego zadania. Pokazanie związku pomaga wyjaśnić przebieg, pod warunkiem że użytkownik ma dostęp do każdej z tych informacji. Brak uprawnienia do szczegółów nie powinien prowadzić do przypadkowego ujawnienia ich w opisie wpisu.

Warto też ustalić, jak pokazywać niekompletne informacje po migracji ze starszego systemu. Jeśli wcześniejszy rejestr nie zawierał autora, nowa aplikacja nie powinna przypisywać zmiany przypadkowej osobie. Może wyświetlić pochodzenie danych i informację, że autor pozostaje nieznany. Taki zapis lepiej oddaje stan wiedzy niż pozornie kompletna historia.

Gdy historia obejmuje zdarzenia z wielu stref czasowych, wskażcie, w jakiej strefie użytkownik widzi czas i czy może zmienić ustawienie. Uporządkowanie listy powinno opierać się na wiarygodnych danych o zdarzeniu, a nie na założeniu, że wszystkie zewnętrzne systemy używają identycznego zegara.

Długa historia powinna pozwalać odnaleźć ważne zdarzenie bez przewijania całej listy. Zasady doboru pól i filtrów omawiamy w artykule o wyszukiwaniu spraw mimo niepełnych danych.

Ustal czas przechowywania i sposób usuwania

Historia może zawierać dane osobowe, informacje handlowe i treść decyzji. Wspólnie z osobami odpowiedzialnymi za dane określcie cel zapisu, okres przechowywania oraz dostępne sposoby usuwania lub ograniczania widoczności. Wymagania mogą różnić się zależnie od rodzaju sprawy, umowy i kraju. Nie należy wpisywać jednej uniwersalnej liczby dni bez sprawdzenia.

Sprawdźcie również kopie, eksporty i inne miejsca, do których wpis może trafić. Usunięcie informacji z jednego widoku nie musi oznaczać jej usunięcia z wszystkich systemów. Procedura powinna opisywać, kto wykonuje poszczególne działania i jak potwierdza ich rezultat, zgodnie z właściwymi zasadami organizacji.

Jeśli potrzebujecie zachować informację o samym zdarzeniu, ale nie pełną treść starej wartości, określcie możliwy zakres z osobami prowadzącymi proces i odpowiedzialnymi za dane. Decyzja powinna uwzględniać zarówno możliwość wyjaśnienia sprawy, jak i ograniczenie niepotrzebnych kopii. Nie ma jednej odpowiedzi pasującej do każdej kategorii informacji.

Podczas przekazania aplikacji do utrzymania zapiszcie, kto odpowiada za konfigurację dostępu, przegląd zasad oraz obsługę błędów. Historia zmian ma pomagać także wtedy, gdy po roku zespół będzie wyglądał inaczej niż w dniu wdrożenia.

Sprawdź historię na przebiegu całej sprawy

Przygotujcie fikcyjne zlecenie i przeprowadźcie zmianę terminu, zatwierdzenie oraz korektę. Poproście osobę spoza zespołu projektowego o odtworzenie przebiegu na podstawie widoku historii. Zobaczcie, czy rozumie kolejność zdarzeń, potrafi odnaleźć powód i odróżnić decyzję człowieka od wykonania przez integrację.

Dodajcie dwa konta z różnymi uprawnieniami, zmianę w systemie zewnętrznym oraz próbę zapisu na nieaktualnej wersji rekordu. Sprawdźcie, czy historia i aktualny stan pozostają zrozumiałe po każdym kroku. W teście prototypu z pracownikami można rozpocząć od kilku przykładowych wpisów bez kopiowania rzeczywistych danych klientów.

W kryteriach odbioru zapiszcie oczekiwane zachowanie oraz osobę potwierdzającą wynik. Sprawdźcie także wyszukiwanie, eksport i sytuację po odebraniu dostępu. Wynik próby dotyczy konkretnych scenariuszy i konfiguracji; nie dowodzi automatycznie, że uwzględniono każdy możliwy przypadek.

Jeśli chcesz uporządkować historię decyzji w swojej aplikacji, opisz w briefie jedną zmianę, którą dziś trudno wyjaśnić. Możemy omówić oprogramowanie na zamówienie, dostępne źródła danych i sposób odbioru. Napisz do Archifutura, korzystając z fikcyjnego przykładu zamiast danych klienta.

Źródła i dokumentacja

Materiały sprawdzone przy opracowaniu tekstu. Przy wyborze usługi lub technologii potwierdzamy warunki dla konkretnego projektu.

Kiedy potrzebujesz spojrzeć szerzej

Projekt nie kończy się na kodzie.

Twój proces, Twój zakres

Sprawdźmy, co ma powstać w Twojej firmie.

Nie potrzebujesz gotowej specyfikacji. Opisz zadanie, obecne narzędzia i to, co dziś wymaga ręcznej pracy.

Opisz swój projekt

Narzędzia i integracje, z których korzystamy

  • Google
  • OpenAI
  • Microsoft
  • Stripe
  • Anthropic
  • Linear

Dobór technologii i dostępnych połączeń ustalamy dla konkretnego projektu.