Gdy pojawia się problem z produktem

Houston, mamy problem” (ang. Houston we have a problem) to chyba jedno ze sformułowań, które zna każdy. Słyszał je, używał, oglądał film, gdzie ono padło czy nawet zna historię tego sformułowania (choć w rzeczywistości brzmiało trochę inaczej). A może ktoś czytał książkę o takim tytule? Ale nie, spokojnie dzisiaj nie będzie o filmie, książce czy podboju kosmosu, będzie o problemach. Słowo to pada w różnych określeniach… „mam problem”, „chyba mamy problem”, „problem do rozwiązania”, „problematyczne”, „zarządzanie problemami”, „rozwiązywanie problemów” itd.

Czasami mówi się, że lepiej powiedzieć zamiast problemu, że istnieje wyzwanie (podobno lepiej brzmi). Fakt jest taki, że zadziało się coś, czego się nie spodziewaliśmy, co powoduje nieprawidłowe działanie, niedostępność usługi/procesu/produktu, powołanie komitetu sterującego czy konieczność podejmowania szybkich decyzji. Mamy tutaj więc dwie strony „medalu” – identyfikację problemu oraz reakcję na problem.

Z nazwaniem czy identyfikacją problemu, stwierdzeniem faktu jego istnienia przez osobę, która ma z nim do czynienia, nie ma jakiejś wielkiej trudności. Wyzwanie (świadomie używam tego słowa) pojawia się z drugiej strony – w reakcji na znaleziony problem. W zależności od przyczyny problemu czy zależności od tego, co wcześniej wykonała dana osoba, z komunikowaniem problemu szerszemu gronu może być trudniej, a czasami może to powodować strach/przerażenie czy też inną reakcję, może ucieczkę.

Mając w pamięci różne sytuacje, zarówno te, w których byłem odbiorcą komunikatu, czy biernym obserwatorem czy też osobą identyfikującą problem, mogę pokusić się o identyfikację (czyt. nazwanie) kilku podejść do takiej sytuacji (podane nazwy to pierwsze skojarzenia z zachowaniem, moje bardzo subiektywne określenia):

  • śpioch – nie robi nic, niech problem sam się rozwiąże, może ktoś inny go też znajdzie i podejmie kroki; nie musi się martwić i tłumaczyć, sprawdzać itd. W tej sytuacji nie czuje się odpowiedzialny za problem a także jego/jej działania nie przyczyniły się do niego;
  • konspirator – również nie robi nic, a wręcz ukrywa problem. Może ktoś przy okazji znajdzie go w innej sytuacji i powie o nim. Wtedy może udać zdziwienie lub podejść do tego inaczej. Reakcja wynika często z tego, że po pierwsze nie chce podjąć działań, boi się reakcji, oceny ale z drugiej nie chce wziąć odpowiedzialności za swoje działania lub brak działań, które przyczyniły się do pojawienia problemu;
  • ofiara – mówi, że jest problem. Żali się jak do niego mogło dojść, że to przeoczył/a. Niech każdy pomoże, on/a sobie nie poradzi. On/a nic nie potrafi, jak robi takie błędy. Plus jest taki, że problem wychodzi na jaw, ale równocześnie trzeba sobie poradzić z osobą zgłaszającą, która tworzy niezbyt przyjemną atmosferę;
  • współpracownik – mówi, że jest problem, ale stara się do niego podejść racjonalnie. Znaleźć przyczynę, porozmawiać o skutkach, przyznać się do błędu, ale nie robić wokół siebie zamieszania jak w przypadku „ofiary„. Wtedy skupiamy się na faktach i działamy. Nie szuka winnego. Współpracujące zachowanie może się pojawić także wtedy, gdy ktoś nie ma wpływu (jak w przypadku „znalazcy” poniżej), ale chce pomóc bardziej (na przykład sprawdzić po rozwiązaniu, uczestniczyć w testach, dostarczyć szczegółowe dane dotyczące problemu lub nawet zaangażować się w zespół wraz z propozycją rozwiązań). Postawa ta może być także w przypadku powiązania z problemem;
  • bohater – stwierdza, że jest problem i już znalazł jego rozwiązanie. Wskazuje wokół co trzeba zrobić, kogo poinformować, jak działać. Bierze na siebie odpowiedzialność równocześnie stając się liderem tematu od „a” do „z”, nawet przygotowując lessons learned, aby taka sytuacja nie powtórzyła się w przyszłości. Nie szuka winnego;
  • sędzia – wskazuje, że jest problem, równocześnie wskazując co jest przyczyną, najlepiej ze wskazaniem osoby/procesu/tematu, który się do tego przyczynił. Jeżeli problem jest spowodowany przez kogoś innego, to bez skrupułów następuje ocena sytuacji. Jeżeli problem jest spowodowany przez działania danej osoby, wskazywana jest słabość systemu lub procesu, który nie zabezpieczył przed problemem;
  • znalazca – mówi, że jest problem, ale nie ma możliwości zajęcia się nim, nie ma wpływu na system, proces, jednostkę itd. W szczególności ma to miejsce, gdy jest Klientem, użytkownikiem, odbiorcą.

