h1

Jak „zatrzymać” pętlę?

Styczeń 20, 2018

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ń.

 

Reklamy
h1

Przykładowy algorytm przydziału zadania

Styczeń 13, 2018

Od jakiegoś czasu w mediach oraz internecie poruszany jest temat algorytmu przydziału sędziego do zgłoszonej sprawy. Z jendej strony wielu się zastanawia jak działa taki algorytm, z drugiej, stosowne jednostki wskazują, że takiego algorytmu nie mogą ujawnić. Można zrozumieć obydwie strony. Brak ujawnienia tym bardziej ponieważ mógłby zostać np. nieodpowiednio użyty.

Po dzisiejszej dyskusji o algorytmach, o których pisałem już kilkakrotnie na blogu, którą słyszałem w telewizji “śniadaniowej”, postanowiłem, że napiszę wpis właśnie o przykładowym algorytmie przydziału osoby do zajęcia się zadnaiem. Nie będę wnikał, czy dotyczy to sędziów, lekarza, pracownika obsługi czy innej jednostki. Spróbuję to trochę uogólnić.

Załóżmy, że mamy grupę osób (wejście do algorytmu – lista osób) zajmujących się zadaniami zgłaszanymi przez osoby zewnętrzne względem tej grupy. Grupa ta ma określone umiejętności/specjalizacje (jeden z wejść do zadań zaznaczony na zielono na diagramie – specjalizacje osób), pracuje w różnych godzinach/dniach (kolejne wejście oznaczone na diagramie – plany urlopowe) oraz odnotowuje w systemie postęp zadania, jego aktualny status oraz szacowaną datę zakończenia (zebrane wspólnie jako kolejne wejście do kroku algorytmu wskazanego na diagramie – aktualny stan zadań).  Wydaje się, że to silne założenia, jednakże, aby system przydziału działał skutecznie oraz sprawiedliwie (nie wnikając co to znaczy) jakaś informacja zwrotna od osoby obsługującej powinna być.

alogorytm_przydzialu450px

Na powyższym diagramie został zaprezentowany przykładowy (wymyślony przeze mnie) algorytm przydziału zadania do jednej z osób z grupy, który sprawdza w pewnej kolejności określone kryteria (efektem jest zawężona lista osób zaznaczona na niebiesko). Te kryteria powinny działać tak, aby w miarę rozsądnym czasie udało się wybrać osobę. Ostatecznie działanie algorytmu można byłoby uprościć i przydzielać zadania rotacyjnie (osoba 1, osoba 2, … osoba n, osoba 1, osoba 2…) lub losowo (co może skutkować pewnymi dysproporcjami w przydziale zadań lub ich nadmiernym kolejkowaniem u danej osoby). W sytuacji, gdy nie jest to możliwe zadanie może trafić do ręcznego przeglądu lub na przydział z określoną liczbę dni.

Na działanie takiego algorytmu wpływa silnie przyjęte założenie dotyczące samego kolejkowania (założenie zaznaczone na diagramie zmienną Y) – czy danej osobie budujemy kolejkę zadań (może wtedy czekając na decyzję/informację do danej sprawy zająć sie inną), czy też zajmuje się zdaniem i dopiero po zakończenia lub w odpowiednim jego stanie jest przydzielane kolejne zadanie. Każde rozwiązanie ma swoje zalety i wady. Ważne jest również to ile napływa takich zadań w okresie czasu oraz ile średnio zajęcie się danym zadnaiem trwa. Na czas potrzebny na realizację zadania może się także charakteryzować specyficznym rozkładem – to, że większość zadań zajmuje kilka dni, nie znaczy, że nie ma jakiejś grupy zadań, których obsługa wymaga znacznie więcej czasu.

Nie dziwię się więc, że alogorytmu przydziału spraw nikt nie chce ujawniać/udostępniać. Jeżeli ktoś poświęcił określony czas na jego opracowanie, biorąc pod uwagę różne cechy (tak zakładam) oraz go wdrożył, to traktuje to jaką pewne know-how jednostki budującego jej wiarygodność. Tym bardziej jeżeli mówimy o algorytmie przydziału spraw, których rozstrzygnięcie wpływa bardzo zarówno na życie stron postępowania, jak i na opinię danego podmiotu.

h1

Zdrowe skutki procesu

Grudzień 28, 2017

Dzisiaj będzie nietypowo – o jedzeniu. Nie myślałem, że wyjazd na święta i spotkania przy świątecznym stole skończą się dyskusją o zdrowym żywieniu, składzie pokarmów, tych zdrowych i tych mniej zdrowych. Moment na dyskusję o tyle ciekawy, że świąteczne potrawy pewnie patrząc pod różnym kątem, mogą zostać przyporządkowane zarówno do tych zdrowych, jak i do tych mniej. Zależy to od okoliczności, ilości, ale i także czasu oraz środków przeznaczonych na przygotowanie potraw. Jednakże najciekawsza była puenta dyskusji.

