h1

Proces nieskończony

Sierpień 11, 2018

Jadąc ostatnio autobusem komunikacji miejskiej, chciałem przy wejściu „odbić” kartę. Karta ta musi zostać przyłożona do czytnika w momencie, gdy nie ma się wykupionego biletu długookresowego a korzysta się z mechanizmu tzw. portmonetki. Zamiast poprawnie naliczonej opłaty zobaczyłem pomarańczowy ekran z błędem. Na szczęście drugi czytnik działał poprawnie.

Po zajęciu miejsca, akurat z dobrym widokiem na czytnik, zauważyłem, że na ekranie jest odliczany czas. Potem następował restart aplikacji, wyświetlenie „poprawnego” ekranu czytnika, informację o błędzie komunikacji i ponownie pomarańczowy ekran. A potem po minucie, znów restart i wszystko zaczynało się od początku. I tak w nieskończoność (tak mi się zdawało). Prezentuje to poniższy diagram w BPMN.

petla_1_kadr

Na powyższym diagramie zaprezentowano typ obiektu BPMN określanego jako podproces (ang. subprocess, co jest oznaczone znakiem „+”) z oznaczeniem wykonywania go w pętli (ang. loop subprocess). Jego charakter wykonywania w pętli jest oznaczony symbolem strzałki (w kształcie okręgu) a same szczegóły działania są opisane na diagramie. W dolnej części diagramu wskazano części składowe tego podprocesu.

Wydaje się, że po określonej liczbie restartów czytnik mógłby się zatrzymać i wyświetlić ekran z błędem i prośbą o skorzystanie z innego czytnika lub mógłby się wyłączyć do momentu ręcznej ingerencji przez operatora (np. na pętli autobusowej). W takiej sytuacji potrzebne byłoby wskazanie liczby powtórzeń oraz obsługi sytuacji, gdy po określonej liczbie powtórzeń efekt procesu nie jest zgodny z oczekiwaniami.

Specjalnie na diagramie zostawiłem oznaczenie błędu (czerwony symbol z „x”) przy obiekcie podprocesu pochodzące z aplikacji, w której go rysowałem. Aplikacja wskazała mi, że nie określiłem poprawnego warunku zakończenia pętli, co zrobiłem świadomie, aby zobrazować, że opisywany proces w rzeczywistości się nie kończył – nie miał np. warunku na liczbę wykonywanych powtórzeń w sytuacji, gdy zdarzenie początkowe pojawia się za każdym razem (np. błąd komunikacji).

Reklamy
h1

Zrób to sam – wydruk faktury

Sierpień 4, 2018

Ostatnio robiłem zakupy w markecie budowlanym, wybrałem rzeczy a potem za nie zapłaciłem. Wychodząc ze sklepu moją uwagę zwróciła nowa rzecz w przejściu (wcześniej jej nie zauważyłem) – było to urządzenie wielkości biletomatu lub innego urządzenia tego typu. Zerknąłem na nazwę i zobaczyłem tylko słowo „fakturomat”. Poszedłem dalej, ale się zacząłem zastanawiać jak to działa. Już wcześniej zauważyłem, że na paragonie jest kod kreskowy, jednakże nie zdziwiło mnie to, ponieważ był już wcześniej i był wykorzystywany przy jakiejś loterii.

Klient w celu wygenerowania faktury mógłby zeskanować kod, wpisać dane oraz wydrukować ją. Zakładam, że z kodem kreskowym są związane szczegóły zakupionych produktów – nazwa, kod, % VAT, producent, cena, ilość i inne informacje niezbędne do umieszczenia na fakturze.

fakturomat_450px

Kluczem do realizacji procesu byłby paragon, który łączy w sobie w sumie dwa procesy: proces zakupowy oraz proces przygotowania faktury. W wielu sklepach, chcąc otrzymać fakturę wstrzymujemy kolejkę lub musimy pójść do punktu informacji i tam pozyskać fakturę. Bez zastosowania fakturomatu, angażowany jest pracownik i ewentualny literówki na fakturze muszą zostać poprawione po przekazaniu uwag przez Klienta. W fakturomacie, to klient kontroluje poprawność danych podczas ich wprowadzania i potwierdza ich poprawność (tak zakładam). Myślę, że jest to przydatne narzędzie, choć w sieci można znaleźć ostrzeżenia i wskazówki odnośnie wykorzystania tego narzędzia (warto się z nimi zapoznać).