Wyobraźmy sobie, że przez kilka sprintów zespół deweloperski pracował nad produktem, zgodnie z kierunkiem wskazanym przez product ownera. Wszystkie ceremonie przeszły bez problemów. Na planowaniu była pełna gotowość do realizacji zmian, na review prezentowany był pięknie działający produkt z kolejnym przyrostem. Na daily czy retrospektywnie nikt nie zgłaszał problemów czy trudności. Zadecydowano o wdrożeniu, mijają dwa dni i następuje wielkie bum… w jednym z kluczowych procesów produktu, następuje błąd. Trafia zgłoszenie do zespołu w kolejnym sprint, wszystkie prace są wstrzymane w celu jego rozwiązania. Jest problem z produktem. Wiadomo gdzie, w którym miejscu i… Ktoś zgłosił problem, więc zachował się jako „znalazca” a nie „śpioch”. W zespole (oznaczonym jako osoby na kole przerywanym na diagramie powyżej). zaczyna się szukanie przyczyny problemu i w zależności od przyczyny problemu mogą pojawić się różne z wymienionych zachowań – na przykład:

  • sędzia” może powiedzieć, że to przez brak odpowiednich testów, które powinny być wykonane przez osobę X, zespół XYZ (przykład oznaczony na diagramie powyżej na szaro jako osoba poza zespołem);
  • ofiara” może powiedzieć, że to moja część pracy, zacząć płakać na spotkaniu, że przez nią Klienci mogą nas oczernić na forach. Że ja sobie nie poradzę z tą sytuacją (przykład na czerwono oznaczony na diagramie powyżej).
  • bohater” może powiedzieć, że wie jak obejść problem. Na przykład może wskazać, że problem znika, gdy na danym ekranie, użytkownik zapisze dany stan, zrestartuje aplikację i ponownie wejdzie (przykład na zielono oznaczony na diagramie powyżej).
  • konspirator” może powiedzieć, że to nie nasz problem, u nas wszystko działało, mamy potwierdzenia z testów i kto inny powinien się zająć problemem (przykład oznaczony na fioletowo na diagramie powyżej).

Spotkałem się z różnymi reakcjami w takich sytuacjach i moim zdaniem najłatwiej jest, gdy wszyscy są albo „współpracownikami” (przykład na pomarańczowo zaznaczony na diagramie powyżej) albo „bohaterami” bo wtedy najszybciej można rozwiązać problem, nie ma szukania winnych. Jeżeli osoba, która zawiniła przyzna się do błędu i pomoże w identyfikacji miejsca, ułatwi to wszystkim pracę. Gdy ze względu na duch współpracy, zaangażuje się, też to ułatwi wszystkim zadanie.   

Powyższe określenia są moją subiektywną próbą zobrazowania zachowań, które obserwowałem w różnych sytuacjach biznesowych i prywatnych. Pewnie nie pokrywają pełni możliwości, ale moim zdaniem wskazują te, które dość często można zaobserwować. Te, które są bardzo wyraziste.

Sieć wyzwań dla procesu

Brak właściciela, przeładowany krokami nie wnoszącymi wartości dodanej, bez metryk, niespełniający oczekiwań odbiorcy … to tylko cztery wyzwania, które stoją przed procesami biznesowymi, spośród 11 wymienionych w artykule, na który ostatnio trafiłem – chodzi o artykuł „The 11 most common business process challenges and how to defeat them”, który polecam (skłania do refleksji). Wymieniłem te 4 wybrane, ponieważ o tych między innymi wielokrotnie pisałem na swoim blogu w różnym ujęciu:

Wszystkie wymienione (wyzwania, stąd (CXX) od ang. Challenge, oznaczenia wykorzystane na diagramie) we wskazanym artykule to (pozwalam sobie je przytoczyć w formie listy bo nie ja je wymyśliłem i zebrałem, zachowując oryginalne nazwy – w sprawie szczegółów odsyłam do wskazanego powyżej artykułu, gdzie każdy podpunkt jest dokładnie opisany; tłumaczenia dodane pomocniczo w nawiasach): „

  • (C1) Business process not defined (proces nie jest zdefiniowany),
  • (C2) Business process not owned (proces biznesowy bez właściciela),
  • (C3) Purpose not understood (cel procesu nie jest zrozumiany),
  • (C4) Business process not followed (nikt nie podąża za procesem),
  • (C5) Customer not understood (Odbiorca/Klient nie jest poznany/nie zostały poznane jego potrzeby),
  • (C6) Supplier not understood (Dostawca nie jest poznany/uczestnicy nie rozumieją jego potrzeb/nie znają go),
  • (C7) Cumbersome to execute (Proces jest uciążliwy do wykonywania),
  • (C8) Loaded with non-value added work (Przeładowany pracą, która nie wnosi wartości dodanej),
  • (C9) Performance not measured (Proces nie jest pomierzony pod kątem wydajności),
  • (C10)  Not linked to strategy (Nie połączony ze strategią),
  • (C11) Don’t understand what business they are really in (Brak zrozumienia dla biznesu, w którym funkcjonuje)”.

Po zapoznaniu się z artykułem, zacząłem się zastanawiać czy nie można stworzyć między nimi diagramu powiązań, wykorzystując do tego myślenie systemowe. Moim zdaniem pewne elementy pociągają za sobą inne:

  • Ciężko na przykład mówić o zmierzeniu procesu (C9), jeżeli nie wiemy gdzie są granice procesu, jakie kroki się na niego składają (C1).
  • Z racji, że to właściciel powinien pilnować tego jak funkcjonuje proces, czy jest zrozumiały i jakie są zależności między dostawcą, procesem a jego odbiorcą – czyli podejście SIPOC. Gdy jego zabraknie (C2) to proces dzieje się w „swojej” formie (C7) lub nie jest wykorzystywany wcale (C4). Elementy te zostały zaznaczone na czerwono (gdy nikt nie dba o proces, nie mierzy go, nie weryfikuje, nie dostosowuje do branży, to pojawiają się kolejne problemy).

Na diagramie wskazałem więcej takich powiązań. Skutkiem „kumulacji” różnych braków (wyzwań) jest to, że proces może być uciążliwy (C7) dla uczestników lub szukają oni obejść, nie chcą stosować się do przyjętych reguł lub przestają podążać wg procesu (C4) – zaznaczone na szaro na diagramie.

