GIGO a procesy

Wyobraźmy sobie, że w opisanych przeze mnie wcześniej procesach:

na wejściu do procesu trafiły błędne, niespójne lub niesprawdzone dane, czyli tzw. “śmieci” na wejściu (ang. garbage in) – skrócie GI. Same procesy możemy uogólnić jak to przedstawiono na poniższym diagramie.

W pierwszym procesie dane zostaną przetworzone, przeanalizowane a następnie zostanie wygenerowany raport. Załóżmy, że dane źródłowe składały się z wymieszanych danych z różnych lat, a generowany raport dotyczy podsumowania roku. Porównując takie informacje z zeszłym rokiem otrzymujemy raport, który nie odpowiada rzeczywistości. Działanie procesu jest takie samo, a na wyjściu otrzymujemy nieużyteczne informacje, czyli tzw. “śmieci” na wyjściu (ang. garbage out) – w skrócie GO.

gigo450px

W drugim procesie z kolei, możemy przeprowadzić analogiczną analizę. Załóżmy, że pierwszy z uczestników procesu, usłyszał o samolocie i bez sprawdzenia tej informacji (czy taki lot jest) przekazał dalej albo podobne zachowanie nastąpiło na późniejszym etapie. Można powiedzieć, że gdy wejście do danego kroku procesu nie jest prawdziwe, w wyniku realizacji tego kroku, ta sytuacja się nie zmieni, jeżeli ten krok zakłada korzystanie z informacji i wykonanie kolejnych zaplanowanych działań. W efekcie podjęte działania nie są adekwatne do sytuacji, czyli racjonalnie patrząc powinny zostać spisane na straty. Co niektórzy powiedziliby, że powinny trafić do kosza.

Wiele procesów przetwarza dane wejściowe w konkretne informacje, decyzje (a to może mieć różne konsekwencje, o czym można się przekonać przeglądając różne artykuły dostępne w sieci). Patrząc na uogólniony diagram, gdy wejście będzie niepoprawne, decyzja nie będzie prawidłowa/nieadekwatna (poprzez porównanie do sytuacji, gdy dane byłyby poprawne). W skrócie GIGO (ang. garbage in, garbage out).

Reklama

Obiekty danych w procesie BPMN

Kolejnym etapem realizacji zlecenia w serwisie samochodowym, była kwestia płatności I otrzymanie potwierdzenia. Otrzymałem wydruk zlecenia z kwotą, statusem oraz wykonanymi czynnościami. Przyglądając się zleceniu zauważyłem, że składa sie ono z informacji uzyskanych od Klienta, danych wprowadzonych przez operatora i danych z rejestru części dostępnych w serwisie. Elementy to obiekty danych, które razem tworzą zlecenie. Operacje na tych danych pokazuje poniższy diagram BPMN.

processobjects450

Obiekty danych są z jednym z elementów procesów w BPMN. Mogą informować o danych służących do realizacji zadań przez użytkownika w systemie, obiektach wykorzystywanych przez samą aplikację oraz efektach działania aplikacji. Na diagramie zaprezentowano przykłady. Obiekt (ang. Data Object), na którym działa proces, ma wskazane różne statusy – Zarejestrowany, Wydrukowany. W tym celu wykorzystuje się element BPMN oznaczony poprzez prostokąt z “zagiętym rogiem”. Obiekty wejściowe (ang. Data Input) są oznaczane pustą strzałką, a obiekty wyjściowe (ang. Data Output) – pełną strzałką.

W tym wypadku obiekt Zlecenie można potraktować jako złożenie danych kluczowych i danych zawartości. Proces jest sterowany przez operatora.

Kluczowe dane procesu

Kilkakrotnie w ramach swoich wpisów posługiwałem się pojęciem słownika danych będącego podstawą do reprezentacji danych dla procesu biznesowego, do jego realizacji, jak i oceny. Taki słownik definiuje poszczególne typy danychwystępujące w procesie, opisuje ich zastosowanie oraz reprezentację.

Poniższy przykład na diagramie (w BPMN) prezentuje zastosowanie różnych typów danych.

Rozróżniane są:

  • dane kluczowe (ang. key data) – np. ID klienta czy produktu, dla którego realizowany jest proces. Na powyższym diagramie jest to IDProduktu oraz można również powiedzieć, że IDKlienta, ponieważ bez tych dwóch identyfikatorów nie da się przeprowadzić procesu.
  • dane zawartości (ang. content data) – są dane przesyłane między usługami, przekazywane między kolejnymi krokami procesu, będace uzupełnienie dla danych kluczowych. Dane te mają również znaczenie, gdy wystąpi błąd w procesie, aby poznać kontekst błędu. Są to dane kontekstowe. Na powyższym diagramie jest to np. Ilość produktu, a także dodatkowe dane pobierane z bazy.
  • dane sterujące (ang. steering data) – dane, na podstawie których określany jest przebieg procesu, w szczególności na bramkach decyzyjnych. Dane sterujące są także używane przez reguły biznesowe. Na powyższym diagramie jest to FProgramu, która decuduje o wykonaniu operacji aktualizacji danych klienta w zakresie wykorzystania/udziału w programie lojalnościowym.
  • dane do oceny efektywności procesu (ang. KPI data) – dane pozwalające ocenić zachowanie procesu, obciążenie pracą w poszczególnych krokach, czas wykonania, ilość itp. Nie są zaprezentowane bezpośrednio na powyższym diagramie. W omawianym przykładzie mogłyby być to dane dotyczące np. ilości przypadków realizacji programu lojalnościowego, najczęściej wybierane produkty, czas odpowiedzi usług, problemy.

Świadomość danych „używanych” w procesie, pozwala lepiej go zrozumieć i ocenić. Analiza zachowania procesu, wskaźników efektywności, czasu przebiegu, pozwala na określenie niezbędnych zmian w procesie.