Nadmiarowe statusy?

Po opublikowaniu poprzedniego wpisu, dotyczącego „jakości” danych w systemie, z którego korzystają użytkownicy, robiłem porządki w poczcie. Przeglądałem wiadomości, których już nie potrzebuję, a dotyczyły opisanych we wpisie przypadków. W ramach listy wiadomości dotyczących przypadku (3), gdy zamówiony produkt był dostępny wg strony sprzedawcy, ale nie było go u dostawcy , zwróciłem uwagę na jedną rzecz. Wiadomości dotyczące tego zakupu zawierały nietypową, porównując do innych wiadomości, listę statusów zamówienia, które otrzymałem.

O statusach pisałem już wiele razy i z tych wpisów, bazujących na otrzymanych wiadomościach, statusy można sprowadzić do listy: utworzone, złożone, w trakcie realizacji, wysłane, dostarczone. Czasami pojawiały się statusy pośrednie lub dotyczące firmy dostarczającej przesyłkę. Statusy te wydawały się uzasadnione i przy okazji w wiadomościach wskazywane były dodatkowe możliwości (np. zmiana godziny dostawy). Natomiast w przykładzie do którego zmierzam, te statusy były inne, co prezentuje poniższy diagram.

nadmiarowe_statusy450px

Jak widać, jako Klient zostałem poinformowany, że złożyli zamówienie u dystrybutora (2 osobne wiadomości dla każdego produktu), potem, że idzie ono do magazynu (znów 2 wiadomości), a potem, że tam dotarło (uff… jedna wiadomość)…  Wybrane statusy były osobno dla każdego produktu. Wydaje się, że te trzy statusy mogłyby być przekazane jako w trakcie realizacji lub w kompletacji (przypadek z pewnego sklepu). A potem dopiero status wysłane. Byłoby to myślę wystarczające. To, że złożyli zamówienie u dystrybutora nic mi nie mówi i jest to raczej status wewnętrzny sklepu. Co ciekawe nie ma potwierdzenia złożenia zamówienia przez Klienta.

I tutaj przypomina mi się Brzytwa Ockhama, która zakłada, że „nie należy mnożyć bytów ponad potrzebę”. Moim zdaniem tutaj można byłoby tę zasadę zastosować i ograniczyć liczbę statusów do 2 i w szczególności nie rozdzielać statusów osobno na każdy produkt z zamówienia, a traktować je jako całość. Zamówiłem tylko 2 produkty i dostałem 6 wiadomości, a mógłbym dostać 2. Pierwszy np. o treści dla zamówienie w trakcie realizacji: „Otrzymaliśmy Twoje zamówienie i informujemy, że jej kompletujemy. Poinformujemy Cię, gdy zostanie ono wysłane” i drugi dla zamówienie wysłane: „Wysłaliśmy Twoje zamówienie. Dziękujemy za skorzystanie z naszych usług”. Byłoby prościej i otrzymałbym mniej wiadomości, które i tak potem usuwam.

Statusy cząstkowe czy o kluczowych etapach?

Ostatnio zamawiając wybrany produkt przez internet, proces zaówienia wyglądał jak zwykle, czyli wybór produktu, określenie parametrów dostawy oraz płatności, a na koniec płatność za pomocą wybranej usługi. Po chwili na skrzynce znalazłem informację z potwierdzeniem zamówienia. Wybrałem dostawę za pomocą firmy kurierskiej, więc wystarczyło czekać na dostawę w szacowanym terminie –  kilka dni.

Następnego dnia dostaję maila od firmy kurierskiej z informacją: “czekamy na przygotowanie przesyłki”. Po kilku godzinach – “odebraliśmy przesyłkę, powiadomimy o czasie dostawy kolejnym mailem”. Następnego dnia – “planowane dostarczenie w podanej lokalizacji i przedziale czasowym”. Otrzymałem także informację o tym, że mogę zmienić szczegóły dostawy – lokalizację i przedział czasowy. Na koniec, gdy kurier dostarczył mi przesyłkę i potwierdziłem podpisem odbiór, dostałem maila, że “przesyłka dostarczona”. Poszczególne statusy oraz powiązane kroki procesu zostały przedstawione na poniższym diagramie.

statusyczastkowe450px

Można powiedzieć, że zamiast „zwykłych” statusów o etapach (złożone, wysłane, w trakcie oraz dostarczone) z procesu przekazywane były Klientowi statusy cząstkowe. Te cząstkowe statusy były okazją dla firmy do udostępnienia dodatkowej możliwości elektronicznej zmiany szczegółów dostawy. Podobnie można było dokładnie zauważyć moment zmiany podmiotu odpowiedzialnego za realiazcję procesu – między przygotowaną przesyłką (strona zamawiającego na diagramie) a odebraną przesyłką (strona dostarczającego na diagramie). W takich procesach często na koniec występuje ankieta, pozwalająca na ocenę procesu.