Zaprezentowane zależności to przykład mający na celu zobrazowanie idei, o której myślałem i bardzo subiektywne spojrzenie z mojej strony. Zachęcam moich czytelników do komentarzy i sugestii.  

Myślenie systemowe, o którym wspominam powyżej, pozwala na zaprezentowanie wpływu pewnych elementów na siebie, oznaczając zarówno kierunek, jak i rodzaj wpływu (pozytywny/negatywny). W powyższym przykładzie mamy oznaczenie konsekwencji jednego wyzwania (choć w momencie gdy wystąpi można je nazwać zaniedbaniem/luką) na inne. Połączone potęgują wrażenie chaosu oraz powodują narastanie kosztów czy długu technologicznego.

Czas akcji

Posiadana przeze mnie domena z kończącą się ważnością i powiadomienia od operatora domeny zainspirowały mnie do dzisiejszego wpisu. Nie było w tym nic dziwnego, ale  otrzymałem kilka różnych wiadomości dotyczących mojej domeny w temacie jej przedłużenia, które skłoniły mnie do przemyśleń. Zacząłem się im przyglądać kiedy przyszły i jakie akcje mogłem wykonać na danym etapie obowiązywania domeny. W całym okresie poprzedzającym zakończenie ważności domeny mogłem wykonać takie akcje jak: czekać, opłacić domenę z wyprzedzeniem, zrezygnować z domeny, poprawić dane, anulować zamówienie itd. Poniższy diagram prezentuje te możliwości w odpowiednich odcinkach czasu (trochę uogólniony).

Dodatkowo na diagramie dodałem informację o tym kiedy podjąłem zdecydowaną akcję – na niebiesko – zrezygnowałem z przedłużenia domeny. I z perspektywy oceniam, że komunikaty zaznaczone na czerwono są zbędne (o nadmiarowych statusach pisałem również w innym wpisie). Wskazałem w systemie, że nie chce przedłużać domeny (musiałem to potwierdzić). Cennym komunikatem – na zielono – był ten potwierdzający skuteczność rezygnacji z domeny (bo zaznaczenie braku chęci do jedno, a sam fakt wyłączenia domeny to drugie). Co ciekawe otrzymałem jeden komunikat, mówiący o upłynięciu terminu płatności za domenę po terminie jej ważności – moim zdaniem ten komunikat może spowodować pewien niepokój u Klienta, że jednak nie wszystko odbyło się zgodnie z oczekiwaniami i będą konieczne jakieś wyjaśnienia lub jednak opłacenie faktury.

Myślę, że taki proces w przybliżeniu, ma miejsce w przypadku różnych subskrypcji, usług z określoną ważnością, automatycznie lub „ręcznie” przedłużanych, płatnych jednorazowo z dany okres lub automatycznie opłacanych w odstępach czasu (te odstępy są istotne przy zgłoszeniu ewentualnej rezygnacji). Niektóre podmioty wysyłają wiadomość raz z listą możliwych akcji do wykonania, a potem z potwierdzeniem wybranej akcji. Inni komunikują każdy etap a inni z kolei pozostawiają pełną kontrolę klientowi usługi (zgodnie z zapisami regulaminów) i jedynie potwierdzają (lub nie) wykonanie określonej akcji (bo w sumie wszystko widać w systemie, który udostępnia operator, choć z tym bywa różnie – nie mam dostępu do podglądu pewnych ustawień w jednym z takich systemów, gdy nastąpiła jego migracja na inne/nowsze rozwiązanie).

Okresy między akcjami do wykonania, powiadomienia są specyficznym elementem danego systemu. Podmiot projektujący system, a dokładnie powiadomienia z procesu, ustawia co i w którym momencie wysyła. Patrząc na diagram BPMN może to być zdarzenie czasowe, np. przypadające na 1 dzień miesiąca lub określoną godzinę dnia (tak jest w przykładzie powyżej), dzień tygodnia, informujące wszystkich odbiorców, którym się kończy wykupiona usługa w następnym miesiącu lub za określony czas (np. X dni). Taki przykładowy proces został zaprezentowany na powyższym diagramie. W tym przypadku składa się z określenia listy usług, komunikatów do wysłania i ich wysyłki (komunikaty A-F).

Podróżne dylematy

Przed długim weekendem czerwcowym wiele rodzin/osób zastanawiało się jak spędzić ten czas. Czy spędzić go w domu czy wyjechać? Spędzić go w jednym miejscu czy w kilku? Przedłużyć weekend czy skorzystać tylko z 4 dni? Odwiedzić rodzinę? Kogo i kiedy? Gdzie nocować? Którędy jechać? Co zabrać? Wziąć urlop czy nie? Co załatwić? Co zrobić? Z czego zrezygnować? Gdzie będą korki na drodze? Gdzie są utrudnienia w ruchu? Jaki jest koszt przejazdu? I wiele innych pytań.

Jednym z elementów jest kwestia przemieszczania się, czyli jakie miejscowości oraz w jakiej kolejności odwiedzić. Załóżmy, że mamy do odwiedzenia kilka miejsc (lokalizację, z której startujemy oraz 4 inne lokalizacje, tak jak na poniższym diagramie) i chcemy każde z nich odwiedzić tylko raz i wrócić do domu. Przejazd między miastami jest związany z kosztem przejazdu, odległością oraz czasem potrzebnym na przejazd (przykładowe elementy zostały wskazane na dostępnych połączeniach na diagramie).

Jest to związane z tzw. problemem komiwojażera (ang. travelling salesman problem). Chodzi o wybór najszybszej, najkrótszej lub najtańszej ścieżki (w zależności od zastosowanych wag na przejściach) przejścia po takim diagramie (dokładnie grafie), w ramach której wyruszamy z danego punktu początkowego, odwiedzamy wszystkie lokalizacje i wracamy do punktu początkowego, odwiedzając każdą lokalizację (poza początkową) tylko raz.