Powyższy komentarz jest jedynie moim przypuszczeniem, ponieważ nie korzystałem z tego narzędzia. Trudno mi powiedzieć, czy proces jest całkowicie samodzielny, czy może jednak na koniec potrzebna jest jakaś interakcja z obsługą. Nie wiem także, czy paragon jest wykorzystywany i w jaki sposób są uzupełniane dane. Może być też tak, że trzeba zgłosić tę potrzebę w momencie płacenia za produkty.

h1

Automatyczne reguły oparte o wzorce

Lipiec 11, 2018

Automatyczna odpowiedź: Potwierdzenie otrzymania wiadomości. Państwa wiadomość została przekazana do właściwego pracownika […] ”, a dalej podpis i informacja „Wiadomość została wygenerowana automatycznie, prosimy na nią nie odpowiadać.”. Takiego maila otrzymałem w odpowiedzi na wiadomość skierowaną do podmiotu gospodarczego, wskazując w tytule numer sprawy. Nie otrzymałem jeszcze odpowiedzi na to zgłoszenie. Jednak mogę sobie wyobrazić co się stało na poziomie skrzynki odbiorczej. Mechanizm obsługujący, pobrał tytuł wiadomości, sprawdził do kogo powinna trafić sprawa, a potem wysłał maila z powyższą odpowiedzią. Poniższy diagram w BPMN prezentuje przebieg takiego procesu automatycznego.

buss_rule_1_450px

Na diagramie znajduje się tym zadania „reguła biznesowa” (ang. business rule task), o której pisałem już kilkakrotnie, obrazując ją różnymi przykładami oraz zastosowaniami. W ramach tego kroku następuje próba odnalezienia osoby przyporządkowanej do określonych sformułowań lub numerów użytych w tytule. Mogą to być poszukiwania dokładnego odpowiednika lub zakresów wartości (wzorca). z uwzględnieniem ewentualnych określeń poprzedzających lub następujących po poszukiwanym fragmencie. Reguła może też przewidywać, że inne przypadki są przesyłane do ręcznego przyporządkowania. Reguły mogłyby także zakładać priorytety sprawdzania.