Szczerze mówiąc zacząłem się zastanawiać, z jaką szczegółowością chciałbym być informowany o przebiegu realizacji procesu – mógłbym otrzymać numer przesyłki smsem, z możliwością jej śledzenia. Mając na uwadze, że czas realizacji był 1-2 dni, tak częste statusy wydawały się nadmiarowe, ponieważ gdybym sprawdził pocztę dopiero po kilku dniach zobaczyłbym 3-5 wiadomości dotyczącej przesyłki. Jeżeli okres realizacji byłby dłuższy, np. od momentu złożenia zamówienia do przygotowania przesyłki był okres kilku dni lub tygodni, to pewnie oceniłbym to inaczej. Korzyścią z rozwiązania było to, że dokładnie wiedziałem, gdzie jest przesyłka i mogłem się przygotować na jej odbiór od kuriera.

Status – informacja dla klienta czy dostawcy?

Zanim odpowiem na pytanie postanowione w komentarzu do poprzedniego wpisu, chciałbym przedstawić jeszcze jeden przykład. Przykład będzie dotyczyć statusów zamówienia w systemie składania zamówień przez klienta. Informacja o statusie może być przydatna zarówno dla klienta, który chce być informowany na jakim etapie jest zamówienie, jak i dla dostawcy, który może na tej podstawie tworzyć raporty. Można także pójść dalej i przechowywać dwa rodzaje statusów – zewnętrzne (biznesowe) i wewnętrzne (systemowe). Obydwa statusy mogą wynikać z wymagań.

Zastanówmy się w takim razie w jakich statusach może być zamówienie w analizowanym systemie składania zamówień:

  • zainicjowane/utworzone (z pierwszym dodanym produktem, klient może dodać kolejne produkty lub zaprzestać na jednym);
  • złożone (klient wysłał zamówienie do realizacji);
  • oczekujące na realizację (klient zrealizował płatność na złożone zamówienie lub potwierdził złożenie zamówienia);
  • w trakcie realizacji/realizowane (gdy realizacja zamówienia została rozpoczęta i jest w trakcie, w systemie obsługi opartym o kolejkowanie, można powiedzieć, że zamówienie zostało podjęte);
  • wykonane (przedmiot zamówienia został przekazany do klienta);
  • anulowane (klient wycofał zamówienie z różnych powodów już po złożeniu zamówienia);
  • wstrzymane (realizacja zamówienia została zatrzymana z różnych przyczyn);
  • usunięte (klient usunął zamówienie przed jego złożeniem);

Poniższy diagram (stanów) w UML prezentuje przejścia między poszczególnymi statusami (stanami Zamówienia).

Dla kogo ten krok?

W drodze”, „Zdezynfekowana”, „Czekam w punkcie” oraz „Odebrana” – takie cztery wiadomości (uogólnione na potrzeby wpisu) otrzymałem ostatnio od podmiotu pośredniczącego w dostawie produktu zamówionego w sklepie internetowym. Pierwszy komunikat pojawił się, gdy podmiot odebrał paczkę, drugi pojawił się, gdy paczka trafiła do sortowni (można to było sprawdzić śledząc paczkę), kolejny, gdy dotarła do wybranego punktu odbioru a ostatni oznaczał, że została odebrana. Dotychczas korzystałem kilkakrotnie z tego pośrednika i dopiero w okresie pandemii, pojawił się ten dodatkowy krok, związany z dezynfekcją (dokładnie ozonowaniem) przesyłki. Jest to krok, który wprowadziło wiele podmiotów. Jeden z nich (znalazłem taką informację w sieci Internet) uzasadnia tę zmianę, tym, że daje ona „możliwość zagwarantowania nadawcom i odbiorcom”, tego podmiotu, „maksymalnego poziomu bezpieczeństwa obsługiwanych przesyłek”.

Gdy czytałem takie informacje dotyczące różnych podmiotów zacząłem się zastanawiać w jaki sposób można scharakteryzować taki krok (ozonowanie/dezynfekcja przesyłki) w procesie dystrybucji paczki. Podnosi, zgodnie z powyższym cytatem, przede wszystkim bezpieczeństwo obsługi paczki – czym zainteresowany jest:

  • odbiorca (klient) przesyłki, ponieważ może ją odebrać bez ryzyka kontaktu z wirusami (związanych z pandemią),
  • osoby uczestniczące w procesie (pracownicy/personel), mogą spokojnie zająć się przesyłką na różnych etapach procesu, przekazać ją dalej,
  • właściciel i interesariusze firmy (akcjonariusze) – jeżeli pracownicy są bezpieczni, nie generuje to potencjalnego kosztu przestoju, szukania dodatkowych osób, generowania opóźnień w dystrybucji czy też akcji dodatkowej dezynfekcji większych powierzchni; jest to także pewnie wynik optymalizacji kosztowej – gdzie pewnie ryzyko związane z obsługą zainfekowanej przesyłki i szacowany koszt likwidacji skutków był porównany z kosztem wprowadzenia takiego kroku i jego stosowania w procesie.

