Ale to nie tak działa…

Setny wpis, a sama liczba 100 na przełomie stycznia i lutego kojarzy się z studniówką, do której przygotowują się licealiści. Wybór miejsca, jedzenia, muzyki, stroju, partnera itd. Można powiedzieć, że weryfikowana jest pewna lista kontrolna. A kolejne czynności układają się w proces. Tak to można określić. Kwestia przypomina mi pewną historię. Pamiętam jak kiedyś w czasie okresu przygotowań do studniówki, wychowawczyni klasy zadecydowała, że na wychowawczej będziemy wybierać pary do poloneza, znaczy się ona będzie wybierać.

Więc zaczęła wybierać, najpierw partnerka (nieistotne czy alfabetycznie, czy tak jak siedziały w klasie), a potem dobierała partnera. I tak szło, partnerka-partner, partnerka-partner, i było coraz ciekawiej. Można powiedzieć że był to powtarzalny proces z dwoma czynnościami, który zgodnie z jej założeniami procesu, kończył się, gdy wszyscy będą posiadać parę lub skończą się partnerki lub partnerzy. W sumie nieistotne, które zdarzenie zakończyło proces. Kroki na poniższym diagramie w BPMN, poza zielonym zdarzeniem, oznaczają proces założony przez wychowawczynię.

polonez2a450

Jednak sytuacja, nie była taka idealna, gdy próbowała wybrać jednego z partnerów, powiedział, że nie jest to możliwe, ponieważ już się umówił na parę do poloneza – jednym słowem jest zajęty. Wiedział widocznie z kim chcę iść i poczynił odpowiednie kroki wcześniej. Pojawiło się nowe zdarzenie w procesie (oznaczone na zielono na diagramie), które wprowadziło zamieszanie. Efektem jest alternatywna (a może wyjątkowa?) ścieżka postępowania – tłumaczenie, zmiana jego decyzji, poszukanie rozwiązania. Wychowawczyni nie do końca wiedziała jak zareagować – było to, co czego się nie spodziewała.

Czasami jest też tak w rzeczywistości, ktoś zakłada określony przebieg procesu, zbiera informację i w pewnym momencie trafia na jednego uczestnika, który miał potwierdzić proces, który stwierdza: „Ale to działa tu inaczej, ja robię to i to, a wtedy i wtedy, to…”. Dlatego tak istotne jest zaangażowanie uczestników procesu w przygotowanie procesu. W innym przypadku narażamy się na ryzyko, że jakieś zdarzenie zniweluje efekty naszej dotychczasowej pracy, a czas potrzebny na opracowanie procesu wydłuży się. Warto się wcześniej przygotować, zebrać eksperów dziedzinowych, przedstawić cel opisu procesu, jakie są granice procesu i zachęcić do zaangażowania. Warto także uzyskać potwierdzenie od osób zaangażoanych czy zgadzają się na założenia procesu lub wcześniej zarysowane jego granice.

Reklama

Wyjątek czy alternatywa?

W trakcie przedstawiania abonenckiego modelu biznesowego wskazałem w części wykonywanej po stronie systemu dwie sytuacje, które kończyły proces z efektem innym niż oczekiwany przez użytkownika. Efektem oczekiwanym przez użytkownika było „Udostępnienie dokumentu”. Zamiast mogło się pojawić zdarzenie „Brak dostępu” lub zdarzenie „Brak opłaty”.
Potem trafiłem na artykuł o rozróżnianiu ścieżek alternatywnych i wyjątków, zamieszczony na stronie ModernAnalyst.com – „Document Decisions Separately and Explicitly – A Proposed Use Case Scenario Best Practice”. Artykuł wskazywał 2 pojęcia:

  • Alternate paths (options) are the result of an actor’s choice.”
  • Exception paths (errors) are the result of the system’s choice.”

Pierwsze z nicj wskazuje na alternatywne działania użytkownika, a drugie na działania systemu w wyniku napotkanych problemów (wyjątków). Rozróżnienie takie jest jak najbardziej logiczne, ponieważ użytkownik często ma wiele opcji do wyboru. Każda z nich może zakończyć się poprawnie lub zostać przerwana. Przerwanie może być wynikiem błędu użytkownika, brakiem wykonania pewnych działań poza systemem lub po prostu natrafieniem przez system na wyjątek. Wyjątki mogą być różne. Przykładem dla tych drugich są wskazane powyżej sytuacje, w których system wykonując zaplanowane sprawdzenia trafia na wyjątek, co nie pozwala na prawidłowe zakończenie procesu, czyli przejście tzw. ścieżki głównej (przejście procesu bez wyjątków, do „Udostępnienia dokumentów”). Więcej o wyjątkach we wpisie „Obsługa wyjątków w wymaganiach

Co może być przykładem alternatywnego działania użytkownika?

Na powyższym diagramie (przykład w BPMN) zaprezentowano dwie ścieżki obsługi przez użytkownika sytuacji, gdy otrzyma komunikat o braku dokonania opłaty. Pierwsza z nich pozwala na prawidłowe dokończenie procesu – uzyskanie dostępu do poszukiwanego dokumentu. Druga z kolei, powoduje, że użytkownik przestaje korzystać z usług serwisu. Dzięki przedstawieniu różnych opcji użytkownika, obok tych standardowych, otrzymujemy pełniejszy obraz procesów, które mogą wystąpić w danym modelu biznesowym. W przedstawianym przekładzie mogą to być: „Rejestracja”, „Wyszukiwanie zasobów”, „Rezygnacja”, lub „Opłacenie”.