Fragment tytułu (wzorzec) – przykłady Przyporządkowanie
[NR SPRAWY] 2018/06/1* Osoba X
[NR SPRAWY] 2018/06/0* Osoba Y
[NR SPRAWY] 2017/* Skrzynka ogólna
….  
*PRODUKT A* Zespół A
*PRODUKT B* Zespół B
 
*PRODUKT N* Zespół N
RE/ODP:*   Pierwotny nadawca
(lub osoba zastępująca)
brak przyporządkowania Skrzynka ogólna
h1

Akcja i podanie

Lipiec 3, 2018

Jesteśmy w trakcie tego okresu czasu, gdy jedni płaczą, drudzy się cieszą, jedni grają ofensywnie, a inni defensywnie. Tamci preferują grę z kontry, a inni grę atakiem pozycyjnym. Strzały, celne, niecelne, bramki, spalone, kartki, podania, przebiegnięte kilometry, przejęcia, posiadanie piłki itd. Te i inne określenia oraz sytuacje charakteryzuję odbywające się mistrzostwa świata w piłce nożnej. Najciekawsze jest to, że nawet Ci, którzy nie kibicują, siadają przed telewizorem, telebimem lub przy radiu i w wielkim skupieniu śledzą to, co się dzieje na boiskach piłkarskich. A co się dzieje? Wyprowadzenie piłki, rozegranie akcji i strzał. Jest to pewne uproszczenie, ponieważ rozegranie akcji może następować ze środka pola, po przejęciu piłki, od rzutu wolnego lub rzutu z autu.

rozegranie_v2_450px

Kluczem wyprowadzania piłki i rozegrania akcji są podania. Wyobraźmy sobie, że mamy informację o liczbie podań wychodzących z danej formacji i przychodzących do niej, a także w ramach formacji. Przez formację rozumiem tutaj bramkarza, obrońców, pomocników oraz napastników.
formacje_450px

Na tej podstawie można byłoby powiedzieć: „w którym kierunku grała drużyna” lub „w jakim miejscu była najbardziej intensywna gra drużyny”. Nie wiem czy takie analizy są wykonywane, ale słuchają komentatorów i oglądając statystyki można odnieść wrażenie, że takie analizy można byłoby wykonywać. Jeżeli mamy zliczoną liczbę podań i wskazanie liczby celnych, to wiemy, czy dane podanie dotarło i w sumie do jakiej formacji.

Na diagramie dodałem informację także o niecelnych podaniach oraz strzałach. Można byłoby dodać także informację o przejęciach piłki, skuteczności podań oraz czasie, którego dotyczy diagram. Te przykładowe liczby można byłoby zinterpretować, że drużyna grała najwięcej w środku pola (od obrony do pomocników), a mniej angażowała  napastników oraz oddała tylko pojedyncze strzały na bramkę przeciwników.

h1

RODO a procesy

Czerwiec 21, 2018

Przez ostatni miesiąc pewnie wielu użytkowników poczty elektronicznej otrzymało po kilka, kilkanaście, a może kilkadziesiąt wiadomości, które zaczynały się od słów lub były zatytułowany w stylu: „zmiana regulaminu”, „to kolejna wiadomość”, „ważna zmiana”, „Od 25 maja…”, „Ochrona danych osobowych” i wiele innych. Częścią wspólną tych wiadomości, pochodzących z różnych sklepów internetowych, serwisów, stron internetowych, było odniesienie do RODO. Takie cztery litery pojawiały się w tytule lub samej treści.

RODO to unijne rozporządzenie dotyczące ochrony danych osobowych, w zakresie ich przetwarzania oraz przepływu. Rozporządzenie weszło w życie 25 maja 2018 i jak najbardziej dotyczy procesów, zarówno biznesowych, jak i tych technicznych związanych z przetwarzaniem danych.

Wyobraźmy sobie, że mamy proces biznesowy, który zbiera dane osobowe a który można uogólnić do trzech poniższych kroków: Zebranie danych, Zapisanie danych, Wykorzystanie danych.

process_rodo_1_450px

W każdym z tych kroków w jakiś sposób RODO dotyka takiego procesu:

  • zebranie danych – osoba, której dane dotyczą musi otrzymać informację o tym dlaczego zbierane są dane i jakie z tego tytułu posiada ona uprawnienia – takie zapisy  już funkcjonują w wielu formularzach czy regulaminach obecnie, choć w wyniku wejścia Rozporządzenia  mogły już zostać uszczegółowione/zmienione, co wynikało z ich aktualnego brzmienia oraz z powiązań z innymi dokumentami (np. Regulaminem);
  • zapisanie danych – w tym wypadku z perspektywy RODO jest istotna świadomość tego jakie dane zbieramy, gdzie je składujemy, kto jest administratorem oraz kto może z nich skorzystać. RODO wprowadza lub wskazuje jeszcze wiele zasad (które wyjaśnia ustawa, rozporządzenie, publikacje czy też regulaminy stosowane przed podmioty);
  • wykorzystanie danych – RODO zwraca uwagę na to, aby ich wykorzystanie było uzasadnione (nie będę wchodzić w szczegóły co to znaczy) oraz zgodne z tym, co zakomunikowaliśmy osobie, które dane dotyczą (zainteresowanych co to znaczy odsyłam do właściwych publikacji dotyczących RODO).
h1

Gdy odbiorca decyduje

Marzec 17, 2018

Sprzedaż lub kupno mebla? Sprzedaż książki? Wymiana? Skorzystanie z usług? Przeszukiwanie ofert w okolicy a także dalej. Publikacja oferty. Zakończenie oferty. Promocja oferty. Oddam za darmo. Odbiór własny. Te i inne sformułowania są charakterystyczne dla serwisów, w ramach których zwykły użytkownik Internetu może sprzedać, kupić lub wymienić produkt/usługę. Takich serwisów jest wiele i nabierają popularności. Obsługa ich jest bardzo prosta, w większości przypadków nie wiąże się z opłatami.

Załóżmy, że mamy produkt do sprzedania (książkę, mebel lub inny produkt), który jest w dobrym stanie i którego nie chcielibyśmy wyrzucić a wolimy go oddać w dobre ręce, najlepiej otrzymując za to mniej lub bardziej symboliczną opłatę. Publikujemy ofertę, pojawia się chętny i co dalej?

decyzja_odbiorcy_2_450px

W pierwszej kolejności, ustalamy docelową cenę za produkt, w szczególności, gdy wskazaliśmy, że cena jest do negocjacji. Ustalając cenę należy także wziąć pod uwagę koszt dostawy produktu do odbiorcy – kto płaci? W jakiej formie i kiedy? Mamy więc dwa parametry cena i koszt przesyłki. W sytuacji, gdy odbiór będzie osobisty, koszt przesyłki nie wchodzi w grę. W takiej sytuacji, łatwiej też jest ustalić formę płatności. Przy drobnych produktach, płatność odbywa się przeważnie w momencie przekazania produktu. Innym rozwiązaniem jest nadanie przesyłki z płatnością realizowaną w momencie odbioru przesyłki (tzw. usługa „za pobraniem”) – odbiorca może płacić za produkt lub/i za koszt przesyłki. Jeżeli chodzi o samą płatność, może też odbyć się wcześniej, przed wysłanie produktu – przelew na konto lub inna forma płatności elektronicznej

Na powyższym diagramie (w BPMN) zastosowanodecyzję” opartą o zdarzenia (ang. exclusive event-based gateway), ponieważ to osoba zainteresowana i jej decyzje wpływają na dalszy przebieg procesu. Taka sytuacja występuje w dwóch miejscach – na początku procesu, gdy ustalany jest sposób dostawy, a potem gdy ustalany jest sposób płatności za produkt.

h1

Gdy zakupy się nie udają

Luty 12, 2018

W samoobsługowym procesie, o którym pisałem w poprzednim wpisie, wiele elementów może pójść nie tak. Z jednej strony proces może się zakończyć w nieakceptowalnym czasie (ryzyko terminu), może nie spełnić oczekiwań Klienta (kolejne ryzyko), a także mogą wystapić inne zdarzenia będące materializacją różnych ryzyk, określanych mianem ryzyk operacyjnych dla procesu biznesowego.

Wśród takich ryzyk operacyjnych możemy na przykład wyróżnić (istnieją także ryzyka):

  • ryzyko błędów ludzkich (np. pracownik sklepu internetowego umieszcza w paczce nieodpowiedni produkt lub w niewłaściwej ilości)
  • ryzyko związane z uszkodzeniem mechanicznym sprzętu (np. brak reakcji ekranu na dotyk)
  • ryzyko związane z infrastrukturą (np. brak możliwości połączenia z serwisem on-line ze względu na obciążenie sieci lub/i słaby zasięg; brak miejsca na urządzeniu w celu zapisania wymaganych informacji; brak zgodności wersji przy przenoszeniu listy itp.)

lista_zakupow_risk450px

W szczególności to ostatnie ryzyko może silnie wpłynąć na podany proces biznesowy – na każdym przejściu między krokami może wystąpić jakieś zdarzenie, którego nie zakładamy. Próbowałem to przedstawić na powyższym diagramie za pomocą strzałek “dwukierukowych”. Dodałem także elementy wpływające bezpośrednio na wykonanie danego kroku w procesie biznesowym – jak np. braku możliwości zapisu listy produktów lub jej aktualizacji.

Samo działanie sklepów internetowych jest oparte na przechowywaniu w sesji pewnej liczby informacji – wyobraźmy sobie, gdyby przy każdym kliknięciu pewne informacje byłyby nadpisywane, np. był czyszczony koszyk. Doświadczyłem takiego błędu w jednym z serwisów, gdy po zalogowaniu, kolejne kliknięcie w jakąś opcję, powodowało powrót do ekranu logowania. Było to bardzo denerwujące. Pewnie szybciej zignorujemy sytuacje, gdy oznaczenie ulubionej zakładki znika niż konieczność powtarzania kroków w procesie.