Myślę, że z takim problemem spotkało się wiele osób mających w planach odwiedzenie kilku lokalizacji (nie wnikam z jakiego powodu) – nie istotne czy są to punkty na obszarze danego kraju, kilku krajów, kontynentów czy danego regionu lub miasta. Można wykorzystać różne środki komunikacji lub skorzystać z własnego. Można poruszać się też pieszo. Mogą wystąpić roboty drogowe, objazdy, zwiększone natężenie ruchu czy może konieczne jest wykorzystanie przeprawy promowej. Elementy te wpływają na koszty i czas przejazdu. Z kolei ukształtowanie terenu może spowodować, że trasa blisko położonych lokalizacji w linii prostej, może się znacznie wydłużyć. Niektórzy oferują także przewóz dodatkowych osób, zmniejszając koszt przejazdu po swojej stronie. Atrybuty na połączeniach powinny uwzględniać wszystkie te elementy w zakresie czasu, kosztu przejazdu czy też fizycznej odległości.

komiwojazer_584px

Na diagramie wskazałem przykładowe odległości, ceny i czas przejazdu między 5 lokalizacjami, zakładając, że jedna z nich jest traktowana jako startowa. Atrybuty te na pierwszy rzut oka mogą się wydawać nielogiczne, ale starałem się uwzględnić, nie wskazując tego wprost, niektóre z powyższych elementów. Bez problemu można znaleźć na nim ścieżkę, która odwiedza wszystkie wierzchołki (lokalizacje) i wraca do początkowego punktu. Przykładem jest ścieżka START->4->2->1->3->START lub START->1->2->3->4->START. Oznacza to, że powyższe połączenia między lokalizacjami tworzą tzw. cykl Hamiltona. Znalezienie takiej ścieżki o najmniejszej wartości atrybutu branego pod uwagę jest rozwiązaniem problemu komiwojażera.

Dla podanego grafu (połączenia między lokalizacjami go tworzą) mamy takie cykle (wydaje mi się, że to wszystkie i że się nie pomyliłem podczas zliczania):

Przykładowy cykl Odległość
(km)
Koszt
(zł)
Czas
(h)
Śr. 
prędkość
km/h
Liczba 
km/zł
START>4>2>1>3>START i odwrotnie 470 41 6 78,33 11,46
START>1>2>3>4>START  i odwrotnie 660 33 11 60,00 20,00
START>3>4>2>1>START  i odwrotnie 430 36 8 53,75 11,94
START>1>3>2>4>START  i odwrotnie 670 48 9,5 70,53 13,96

Wśród wskazanych powyżej cykli widać, że pierwszy ma najmniejszy czas przejazdu, drugi najniższą cenę a trzeci najkrótszą odległość. Osobiście wybrałbym pierwszą ścieżkę.

Przy większej liczbie lokalizacji i połączeń, proces wyszukiwania „najlepszego” rozwiązania komplikuje się obliczeniowo. Można jednak powiedzieć, że wyznaczenie optymalnej trasy jest częścią większego procesu składającego się z określenia lokalizacji do odwiedzenia, oszacowania kosztów, czasu oraz odległości wymaganych do pokonania, czyli atrybutów połączeń, zaplanowania sposobu postępowania (wybór całej ścieżki lub pierwszych kroków, a potem dostosowywanie), realizacji planu, a na koniec oceny planu (np. wybrana droga nie nadaje się do użytkowania) i dostosowanie na przyszłość. Na diagramie został wskazany taki proces – kolorem zostały zaznaczone kroki odnoszące się do diagramu połączeń.

Atrybuty na powyższym diagramie można zmieniać podczas następnego podejścia lub na przykład likwidować określone krawędzie/połączenia jako nieakceptowalne z perspektywy kolejnej realizacji takiej „podróży”. Można także dodawać i odejmować lokalizacje i połączenia. Istotne jest to, że przy każdej takiej zmianie może nastąpić zmiana optymalnego rozwiązania, a także może zmienić się liczba cykli.

Weryfikacja i potwierdzenie

1 czerwca 2020, to nie tylko Dzień dziecka, który z jednej strony powoduje radość u wielu dzieci, ponieważ dostały prezenty lub mają zaplanowane inne aktywności niż zwykle, a z drugiej strony „wymusza” na rodzicach/opiekunach inną organizację pracy w tym dniu. To także początek tygodnia, miesiąca oraz okresu, w którym pracownicy różnych firm biorą swoje pierwsze wakacyjne urlopy. To także dzień będący początkiem sprintu dla wielu zespołów, zarówno tych sprintów trwających miesiąc, jak i dwa tygodnie. Osoby, które planują pracę w tych zespołach, biorą pod uwagę różne elementy, wpływających na capacity zespołu (czyli tzw. dostępność zespołu lub pojemność zespołu).

Podczas planowania sprint, capacity zespołu, co wskazałem jako element wejściowy do kroku „Wybierz elementy z backlog” na diagramie w poprzednim wpisie (oraz poniżej), determinuje to ile pracy można zaplanować na najbliższy sprint. Osoba przygotowująca planowanie, czyli przeważnie product owner, podczas weryfikacji capacity zepsołu, bierze pod uwagę takie elementy jak (są to przykłady, mogące wystąpić w różnych zestawach):

  • planowane nieobecności (urlopy, szkolenia, konferencje itp.),
  • nieplanowane wcześniej nieobecności (choroby/zwolnienia, opieka nad dzieckiem),
  • długie weekendy/dni wolne od pracy,
  • wydarzenia firmowe, wymagające obecności członków zespołu,
  • odejścia pracowników na koniec poprzedniego miesiąca lub zaplanowane na najbliższy sprint (czas potrzebny na przejęcie wiedzy a nie na prace związane z rozwojem produktu),
  • informacje z retrospektywy sprint,
  • uzgodnienia wewnątrz organizacji dotyczące na przykład ograniczonego udziału niektórych członków zespołu w pracach danego zespołu,