Okazało się, że istnieją aplikacje na komórkę, które korzystając z dostępnego połączenia internetowego, na podstawie kodu kreskowego produktu (nie wszystkich) są w stanie wskazać jakie “środki” chemiczne (konserwanty, wzmacniacze smaku lub inne) znajdują się w danym produkcie (od sosów, przez przekąski po inne produkty kończąc). Z perspektywy użytkownika proces realizowany w aplikacji, wspierający – można tak to ująć – zdrowie żywienie, został zaprezentowany na poniższym diagramie.

zdrowy_proces_418px

Taka aplikacja (jedną z nich testowałem “w swojej kuchni”) wymaga dostępu do internetu (warunek wejściowy przy uruchomieniu), więc pewnie ma dostęp do jakiejś  bazy odpytywanej za pomocą łącza internetowego – aplikacja pozwala również na definiowanie produktów oraz przeglądanie poprzednich skanów. Każdy odnaleziony produkt jest prezentowany za pomocą listy składników (tzw. “E” oraz innych), z oznaczeniem ich charakteru – korzystny, obojętny, podejrzany, szkodliwy itd. Równocześnie podaje krótką informację o danym elemencie – sposób pozyskania oraz wpływ. Dla pewnych produktów pozwala na zapoznanie się z produktami alternatywnymi.

Korzystanie z aplikacji jest bardzo proste, można korzystać z niej w dowolnym miejscu, a integracja aplikacji z lampą/latarką komórki, pozwala także na odczytanie kodu w słabszych warunkach oświetleniowych. Wydaje się to bardzo pouczające – z jednej strony dowiadujesz się, czy jakiegoś produktu lepiej unikać, z drugiej można określić, czy przypadkiem jakieś dolegliwości nie wynikają akurat ze spożycia większej ilości produktu, zawierającego składnik potencjalnie je powodujący. Można także potwierdzić, że dany produkt zawiera jedynie „korzystne” składniki.  Efektem z realizacji procesu wspieranego przez aplikację jest “lepsze” zdrowie lub spożywanie bardziej zdrowego jedzenia.

Podany przykład aplikacji pokazuje jak technologia może wspierać codziennej życie. Komórkę mamy przeważnie na zakupach ze sobą, tym bardziej, że wielu użytkowników korzysta również z aplikacji komórkowych do budowania listy zakupów czy z mechanizmu przypomnień o określonych zakupach.

h1

Reguły poprawności/mocy

Grudzień 19, 2017

Ostatnio w wielu serwisach pojawiły się artykuły zawierające w treści informacje typu: “wyciekły konta”, “wyciekły hasła”, “miliony kont”, “lista serwisów, której sprawa dotyczy”, “link do serwisu pozwalającego na sprawdzenie wycieku”, “zmień hasło”, “lista najczęstszych haseł”. Przeglądając listę haseł można zauważyć, że wielu użytkowników ustawia bardzo proste hasła bez stosowania zalecanych reguł ich konstrukcji. Wiele serwisów porusza szczegółowo jak najlepiej ustawić hasło, aby było bezpieczne. Najlepiej również, aby w każdym serwisie było inne w przypadku tego samego użytkownika.

Poniższy diagram (zaktualizowany 22/12/2017) prezentuje przykładowy proces sprawdzania “poprawności” lub inaczej mówiąc “mocy” hasła. Są to jedynie wybrane reguły, w szczególności takie, których brak zastosowania “widać” na cytowanej w artykułach liście haseł, wybranych jako występujących najczęściej.

reguly2_450px

 

Wiele serwisów podczas rejestracji udostępnia mechanizm, który z jednej strony sprawdza minimalne parametry hasła (elementy na zielono), a z drugiej sprawdza “moc” hasła (elementy na niebiesko) – określając ją jako niska, średnia, wysoka lub bardzo wysoka. Skale te mogą być różne. Podział powyżej na te 2 części jest tylko moją propozycją (dość sztuczną). Podyktowane jest to próbą uporządkowania w jakiś sposób reguł służących do sprawdzenia “poprawności” hasła. Niektóre rozwiązania stosują także dodatkowy element, taki i jak sprawdzanie historii haseł poprzednio ustawionych (element na żółto).