Element ten to także budowa wizerunku i jasny komunikat dla społeczeństwa, że realizujemy dodatkowe kroki, aby nasi Klienci oraz pracownicy czuli się bezpieczni. To także reagowanie na zmieniające się otoczenie, wymogi sytuacji oraz możliwość zapewnienia ciągłości działania.

wartosc_dezynfekcja_547px

Można powiedzieć, że taki dodatkowy krok w procesie tworzy „wartość„. W szczególności, że nie wiąże się z dodatkowymi kosztami, a potencjalne (teoretyczne) opóźnienie z tego tytułu wydaje się akceptowalne z perspektywy odbiorcy. Dla mnie osobiście tak.

Na diagramie graficznie oznaczyłem dla kogo wynika wartość z tytułu poszczególnych etapów procesu oraz pojawienia się tego nowego elementu w procesie. Zgodnie z wyjaśnieniem powyżej – krok jest „współdzielony” przez różne zainteresowane strony. Dodatkowo został dodany stan dot. przeprowadzenia komunikacji na „rynku” dla potencjalnych/zainteresowanych osób o wprowadzonej zmianie. Diagram przedstawiony został w postaci diagramu stanów (ang. state diagram), opierając się na stanach zakomunikowanych odbiorcy bezpośrednio – pominięte zostały stany wskazane w mechanizmie śledzenia przesyłki. Są to stany kluczowe  dla przebiegu procesu, określające jego ramy zarówno z perspektywy dostawcy przesyłki, odbierającego ją od sklepu internetowego (sprzedający), jak i dla końcowego Klienta (kupujący), ponieważ szybko może się zorientować, na jakim etapie jest jego przesyłka i czy może udać się do punktu odbioru.

Dobrze jest zwrócić uwagę na takie inforamcje dotyczące podmiotów, z których korzystamy w okresie pandemii, ze szczególnym uwzględnieniem tego, czy podmiot wykonuje to bezpłatnie oraz na jakich warunkach i przy jakich ograniczeniach. Pozwoli nam to uniknąć na przykład sytuacji, gdy zostaniemy naciągnięci przez oszustów wykorzystujących taką sytuacją na rynku.

Ocena zamówienia – moment i konstrukcja

Udało się! Dotarło bez części zamówionych produktów, ale wreszcie odebrałem zamówienie, o którym pisałem w poprzednim wpisie. Przyszło w całości, nieuszkodzone, bezpiecznie zapakowane. Choć spodziewałem go się trochę wcześniej. Patrząc na zrealizowany proces mogę dla niego wskazać następujące komentarze:

  1. (+) sklep posiadał produkty, których szukałem,
  2. (+) ceny produktów były akceptowalne,
  3. (+) dostępne sposoby płatności i dostawy pozwoliły wybrać to, co mi pasuje,
  4. (+) nie odwołali/nie wstrzymali zamówienia w przypadku problemów,
  5. (+) produkty przyszły w całości,
  6. (-) zamówienie przyszło z opóźnieniem,
  7. (-) informacje o dostępności produktów nie są do końca prawdziwe, przez co nie dostałem kompletu zamówienia.

Podsumowując:  jestem zadowolony z realizacji tego zamówienia – biorąc pod uwagę liczbę (+) i (-). Co ciekawe sklep ma specyficzny sposób zachęcania do wypełnienia ankiety o zrealizowanym zamówieniu. Pierwszy raz dostałem prośbę, jeszcze przed wysyłką zamówienia – zachęcała do tego wiadomość: „Wystaw opinię o naszym sklepie w zamian za…..” – sprawdziłem, że przyszła po statusie „gotowy do wysłania”. Dzień po odebraniu przesyłki przyszła kolejna wiadomość: „Twoja opinia jest dla nas ważna”, która także odwoływała się w treści do możliwości nagrodzenia za wydanie opinii.

Na poniższym diagramie stanów w UML (ang. state diagram) umiejscowiłem tę prośbę o ocenę (stan „Brak oceny”) w całym procesie zamówienia, patrząc z perspektywy statusów, które otrzymałem w postaci wiadomości e-mail lub określiłem sobie samodzielnie (oznaczone na szaro).