capacity_495px

Uwzględniając to, że tych elementów wpływających na capacity zespołu jest wiele a sama czynność weryfikacji ma ogromne znaczenie dla możliwości wytwórczych zespołu, postanowiłem wydzielić na diagramie procesu planowania sprint, który przygotowałem w ramach wcześniejszego wpisu (uwzględniając kroki 1*,2*,3* z wpisu o zdalnych ceremoniach), dwa dodatkowe kroki (oznaczone czarnym tłem) . Na diagramie oznaczyłem, że te dwa zadania są „pochodną” danych wejściowych do wskazanego powyżej kroku procesu („Wybierz elementy backlog„).

Pierwszy: Zweryfikuj capacity
Krok ten ma miejsce przed samą ceremonią, w ramach przygotowania. Jest wykonywany na bazie dostępnych na dany moment informacji o capacity zespołu. Atualność powinna zostać zweryfikowana wspólnie z zespołem deweloperskim podczas samego planowania. Product owner bierze pod uwagę wskazane powyżej elementy i dostosowuje swoją propozycję prac na najbliższy sprint.

Patrząc dodatkowo na dotychczasową prędkość zespołu, napotkane problemy, zakończone i niezakończone zadania, może zadecydować o przesunięciach zadań między planowanymi sprintami, rezygnacji z pewnych zadań lub przygotowaniu innego podejścia do określonych zadań. Może także wytypować zadania, które wymagają ponownego refinementu. Jest to propozycja kolejności – można ustawić kroki wskazane na diagramie w ramach przygotowania ceremonii w innej kolejności. Propozycja przygotowania przed ceremonią jest efektem różnych zasygnalizowanych działań, pamiętając o tym, że ostateczny zakres sprint backlog zostanie ustalony dopiero podczas właściwej ceremonii.

Drugi: Potwierdź capacity
Podczas samej ceremonii następuje potwierdzenie planowanych nieobecności, przyjętych założeń oraz ewentualna aktualizacja o informacje przekazane w ramach zespołu. Zespół wymienia się wewnętrznie informacjami o nieobecnościach i określa swoją dostępność. Działanie to zaproponowałem na diagramie po przedstawieniu propozycji planu sprint. Uzasadniam to tym, że zespół może lepiej osadzić to, co wie o dostępności członków zespołu i na przykład odnieść się do określonych zadań, że ich nie ruszymy bez udziału określonej osoby lub bez rozwiązania problemu, którym ta osoba się zajmowała.

Teoretycznie takie informacje powinny zostać przekazane na koniec poprzedniego sprint – jednak w momencie planowania może to okazać się bardziej lub mniej kluczowe, bazując na wizji zespołu odnośnie realizacji proponowanych zadań. Jest to propozycja – kolejność można zamienić. Istotne jednak jest następny krok, w którym bazując na tych ustaleniach, następuje aktualizacja elementów a następnie potwierdzenie ich kompletności.

Gdy Klient nie decyduje…

Informujemy, że podczas składania zamówienia niektóre produkty były na wyczerpaniu i nie są już dostępne. Zgodnie z regulaminem sklepu, zamówienie zostanie pomniejszone o dany produkt. Jeżeli zamówienie było opłacone z góry, środki zostaną zwrócone na konto w ciągu 7 dni roboczych.”. Taką wiadomość otrzymałem z jednego ze sklepów internetowych, prawie tydzień od złożenia zamówienia. O tym, że realizacja zamówienia będzie wydłużona wiedziałem od momentu składania zamówienia. Także później przyszła informacja o tym, że potrwa dłużej. Jednak gdy otrzymałem taką wiadomość byłem trochę zaskoczony, bo składając zamówienie nie było informacji o potencjalnych brakach produktów.

Przy wcześniejszych zamówieniach, które składałem, takie sytuacje się zdarzały, ale sposób działania sklepu był inny. Jedne sklepy oczekiwały potwierdzenia w zakresie proponowanych akcji lub anulowania zamówienia. Były też propozycje telefoniczne zastąpienia produktu innym w podobnej cenie. Pierwszy raz mi się zdarzyło, że to sklep zadziałał w określony sposób, tylko mnie informując. W sumie cieszę się, że nie czekali z realizacją zamówienia na moją decyzję, a zwrócą środki za brakujące produkty, a resztę zamówienia zrealizują.

Na poniższym diagramie w BMPN spróbowałem przedstawić opisywaną sytuację (mam nadzieję, że w poprawny sposób).

zamowienie_error_500px

W celu zobrazowania sposobu obsługi sytuacji, gdy na magazynie jednak nie ma produktu, użyty został obiekt BPMN wskazujący na błąd wewnątrz procesu (ang. intermediate error event), a dokładnie w ramach wykonania kroku procesu. Po wystąpieniu tego zdarzenia, następuje poinformowanie Klienta (pierwszy krok po zdarzeniu) oraz zwrot środków (drugi krok po zdarzeniu). Obiekt błędu jest umieszczony na obramowaniu kroku Skompletuj zamówienie. Jest to wskazanie, że błąd nastąpił w trakcie realizacji tego kroku i został przejęty (ang. catch) i obsłużony (ang. handle) ramach wskazanych kroków.

Mogę sobie wyobrazić, że podczas tego kroku, pracownik sklepu przechodzi przez magazyn z elektroniczną listą produktów, znajduje je po kolei i umieszcza w środku transportu. Po przejściu kilkunastu pozycji zamówienia, nie odnajduje kolejnego produktu w odpowiedniej ilości. Oznacza to, kompletuje resztę. Na tej podstawie proces idzie dla zebranych produktów dalej, a dla brakujących jest obsługa sytuacji nietypowej/wyjątkowej.