Kolejność powyższych reguł lub bloków może być różna. Wynika od sposobu ich implementacji w mechanizmie weryfikacji hasła, choć można zauważyć, że brak przejścia określonej reguły, powoduje to, że nie trzeba sprawdzać innych reguł lub można je zweryfikować równocześnie lub sprawdzić za pomocą zmodyfikowanej reguły.

Polecam uważne ustawianie haseł dla swoich kont, nie tylko poczty elektronicznej. Bo chyba nikt nie chce aby w prosty sposób, ktoś nieuprawniony zaczął przeglądać nasze prywatne zapiski, korespondencję lub wykonane zamówienia/transakcje.

h1

Zmiana rodzaju faktury

Grudzień 9, 2017

Jak wielu pewnie odbiorców energii elektrycznej w moim regionie, otrzymywałem od operatora co 2 miesiące papierową fakturę. Faktura standardowo zwierała informację o szczegółach opłat, okresie którego dotyczą, zużyciu, danych identyfikacyjnych itp. Ważnym elementem znajdującym się na fakturze jest jej numer, który używałem podczas płatności.

Na jednej z ostatnich faktur, na dokumencie znalazła się także informacja o możliwości założenia konta w serwisie, a co za tym idzie otrzymywania faktur w formie elektronicznej. Staram się korzystać z takich możliwości, więc wszedłem pod właściwy adres.

Poniższy diagram opisuje po krótce jaki proces przeszedłem.

faktura450px

Można zauważyć, że w procesie nastąpiły 2 potwierdzenia przy użyciu podanego adresu e-mail – aktywacja konta oraz potwierdzenie zgody na faktury elektronicznej. Ciekawe jest to, że mogłem wszystko zrobić z domu, bez konieczności udawania się do punktu obsługi czy podpisywania dokumentów/zgód papierowych.

Warunkiem identyfikacji przypuszczam, że było to, aby podane dane – PESEL oraz numer faktury były zgodne z tymi zapisanymi po stronie operatora – ten pierwszy podczas podpisywania umowy, a ten drugi w momencie wystawienia danej faktury. Elementy te można potraktować jako “wejście” i również warunek wstępny dla procesu. Podanie adresu e-mail oraz loginu/hasła jest również wejściem do procesu, pozwalającym na jego przeprowadzenie.

Teraz, logując się do systemu, mogę sprawdzić historię odczytów, historię płatności, zapoznać się ze zmianami oraz zgłosić jakąś sprawę do operatora. Faktury są dostępne w jednym miejscu oraz będę mógł podać odczyt, jeżeli zajdzie taka potrzeba. Przejście na fakury elektroniczne ma także wymiar ekologiczny – zużywane jest mniej papieru.

h1

Czas realizacji procesu – przykład

Grudzień 4, 2017

Ostatnio opisywałem różne przypadki, z którymi się spotkałem podczas realizacji procesu zamówienia złożonego w sklepie internetowym. Każde złożone zamówienie do mnie dotarło, więc jestem zadowolony, ponieważ prezenty dotarły. Czas ich realizacji od momentu złożenia zamówienia do otrzymiania przesyłki był różny. W zależności od dostawcy, w ramach procesu dostępne był mniej lub bardziej rozbudowane narzędzia do monitoringu przesyłki.

Wybrałem jeden z przypadków, aby pokazać różne czasy realiazcji procesu, bazując z jednej strony na powiadomieniach mailowych, a z drugiej na informacjach zawartych na stronie do śledzenia przesyłki. Kluczowe daty/godziny dla zrealizowanego procesu zostały zaprezentowane na diagramie.

czas_realizacji450px

Na łączny czas dostarczenia przesyłki, patrząc na proces od początku do końca, składały się:

  • z punktu widzenia nadawcy przesyłki, działania wykonane w czasie T1 (między od 2017-11-19, g. 21:15 do 2017-11-20, g. 19:10), od momentu złożenia zamówienia do jej nadania u operatora,
  • z punktu widzenia operatora dostaraczającego przesyłkę – T2 (między 2017-11-20, g. 19:10 a 2017-11-22, g. 16:00), tj. do momentu dostarczenia przesyłki do punktu odbioru. W tym czasie mogły być wykonywane działania takie jak: transport przesyłki między punktami pośrednimi, przyporządkowanie przesyłki do kanału/kierunku dostawcy, oznaczenie statusu przesyłki itp.
  • czas oczekiwania na odbiór przesyłki z punktu przez klienta – T3 (między 2017-11-22, g. 16:00 a 2017-11-22, g. 19:40). Maksymalny czas oczekiwania przesyłki w punkcie: 5 dni roboczych.