nieocenione2_360px

Po otrzymaniu pierwszej wiadomości, zadałem pytanie: co tak szybko? Przecież zamówienie nawet do mnie nie zostało wysłane. Po drugiej wiadomości, zacząłem zastanawiać się czy chcę wypełniać tę ankietę i w jaki sposób ten fakt wpłynie na moją ocenę, uwzględniając również to, co opisałem w poprzednim wpisie. Ostatecznie uruchomiłem proces oceny, chcąc sprawdzić, czy będzie okazja do wypowiedzenia się w tej kwestii. Wyglądało to następująco:

  • Pytania dotyczyły zakupionego produktu – czyli pytania dotyczące komentarzy (1) i (5) powyżej.
  • Pytania dotyczyły procesu w samym sklepie – dla (2), (3) i (7) powyżej.
  • Pytania dotyczyły czasu dostawy – dla (4), (6) i (7),
  • Prośba o dodatkowe komentarze – tutaj mógłbym wskazać te elementy, o które nie było pytania bezpośrednio. Mógłbym pochwalić za pewną elastyczność związaną z brakiem produktów równocześnie wskazując, że można byłoby to poprawić. Mógłbym wskazać zastrzeżenia co do ankiety itd.

Zabrakło mi w czasie czy nawet przed wypełnieniem ankiety informacji, czy ankieta jest anonimowa, czy zostanie opublikowana na stronie czy tylko przesłana. Dopiero na ostatnim kroku, jest informacja o akceptacji regulaminu, który odpowiada na te pytania. Wydaje się, że taką informację w skrócie można byłoby zawrzeć na 1 ekranie lub w innej formie.  Można też powiedzieć, że wystarczyłaby wysyłka ankiety w tym drugim kroku, na przykład 2 dni po nadaniu przesyłki, zakładając standardowy czas realizacji dostawy dla wybranej formy dostawy.  Plusem jest to, że ankieta jest prostsza od tej, którą kiedyś opisywałem. Ma też element niestandardowy jakim jest możliwość zamieszczenia zdjęcia lub dodatkowe informacji związanej z zamówionym produktem (np. zachęcają do pokazania jak go odbiorca wykorzystuje).

Umiejscowienie prośby o ocenę dla zamówień , które ostatnio składałem, było różne. Konstrukcja ankiety również.   Przeważnie przychodziły w momencie powiadomienia o wysłaniu zamówienia. W jednym przypadku przyszła informacja z pewnym opóźnieniem. Ten czas opóźnienia dla ankiety jest dość istotny – z jednej strony wpływa na to ile pamiętamy z realizowanego procesu, a z drugiej może wpłynąć na samą chęć wypełnienia ankiety. Zależy to od tego jak sprawnie przeszło zamówienie, jakie spowodowało reakcje, a także od podejścia odbiorcy – jedni nie wystawiają ocen wcale a inni to robią zawsze i wszędzie. Reszta z odbiorców jest gdzieś pośrodku i pewnie na pytanie o to, czy wystawią ocenę, odpowiedzą krótko „to zależy”.  Podobnie jest z konstrukcją ankiety – długa i szczegółowa może zniechęcić do jej wystawienia. Prosta i krótka może zachęcić do jej częstego wypełnienia.

Gdy chodzi o pieniądze

Wczoraj słuchając wypowiedzi podczas konferencji prasowej, mającej miejsce późnym wieczorem, dotyczącej przekazania określonej kwoty ma media publiczne, zacząłem się zastanawiać jakie pytania/kryteria można postawić podejmując taką decyzję. Spokojnie, nie będę się zastanawiał nad pytaniami, które można postawić dokładnie we wspomnianej sytuacji. Nie będę się także wypowiadał na temat przedmiotu decyzji czy też wyrażał swojej opinii odnośnie podjętej decyzji. Nie będę też zastanawiał się nad konsekwencjami tej decyzji. Nie będę też nawiązywał do działań, które miały miejsce, przed podjęciem tej decyzji.

Spróbuję uogólnić taką sytuację skupiając się na samym procesie podejmowania decyzji. W sytuacji podejmowana decyzji o finansowaniu, decydent zbiera informacje, ocenia kwestie formalne oraz merytoryczne, identyfikuje cel finansowania i jego warunki a potem wskazuje jaka jest decyzja. Poniższy diagram przedstawia w formie drzewka decyzyjnego jakie kwestie mogłyby być brane pod uwagę podczas podejmowania decyzji o udzieleniu finansowania (z perspektywy komitetu bądź pojedynczej osoby).

kasa_530px