Innym rozwiązaniem jest, gdy taki obiekt błędu jest umieszczany jako niezależny element w ramach przebiegu procesu (ang. sequence flow). Przykład takiego zastosowania tego obiektu można zobaczyć w innym wpisie dotyczącym wyjątków.

Zdalne ceremonie

Panująca epidemia/pandemia oraz wprowadzone ograniczenia przez władze państwowe oraz lokalne spowodowały, że wiele podmiotów gospodarczych zaczęło się zastanawiać nad swoją przyszłością, swoim modelem działalności oraz sposobem działania. Wiele firm, co można zaobserwować na ulicy, w artykułach oraz w serwisach internetowych, wprowadziło pracę zdalną. Pracownicy przebywając w domu wykonują obowiązki związane ze swoim stanowiskiem. Muszą się przestawić na inny sposób komunikacji, interakcji oraz wykorzystywane narzędzia.

Czytałem ostatnio artykuły dotyczące pracy zdalnej. Pojawiło się wiele rad o tym jak sobie radzić, jakie zasady stosować, aby było to efektywne, jak poradzić sobie z ograniczeniami oraz jakie narzędzia wybrać. Pojawiają się rozbudowane materiały jak korzystać z określonych narzędzi komunikacji i współdzielenia pracy. Rozpatrywane są także zalety i wady każdego z nich, a także aspekt bezpieczeństwa. Dlatego postanowiłem, że nie będę skupiać się na dostępnych narzędziach – odsyłam do wielu dostępnych publikacji. Chciałbym się skupić na umiejscowieniu elementów związanych z organizacją pracy zdalnej w dwóch procesach, o których pisałem ostatnio na swoim blogu, a mianowicie planowaniu sprint oraz retrespektywie sprint.

Na poniższym diagramie są zamieszczone te dwa procesy, z usunięciem obiektów dodatkowych. Zostały wzbogacone o pewne elementy wspólne oznaczone numerami wraz z ich odpowiednim umiescowieniem w procesie (wszystkie elementy dodatkowe są zaznaczone na pomarańczowo).

zdalne_ceremonie_520px

Dodane elementy wskazują 3 dodatkowe kroki w procesie, które są silnie związane z przejściem zespołu agile’owego na pracę zdalną. Poniżej, krótkie przybliżenie każdego z tych kroków.

Krok oznaczony (1): Przygotuj narzędzia
Pierwszy krok, od którego warto zacząć proces planowania sprint czy retrospektywy, to wybór narzędzia, za pomocą którego będzie przeprowadzone spotkanie. Po wyborze narzędzia trzeba przygotować odpowiednie środki, zaproszenie oraz wskazać zespołowi czy potrzebuje określonych mechanizmów, instalacji czy innych elementów. Wybór narzędzia jest uzależniony od potrzeb zespołu: czy zależy zespołowi, aby tylko się słyszeć oraz móc zaprezentować swój ekran, czy też potrzebne są szersze możliwości. Może jednak potrzebne są rozwiązania w zakresie zdalnej współpracy zespołu. Może zespół chce się przez całe spotkanie widzieć (co na przykład w przypadku retrospektywy byłoby przydatne, aby widzieć reakcje). Ten krok ma miejsce przed spotkaniem, na etapie jego przygotowania.

Krok oznaczony (2): Wdróż narzędzia
W momencie rozpoczęcia spotkania, warto wykonać weryfikację czy wszyscy słyszą dobrze (w sposób akceptowalny) pozostałych uczestników i czy nie mają problemów z wybranym narzędziem. Warto też sprawdzić czy jest możliwość wyświetlenia prezentacji czy przeprowadzenia sesji współpracy przy pomocy wybranego narzędzia. Jeżeli zespół korzysta z połączeń video, to dobrze sprawdzić czy obraz spełnia oczekiwania. Dobrą praktyką jest aby na początku spotkania także ustalić zasady wykorzystania narzędzia – na przykład mutowanie się uczestników, którzy w dany momencie nie mówią lub informowanie natychmiast o problemach. Element dodany jako pierwsza część spotkania.

Krok oznaczony (3): Zweryfikuj działanie
W trakcie spotkania, warto co jakiś czas upewniać się czy nikt nie wypadł ze spotkania lub czy nadal wszyscy słyszą w sposób akceptowalny pozostałych uczestników. Uczestnicy mogą też utwierdzać się, że każdy z uczestników widzi wykonane zmiany lub cały udostępniony ekran. W sytuacjach problemowych uczestnicy przypominają o ustalonych zasadach – prosząc na przykład o wyłączenie mikrofonu, poprawę mikrofonu czy też zmianę lokalizacji w domu, bo na przykład w tle są rozpraszające dźwięki. Ten element został umieszczony na diagramie jako ścieżka równoczesna procesu, dołączona do odpowiednich miejsc w procesie – tzw. bramka równoległa (ang. parallel gateway).

 

Problem nie tylko w teorii

Słuchając wypowiedzi lekarzy, polityków, publicystów, śledząc publikacje na temat tego, co się obecnie dzieje w Polsce i na świecie w kontekście występującej pandemii, zacząłem się zastanawiać w jaki sposób można spojrzeć na podejmowane przez różne podmioty działania. Jedni wprowadzają pracę zdalną, inni wstrzymują produkcję, oferowanie usług. Jedni patrząc z wielką obawą w przyszłość, a inni są jeszcze spokojni.