Łącznie proces zajął TC (od 2017-11-19, g. 21:15 do 2017-11-22, g. 19:40), będacy sumą powyższych czasów. Na bazie tych informacji można byłoby określić także czas rzeczywistego (TR) przebiegu procesu, bez uwzględniania czasu oczekiwania, ponieważ zależy od tego, kiedy będę mógł udać się po przesyłkę (najlepiej jak najszybciej, ale nie przekraczając czasu, gdy przesyłka będzie czekać na odbiór). Informację o tym, że przesyłka oczekuje na odbiór, można potraktować jako moment zakończenia procesu.

Na powyższym diagramie można byłoby określić jeszcze T0, w czasie którego wybierałem produkt, określałem sposób dostawy, płatności a następnie potwierdziłem i opłaciłem zamówienie. Niestety nie policzyłem ile czasu zajęło mi złożenie zamówienia. Z punktu widzenia sklepu internetowego, do momentu potwierdzenia zamówienia ten czas nie jest istotny, o ile składanie zamówienia odbywa się w sposób i w czasie akceptowalnym przez użytkownika. Jeżeli czas się wydłuża ze względu na błędy systemu lub problemy z aplikacją, taka informacja mogłaby być cenna dla sklepu internetowego.

Jeżeli użytkownik loguje się do systemu, to można byłoby policzyć czas od ostatniego logowania do złożenia zamówienia lub czas od umieszczenia zamówienia w poczekalni do jego rzeczywistego zamówienia, W powyższym przykładzie skupiłem się na czasie upływającym od momentu, gdy następuje wskazanie konkretnego zamówienia do realizacji.

h1

Rejestracja w tle

Listopad 25, 2017

Pewnie nie tylko ja w ostatnim czasie rozgląda się już za prezentami świątecznymi. Jedni robią zakupy w sklepach stacjonarnych a inni zamawiają przez internet. Wybierają, przeglądają, porównują a potem wybierają gdzie taniej, łatwiej lub dostępne szybciej. Po wcześniejszych moim doświadczeniach z kurierem, kolejne zakupy przebiegały bez problemów a nawet mnie miło zaskoczyły.

Składając zamówienie w jednym ze sklepów internetowych, po zakończeniu całego procesu, opłaceniu zamówienia, bez rejestracji serwisie, dla porządku sprawdziłem potwierdzenie zamówienia na skrzynce pocztowej. Otwieram kolejne wiadomości dotyczące transakcji – złożenie zamówienia, dokonanie płatności oraz potwierdzenie zamówienia. W tej ostatniej wiadomości, znalazłem ciekawą informację:

  • Dane dostępowe do konta: XXX
  • Tymczasowe hasło: YYY

wraz z linkiem do aktywacji konta, wymuszającego ustawienie pierwszego hasła.

zalozkonto400px

Nie spodziewałem się takiej informacji i nie pamiętam, aby w trakcie składania zamówienia oznaczył chęć założenia konta. Można powiedzieć, że jest to wartość dodana z tego procesu i od klienta zależy, czy skorzysta z tej możliwości. Brakuje mi tylko informacji w wiadomości przez jaki czas jest ważna ta wiadomość, konto czy hasło. Może przez 2 tygodnie od momenu dostarczenia przesyłki, aby można było zgłosić ewentualną reklamację, a może dłużej. Nie sprawdzałem tego.

Konto zawiera więcej danych z zamówienia niż myślałem – obok adresu e-mail i imienia oraz nazwiska, znalazł sie też numer telefonu oraz adres pocztowy. Myślałem, że tych danych będzie mniej. W szczególności, adres, który podałem podczas zamówienia, mógłby się być tym, który użyłbym podczas kolejnego zamówienia. Na szczęście, nie były ustawione zgody na komunikację o nowych ofertach/promocjach.

W wielu serwisach, w różnych procesach, podajemy wiele różnych danych. Mogą one zostać wykorzystane do realizacji danego procesu zamówienia/wykonania zlecenia, a mogą także, jak w powyższym przykładzie zostać użyte do przyciągnięcia nas na dłużej do danego serwisu, za pomocą odpowiednio skonstruowanego udogodnienia – założonego konta (w tlem jak powyżej), wypełnionego wniosku czy możliwości szybszego złożenia dodatkowego zamówienia na kolejny produkt.

Oznaczając zgodę (często jest to zgoda na marketing), że serwis może wysyłać wiadomości reklamowe lub cykliczne informacje o zdarzeniach, poszerzamy jeszcze bardziej zakres możliwości. Wszystko zależy od danego użytkownika, na ile jest zainteresowany lub jakie jest prawdopodobieństwo, że powtórzy proces w przyszłości. Istotne jest to, aby świadomie wybierał gdzie podaje swój adres e-mail oraz pozostałe dane.