Na diagramie zaznaczono takie elementy jak:

  • przykład kwestii odnoszącej się do weryfikacji kwestii formalnych (kompletność wniosku – np. czy posiada wszystkie wymagane dane, załączniki, zgody);
  • weryfikacja merytoryczna w zakresie elementów biznesowych wniosku takich jak relacja wnioskowanej kwoty do planowanych efektów, korzyści biznesowych, uwzględnienia otoczenia biznesowego, sytuacji rynkowej;
  • weryfikacja prośby/wniosku w kontekście obowiązujących reguł czy zasad; np. w organizacji może funkcjonować przepis, że na dany rodzaj inicjatywy przeznaczamy tylko określoną kwotę budżetu lub odgórne postanowienie, że nie podejmujemy zobowiązań finansowych w kontekście określonych podmiotów/dostawców (bo na przykład ryzyko jest za duże);
  • decyzja odnośnie tego czy przekazanie środków powinno być obarczone dodatkowymi warunkami (np. Zestawienia wykorzystania, udostępnienie w transzach) czy wnioskujący otrzymując środki nie musi nic więcej robić.

Punktem wejścia do podejmowania decyzji jest weryfikacja dostępności budżetu. Jeżeli środki się skończyły lub dostępny budżet został zarezerwowany na inne kwestie, to wtedy wniosek jest odrzucany bez dalszej analizy. W przypadku, gdy środki są dostępne, możliwe są różne warianty sytuacji, począwszy od odrzucenia wniosku z powodów formalnych, przez odrzucenie ze wskazaniem elementów do wyjaśnienia, potem akceptacje warunkowe czy na koniec akceptacja bezwarunkowa. Wszystko zależy od rodzaju wniosku, osób podejmujących decyzję oraz przyjętych zasad, a także innych kwestii specyficznych dla danej organizacji czy podmiotu gospodarczego.

Akceptacja środków może być także wielostopniowa – w zależności od kwoty czy przedmiotu, który będzie podlegał finansowaniu. Można sobie wyobrazić, że na diagramie dojdzie element, który wskaże, że wniosek zostanie przekazany do wyższej instancji lub innego komitetu. Często w statusach spółek (czego odzwierciedlenie można znaleźć w KRS), są informacje kto może podejmować zobowiązania, w jakim zakresie i do jakich kwot. Takie przesunięcie decyzyjności może się pojawić w momencie analizy wniosku, pozyskania dodatkowych informacji czy też dostępności lub nie w danym momencie osób uprawnionych, a także aktualności pełnomocnictw czy występującego otoczenia biznesowego. Podczas analizy mogą wyjść kwestie, które należy skonsultować z jednostką prawną, podatkową czy też działem księgowości.

Warto tutaj dodać, że może też także występować możliwość odwołania się od decyzji. Zgodnie z przyjętymi zasadami w organizacji czy podmiocie gospodarczym, osoba zainteresowana musi wykonać odpowiednie kroki, aby ponownie rozpatrzono jego wniosek o finansowanie. Efektem może być ponowne przejście powyższej ścieżki lub podtrzymanie decyzji bez analizy.

Przypuszczam, że wielu moich czytelników czekało kiedyś na taką decyzję, starało się o podjęcie decyzji uczestnicząc w wyjaśnieniach. Może niektórzy nawet brali udział w podejmowaniu takiej decyzji – jestem ciekawa czy jeszcze jakąś kwestię można wskazać jako element takie procesu.

Gdy brak zdarzenia…

Ostatnio idąc do pracy, zauważyłem jak zmienia się cykl na skrzyżowaniu, które muszę pokonać. Samochody zaczęły zwalniać i w momencie jak dotarłem na skrzyżowanie zapaliło się im czerwone a ja nacisnąłem przycisk dla pieszych, aby wywołać zielone. Niestety zgodnie z cyklem zapaliło się światło zielone najpierw na jednej podporządkowanej, potem na drugiej. W tym momencie powinno zapalić się światło zielone dla pieszych, ale to nie nastąpiło. Przypuszczam, że za późno nacisnąłem przycisk, aby algorytm zmiany świateł to wyłapał. Może przycisk nie działał, choć to raczej nie możliwe, bo często z tego przejścia korzystam. Mogę przypuszczać, że cykl jest ustawiony jak na poniższym diagramie.

cykl_swiatel_450px