Pojawiają się nowego ograniczenia, sposoby postępowania, akcje społeczne, wyrazy solidarności. Uczniowie muszą się przestawić na inny tryb nauki, osoby przyzwyczajone do bardzo aktywnego trybu życia, muszą zwolnić i zostać w domu. Osoby, które planowały różne spotkania, wyjścia na koncerty, uroczystości czy inne działania, muszą zmienić swoje plany. Ograniczają często swoje codzienne działania wymagające wyjścia z domu, do zakupów, krótkiego spaceru z dala od innych. Część osób nie może w cale wychodzić.

Każda z tych osób, podmiotów, państw walczących z epidemią/pandemią, analizuje problem, z którym się mierzy, którego doświadcza. Zbiera dostępne fakty/informacje, obserwuje zachowanie innych jednostek/podmiotów i ocenia je poprzez pryzmat swojego doświadczenia, potrzeb oraz możliwości. Przeprowadza diagnozę sytuacji w danym momencie.

W kolejnym kroku, zastanawia się na czym mu zależy, co chce osiągnąć w danej sytuacji oraz jak chce się zmierzyć z tym problemem. Czego oczekuje, że się wydarzy. Rząd może powiedzieć, że chce zmniejszyć obciążenie szpitali, zmniejszyć ryzyko masowych zachorowań czy też zoptymalizować wydatki w tym trudnym okresie. Podmiot chce zapewnić na przykład przetrwanie biznesu. A zwykły obywatel nie chce się na przykład zarazić. Jest to tzw. określenie oczekiwanego efektu działań.

W zależności od tego, kto określa problem oraz swój cel, może się pojawić różna koncepcja działań. Decydent określa jakie są możliwe działania, kroki do podjęcia, na kim możemy się wzorować, jakie są potrzebne zasoby oraz co dotychczas zrobiliśmy w celu osiągnięcia celu. Na bazie publikacji dotyczących pandemii, pojawiają się na przykład koncepcje działań, które określane są jako model europejski, chiński czy też krajów azjatyckich, patrząc globalnie na całe państwa, regiony. Każde z podejść ma jakieś skutki, prognozowany przebieg, czas dojścia do celu i ryzyka. W ramach wyboru koncepcji działania, następuje prognozowanie tego co się wydarzy.

Te ryzyka, przebieg, potencjalne efekty oczekiwane i uboczne muszą zostać wzięte pod uwagę podczas wyboru najlepszego rozwiązania do zastosowania. Ocena koncepcji działania odbywa się w gronie wybranych osób, przez jedną osobę, korzystając z wiedzy ekspertów dziedzinowych czy po prostu przez wyznaczony do tego komitet lub powołany organ decyzyjny. Na poziomie na przykład podmiotu gospodarczego może to zrobić właściciel czy zarząd. W ramach gospodarstwa domowego, może to być ocena zainteresowanej osoby czy też całej rodziny. Planowane są odpowiednie działania, kolejne kroki wynikające z podjętej decyzji. Są podejmowane odpowiednie działania przygotowawcze oraz angażowane niezbędne zasoby.

Podjęta decyzja, przygotowany plan – można zacząć działać. Rząd informuje o podjętych działaniach, wdrożonych zasadach. Podmiot gospodarczy informuje pracowników o tym, co nastąpi w najbliższym okresie i jak ma działać podmiot. Rodzina wprowadza w życie ustaloną koncepcję działania (może to być na przykład zakupy tylko rano, poprzedzone krótkim spacerem, bez odwiedzania zbyt wielu miejsc).

Po jakimś czasie, konieczna jest ocena podjętych działań. Dzięki temu wiemy czy są skuteczne, czy potrzebne są modyfikacje, czy przyniosły planowane efekty czy nie wygenerowały nowych ryzyk, a także czy nie zminiło się otoczenie i sytuacja. Obserwując różne podmioty ma się wrażenie, że po pierwszym podejściu (na przykład będziemy sprzedawać na wynos), zmieniają założenia (na przykład zamykamy lokal lub ograniczamy dotychczas podjęte działania).

prakseologia400px

W powyższym opisie, pewne elementy pogrubiłem. Są to elementy, które nawiązują z jednej strony do teorii sprawnego działania, czyli prakseologii ale także do cyklu rozwiązywania problemów. W sieci Internet można znaleźć wiele publikacji, które określają różne sposoby rozwiązywania problemów, wdrażania zmian, reagowania na nietypowe sytuacje. Wybrałem pewne uogólnienie, wzorując się na kilku publikacjach i zaprezentowałem je na powyższym diagramie.

Działanie w takich krokach ma zastosowanie na różnych poziomach życia gospodarczego, społecznego oraz prywatnego – między innymi w sytuacji, gdy pojawia się nowa sytuacja, problem, z którym trzeba się zmierzyć. Poradzenie sobie z pandemią to celowe działanie ludzkie, zmierzające do oczekiwanego efektu (ograniczenia efektów, zmniejszenie liczby zachorowań, rozłożenie zachorowań w czasie itp.).  W powyższych wyjaśnieniach pojawia się sformułowanie o wyborze najlepszego rozwiązania spośród możliwych w danym momencie i przy określonych okolicznościach. Równocześnie jest mowa o tym, że dążymy do pewnego oczekiwanego efektu. Podejmując decyzję odnośnie napotkanego problemu można spojrzeć na to jak na pewien projekt, w którym musimy spojrzeć na dwa aspekty – zarówno sprawność samego działania, jak i jego efektywność. I na koniec oceniamy czy działania były warte podjęcia i osiągnęliśmy trwały sukces, czy może porażkę. Wkrada się tutaj oczywiście niepewność, ponieważ z jednej strony nie wiemy wszystkiego o wirusie, a z drugiej nie wiemy do końca czy podjęte działania przyniosą oczekiwane efekty. Decydent narzucający/rekomendujący sposób postępowania dla innych, nie wie czy i w jakim zakresie będzie on stosowany.