Na powyższym diagramie w BPMN wykorzystane zostały elementy:

  • Zdarzenie oparte o czas (nadejście określonego momentu czy minięcie określonego czasu), co jest oznaczone przez obiekt timer event. Na diagramie są 2 takie zdarzenia: początkowe dla procesu (start timer event), oznaczone jako (A) na diagramie oraz pośrednie, występujące wewnątrz procesu (intermediate timer event), oznaczone kolejnymi literami (B, C, D, E).
  • Zdarzenie informujące o otrzymaniu sygnału/komunikatu od zewnętrznego aktora (message event), tym razem zastosowane wewnątrz procesu (intermediate message event). Takim komunikatem/sygnałem jest żądanie od pieszego, który oczekuje zmiany światła z czerwonego na zielone dla przejścia dla pieszych. Ostatnio wskazywałem, że to zdarzenie może rozpocząć proces. W tym wypadku to zdarzenie wpływa na przebieg procesu, który wykonałby się i tak bez tego zdarzenia – nastąpiłaby zmiana świateł, tak, aby samochody z dróg podporządkowanych mogły przejechać przez skrzyżowanie. Różnica między obiektami jest widoczna na diagramach – jedno z nich ma pojedynczą linię (początkowe), a drugie podwójną (wewnątrz procesu).
  • Bramka oparta o zdarzenia (event-based gateway) do rozdzielenia ścieżki. Bramka ta (typu exclusive) działa w ten sposób, że pierwsze napotkane zdarzenie inicjuje uruchomienie ścieżki/przebiegu procesu, występującego po tym zdarzeniu. Na końcu rozdzielenia też jest bramka i w zależności od jej rodzaju – wszystkie ścieżki muszą dojść do tego miejsca lub wystarczy jedna, aby proces przeszedł dalej. W powyższym przykładzie zastosowano również bramkę, która oznacza, że wystarczy tylko jedno z „wejść”, aby przejść dalej w procesie (tzw. exclusive gateway). Taka bramka znajduje się także poniżej, w celu wyboru jednej ze ścieżek, w zależności od tego, czy światło dla pieszych jest zielone czy nie. Decyzja oparta jest o zebrane dane/statusy (exclusive data-based event) a nie zdarzenia. Wcześniejsze zdarzenie (żądanie pieszego) spowodowało zmianę światła lub nie – jest to w sumie zero-jedynkowe. Takie oznaczenie można zaliczyć do danych sterujących procesem. Gdy brak takiego zdarzenia, zadania dotyczące światła dla pieszych w przebiegu procesu zostaną pominięte.
  • Zadania (ang. tasks) wykonywane w procesie – zmiany świateł na czerwone, a potem na zielone dla odpowiednich sygnalizatorów oznaczonych numerami (1)-(4).
  • tzw. artefakty, czyli dodatkowe elementy rozszerzające interpretację diagramu. Dodałem komentarze dotyczące przebiegu procesu, aby lepiej oznaczyć miejsca, które opisuje w punkcie dotyczącym bramek. Są to informacje dodatkowe, które nie sterują przebiegiem procesu, a pozwalają lepiej zrozumieć przedstawiony diagram.

Za pomocą wskazanych obiektów można sterować przebiegiem procesu oraz sekwencją wykonywanych zadań. W zależności od obsłużonych zdarzeń lub ich kolejności wystąpienia, proces pójdzie ścieżką „domyślną”, obsłuży wyjątek lub zastosuje zadania wynikają z alternatywnego przebiegu procesu. Powyższy proces mógłby przebiegać tak, że zawsze następuje przełączenie światła dla pieszego – z czerwonego na zielone, niezależnie od jego żądania.

Może być też tak, że w zależności od liczby żądań, czy jedno czy z dwóch stron jezdni, zmiana świateł dla samochodów następuje szybciej lub czas oznaczający, że konieczne jest przestawienie świateł się wydłuża. Pewnie istnieje też system, który dostosowuje długość cykli do ruchu lub natężenia ruchu pieszych. W niektórych miastach były testowane (a nawet chyba są wdrożone) takie mechanizmy, które badają natężenie ruchu lub mają zmienny system sygnalizacji w zależności od pory dnia.

Przypominam o możliwości wypełnienia anonimowej ankiety dot. mojego bloga – https://www.surveymonkey.com/r/LVC5B59. Wypełnienie ankiety to tylko kilka minut. Dzięki niej będę mógł tworzyć treści bardziej dostosowane do Waszych oczekiwań. Jeżeli pojawią się jakieś uwagi do samej ankiety lub problemy z jej wypełnieniem prośba o sygnał w komentarzu lub na adres e-mail podany po prawej stronie.

Black Friday

Black friday, black week, czarny piątek, czarny tydzień, black weekend, promocja, do 50%, do 60%, do 70%, darmowa dostawa … tak przez ostatni tydzień, w piątek a potem w weekend atakowały nas sklepy stacjonarne i internetowe. Wielu się skusiło. Jedni wybrali rzeczy potrzebne a inni mniej, kupując pod impulsem chwili.  Jedni płacili gotówką a inni wykorzystali elektroniczne formy płatności. Ci co korzystali ze sklepów internetowych pewnie użyli pośredników płatności.

Czytając publikacje na ten temat można się spotkać z pojęciem Pay-by-link (PBL), które oznacza że w momencie przejścia do płatności ze sklepu i zalogowaniu się do banku, dane przelewu są już wypełnione i wystarczy tylko zweryfikować (koniecznie!) i potwierdzić transakcję. Potem wracamy do sklepu. Jeden z pośredników udostępnił dokumentację techniczną usługi w sieci Internet. Poniższy diagram jest uogólnieniem procesów znalezionych w różnych publikacjach a odnoszących się do zasygnalizowanego procesu płatności. Działania wymagające współpracy dwóch podmiotów zostały zaznaczone na żółto (odpowiednie oznaczenie na diagramie).

black_friday_400px

W dokumentacji jednego z pośredników można znaleźć informacje o wejściach (atrybuty na wejściu) które musi zapewnić sklep aby proces się udał (są to wybrane atrybuty):

Atrybut Komentarz
id sklepu Ustalony między podmiotami
kwota transakcji na podstawie zamówienia złożonego (krok „Złóż zamówienie„) przez Klienta oraz kosztów sposobu dostawy wybranego przez Klienta, używane podczas wypełnienia formularza przelewu
waluta transakcji używane podczas wypełnienia formularza przelewu
opis transakcji określane przez sklep na bazie zamówienia, używane podczas wypełnienia formularza przelewu
adres powrotny po płatności określane przez sklep, dzięki czemu pośrednik wie gdzie wrócić w ramach kroku „Obsłuż powrót
dane osoby dokonującej płatności dane pomocnicze
dodatkowe parametry techniczne dane pomocnicze

Powrót do sklepu oznacza wyjścia (wybrane atrybuty):

Atrybut Komentarz
id sklepu Analogiczna wartość jak przy wejściu
status transakcji Informacja o tym w jakim stanie jest transakcja
flaga zakończenia Oznaczenie dla sklepu czy transakcja się zakończyła
data/czas transakcji Data/Czas wykonania transakcji
zwrotne wartości parametrów wejściowych dane pomocnicze
dodatkowe parametry techniczne dane pomocnicze

Szczegółowe dane i ich opisy można znaleźć w dokumentacji technicznej pośrednika.

Dzięki temu, że pośrednik dba o przekazanie odpowiednich danych w obydwie strony między sklepem a bankiem, korzystanie z tego procesu jest wygodne i szybkie. Wymaga wprowadzenia określonego zestawu danych po drodze, które zapewniają, że transakcja jest bezpieczna i wykonana świadomie przez Klienta. Ogromną zaletą jest to, że formularz przelewu jest wypełniony danymi zgodnymi z danymi podanymi w sklepie internetowym i wynikających z określonych parametrów zamówienia. Nie trzeba ich powtarzać w ręcznie wypełnianym przelewie, co mogłoby nieść za sobą ryzyko błędów.

Taki sposób działania bardzo ułatwia skorzystanie z promocji oferowanych w ramach dni typu black friday i podobnych. Przy korzystaniu z kilku sklepów w czasie jednego dnia Klient unika ryzyka popełnienia błędu podczas ręcznego wypełniania przelewu. Sam czas potrzebny do opłacenia zamówienia produktu lub produktów jest skrócony do minimum.

Oczekiwane statystyki czasu realizacji

Pozostając w wątku zakupów internetowych, dziś ponownie nawiąże do wiadomości e-mail, którą otrzymałem. W tym samym tygodniu, co ankietę, otrzymałem maila od innego sklepu, w którym zwykle robię takie zakupy, ale ostatnio czas realizacji zamówienia nie był dla mnie akceptowalny. Nastąpiło wydłużenie czasu od złożenia zamówienia do nadania przesyłki przez sklep. Wcześniej były to 1-2 dni, a ostatnio nawet tydzień. Po otrzymaniu tej wiadomości, dałem im szansę, bo w ofercie mają kilka produktów, których nie ma ten drugi sklep (czyli szerokość oferty  bardziej mi odpowiada). A może nie miałem wyjścia?

Treść wiadomości zawierała sformułowania typu „Zdajemy sobie sprawę, że nasz serwis w tym okresie mógł zawieść Twoje oczekiwania […] mamy nadzieję, że te chwilowe problemy nie wpłyną na dotychczasowe zaufanie.[…] Przywróciliśmy standard realizacji zamówień – wysyłamy przesyłki w ciągu 1-2 dni roboczych od złożenia zamówienia. […]”. Na koniec było odesłanie do serwisu ze wskazanymi czasami realizacji.