Zachęcam do zapoznania się z różnymi metodami rozwiązywania problemów i przyjrzenie się temu, co się dzieje obecnie z ich perspektywy – moja próba spojrzenia jest powyżej. Czasami można wyraźnie zauważyć poszczególne etapy (zasygnalizowane przez wypowiedzi osób) lub je odczuć na własnej skórze (jak realizacja zaleceń co do braku zgromadzeń). Obecny trudny czas, gdy wszyscy mają wspólny problem do rozwiązania, jest idealnym obrazem (pozwolę sobie użyć takiego sformułowania) każdego z tych etapów.  I w sumie każdy z nas, zauważy w różnym stopniu, czy komunikowany efekt wystąpił i w jaki sposób nastąpiło przejście w kolejny cykl tego procesu. Choć mam wrażenie, że już jesteśmy w kolejnym cyklu (pewnie kolejnym z wielu).

Za inspirację do poruszenia tego tematu, a dokładnie tematu prakseologii, dziękuję jednemu z obserwatorów mojego bloga, który odniósł się w komentarzu na LinkedIn do mojego wpisu o metodzie start-stop-continue z 2 marca 2020.

„Ciche” zdarzenie w procesie

Miałem pomysł na wpis zainspirowany tym, co się dzieje obecnie w Polsce i na świecie. Zrezygnowałem jednak z niego, choć tematyka tego wpisu będzie jakoś związana z tematyką zdrowia i medycyny. Jakiś czas temu, wysłałem w usługach medycznych zlecenie.. Po wybraniu właściwej opcji, potwierdzeniu oświadczeń zlecenie zostało wysłane. Mijają kolejne dni, a powiadomienia o realizacji/podjęciu zlecenia nie przychodzi. Po sprawdzeniu w systemie okazało się, że zlecenie wisi. Postanowiłem ustalić co się dzieje poprzez wykorzystanie infolinii zamiast udawać się do punktu, czekać w kolejce i odejść „z niczym” – co się ostatecznie okazało. Okazało się, że lekarz właściwy do podjęcia zlecenia jest nieobecny przez określony czas. Trudno, trzeba poczekać.

Wracając jednak do infolinii, z której nie korzystałem od dawna, spotkałem się z nową dla mnie sytuacją. Generalnie bardzo rzadko mam okazję korzystać z infolinii. Ostatnie moje doświadczenia były inne, bardziej standardowe, opierające się na wybieraniu określonych numerów z klawiatury, a potem kończyło się rozmową z konsultantem. Tym razem było inaczej…

Po przywitaniu, przedstawieniu formuły o ochronie danych osobowych, identyfikacji poprzez podanie numeru klienta, padło sformułowanie: „Proszę powiedzieć czego potrzebujesz…”. I w tym momencie nastała cisza – ja nic nie mówiłem i w słuchawce była cisza. Czekałem na standardową formułkę: „Wybierz 1, aby…., wybierz 2, aby…”. Po kilkunastu sekundach usłyszałem: „Powiedz, co potrzebujesz, na przykład [i pojawia się fraza] chcę się umówić na wizytę”. I w tym momencie stało się jasne, że zmienił się model obsługi na infolinii. Podałem potrzebę i „obsługa” poszła dalej już w mniej zaskakujący sposób. Było to ciekawe doświadczenie, które próbowałem zobrazować na poniższym diagramie w BPMN, z pewnym zastrzeżeniem. Zastosowałem na nim uproszczenie dla zadania „Kontynuuj proces” (zaznaczonego linią przerywaną). Nie wskazałem konkretnych kroków, które dalej mogłyby wystąpić – można to potraktować jako podproces lub pominięcie kroków procesu podczas jego wizualizacji.

infolinia460px

Po rozłączeniu zacząłem się zastanawiać:

  • (1) na ile sekund ciszy był ustawiony system (oznaczenie zdarzenia czasowego (ang. intermediate timer event) na diagramie),
  • (2) co w sytuacji, gdybym użył jakiegoś sformułowania, np. komentując do osoby obok: „chyba nie działa”,
  • (3) co w sytuacji, gdybym użył słowa, na które system nie jest przygotowany,
  • (4) co w sytuacji, gdybym powiedział coś za cicho/niewyraźnie lub w sposób niekompletny (np. ze względu na posiadane objawy)

System w różnych sytuacjach może mieć przygotowaną odpowiednią reakcję – prosić o powtórzenie, powiedzenie głośniej, użycie innych słów, „dopyta” lub skieruje bezpośrednio do konsultanta z odpowiednim oznaczeniem sprawy. Sytuacje (2)(4) są wynikiem działań oznaczonych na diagramie poprzez grupę, w której znajduje się „Przeanalizuj przekaz”. Jest to pewne uproszczenie, na które sobie pozwoliłem i wykorzystałem do tego element bramki opartej o dane (ang. data based gateway). Danymi tutaj jest „treść” przekazu przełożona na odpowiednie części składowe oraz odpowiednio przeanalizowana (zainteresowanych odsyłam do publikacji na ten temat).

Przypuszczam, że takie rozwiązania nie są rzadkością. Wynikać to może z różnorodności potrzeb użytkowników. Zdarzyło mi się kilka razy, że zastanawiałem się, którą opcję wybrać spośród wskazanych i przeważnie wtedy wolałem nawiązać połączenie z konsultantem. Myślę, że pewne kwestie mogą zostać obsłużone bez udziału konsultanta – na przykład mógłbym sobie wyobrazić, że przesunięcie wizyty na pierwszy możliwy termin. W powyższym przypadku to system za użytkownika wybiera odpowiednią ścieżkę obsługi a może nawet skierować do odpowiedniego konsultanta, bazując na ustalonych regułach czy słowach kluczowych.

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.