czas_realizacji450px_v3

Na diagramie, który zamieściłem kiedyś we wpisie z przykładami czasu realizacji (powyżej), zaznaczyłem miejsce, które sklep pewnie monitorował i zauważył, że nastąpiło jego znaczne wydłużenie. Taka obserwacja jest prosta do monitorowania – wystarczy badać czas między zapisem/złożeniem zamówienia (czas zapisu/złożenia – Z) a czasem odnotowania nadania przesyłki (czas nadania – N). Obydwie informacje przychodzą w wiadomości e-mail w postaci statusów, więc muszą być także odnotowane w systemie.

Sklep może prowadzić dzienny monitoring czasu realizacji zamówienia (N-Z) w zakresie maksymalnej wartości, minimalnej, mediany, dominanty czy średniej (pojęcia wyjaśnione poniżej). W zależności od rozkładu tych wartości, może podejmować odpowiednie decyzje lub zaplanować właściwe kroki. Jeżeli wartości wykraczające poza 1-2 dni są sporadyczne pewnie nie wymagają pilnych akcji.

Gdyby zobrazować na wykresie częstość występowania poszczególnych czasów realizacji dobrze byłoby, gdyby wykres był prawostronnie skośny (co zostało zaprezentowane na diagramie). Oznacza to, że większość wartości jest na początku przedziału 1-2 dni, a mniej powyżej 2 dni.

Rozkład prawostronnie skośny to taki rozkład, w którym zachodzi nierówność dominanta < mediana < średnia, czyli

  • [średnia:] średni czas realizacji zamówienia jest wyższy niż
  • [mediana:] czas realizacji zamówienia, który dzieli wszystkie pomiary czasu na 2 równe części co do występowania, a ten jest większy od
  • [dominanta:] czasu, który występuje najczęściej w rozkładzie czasów realizacji.

 

Jak „zatrzymać” pętlę?

Do poprzedniego wpisu dot. algorytmu przydziału zadania, pojawił się komentarz: “Jak w powyższym przypadku zatrzymać pętle? Mam na myśli to, że po kliku przebiegach algorytmu nadal może nie być sędziego.”. Dzięki za komentarz, Postanowiłem temat kontynuować w dzisiejszym wpisie, jednakże nadal nie będę wnikał o jaki rodzaj zadań chodzi podczas przydziału wg algorytmu.

W poprzednim wpisie wskazałem, że momencie braku możliwości przydziału osoby w danym przebiegu, sposobem jest powtórzenie próby przydziału w kolejnym przebiegu. Ten kolejny przebieg, w których uwzględnimy tę sprawę może być rzeczywiście tym następnym lub po jakimś czasie, wszystko zależy od konfiguracji algorytmu. Zgadzam się, że to może nie rozwiązać kwestii.

algorytm_wyjscie_z_petli_440px

Dlatego można też sprawdzić liczbę takich prób lub sprawdzić potencjalnie kiedy – efekt jest zawarty z zdarzeniu Możliwy przydział w czasie T przy wyjściu z bramki po zadaniu Zweryfikuj ograniczenia:

  • będzie dostępna osoba, która ma określoną specjalizację, gdy ten fakt jest ograniczeniem (zarówno ze względu na założone limity jako niedostępność fizyczną);
  • zmniejszy się liczba spraw, która jest obecnie w obsłudze, tj. zostaną zakończone lub zmieni się ich status, gdy obecne wykorzystanie “kolejek” zadań jest ograniczeniem;
  • osoba o największym doświadczeniu mogłaby podjąć się zadania.

Alternatywą dla tych przykładowych rozwiązań, jest przekazanie przy określonych warunkach, sprawy do ręcznego przydziału, do administratora lub do innego forum – zawarte w zdarzeniu Do ręcznego przeglądu i po analogicznej bramce jak powyżej. Zgadzam się, że algorytm powinien przewidywać jakieś wyjście z pętli, aby sprawy nie krążyły w nim bez przydziału, bez rozwiązania. Dla zadań mogą być określone oczekiwane czasy ich rozwiązania lub jednostka je przyjmująca ma zdefiniowane parametry pierwszej rekacji lub nawet rozwiązania danego zadania.

Podsumowując, osoba tworząca założenia dla algorytmu przydziału zadań, może zadecyować o kolejności weryfikacji warunków przydziału, tworzeniu listy osób branych pod uwagę przy danym zadaniu, poziomie skomplikowania algorytmu oraz momentu, w którym potrzebny jest przydział poza warunkami lub wręcz ręczna obsługa. Kształt algorytmu bazuje także na informacji zwrotnej od osób obsługujących, wiedzy o nich oraz sposobie parametryzacji zadań.