Wzorce analizy z dziedziny planowania wg Martina Fowlera: akcja, plan, protokół, zasoby, funkcja startu, funkcja wyniku, obserwacja. (artykuł)
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!
dział serwisuArtykuły
kategoriaInne artykuły
artykułWzorce analizy - planowanie
Autor: Piotr Szawdyński

Wzorce analizy - planowanie

[artykuł] Wzorce analizy z dziedziny planowania wg Martina Fowlera: akcja, plan, protokół, zasoby, funkcja startu, funkcja wyniku, obserwacja.
Planowanie jest to proces podczas którego podejmujemy działania zorientowane na wywołanie konkretnych zamierzeń czy też osiągnięcia konkretnych celów, które w normalnych okolicznościach nie zaistniałyby samoistnie. Planowanie jest czynnikiem bardzo istotnym z punktu widzenia życia prywatnego jak również biznesowego. O ile w życiu prywatnym sposób planowania nie odgrywa dla nas większego znaczenia to w biznesie jest to bardzo rozwinięta dziedzina oraz odgrywa kluczowe znaczenie zarówno ekonomiczne jak i marketingowe. Firma w dzisiejszych czasach bez planu jest skazana z definicji na porażkę i nie ma prawa bytu.

Na przestrzeni wielu lat tworzyły się różne uogólnienia problemów związanych z planowaniem. Martin Fowler przedstawił swoją wizję planowania, którą obecnie nazywamy wzorcami analizy. Martin Fowler podzielił wzorce analizy z dziedziny planowania na następujące wzorce:
  • wzorzec akcji;
  • wzorzec planu;
  • wzorzec protokół;
  • wzorzec zasobów;
  • wzorzec funkcji startu;
  • wzorzec funkcji wyniku;
  • wzorzec obserwacji.
Istotną cechą dla wszystkich wzorców związanych z planowaniem jest fakt, że mogą być one zastosowane niemal do każdego aspektu naszego życia – począwszy od planów prywatnych, związanych z karierą zawodową czy też przyjemnościami takimi jak np. wycieczki rekreacyjne, a skończywszy na planach biznesowych zarówno małych firm jak i wielkich korporacji, w których na porządku dziennym stosuje się harmonogramy projektów, terminarze spotkań i wiele innych aspektów związanych z dziedziną planowania. Mając świadomość czego tak na prawdę podejmujemy się wkraczając w świat wzorców analizy z zakresu planowania przejdziemy teraz do krótkiego omówienia wyżej wymienionych wzorców.

Wzorzec akcja

Akcja jest to czynność, która ma zostać wykonana. W skład terminu akcja wchodzą takie związki jak:
  • czas – kiedy akcja zostanie wykonana;
  • miejsce wykonana – gdzie akcja będzie miała miejsce;
  • uczestnicy – kto będzie uczestniczył w wykonywaniu danej akcji;
  • zasoby – czyli jakie zasoby będą potrzebne podczas wykonywania akcji (te zostaną omówione szerzej w późniejszej części opracowania);
  • obecny status akcji – czyli stan w którym się znajduje akcja.
O ile znaczenie związków takich jak czas, miejsce wykonania, uczestnicy i zasoby wydają się być oczywiste o tyle status akcji jest zbyt ogólnym pojęciem i został on ograniczony do następujących stanów:
  • akcja zaplanowana – występuje gdy posiadamy dane niekompletne o akcji, które mogą ulegać modyfikacjom (np. osoby, które zechcą wziąć udział w wycieczce);
  • akcja wykonywana;
  • akcja wykonana – akcja, która została ukończona (nieważne z jakim skutkiem);
  • akcja zaniechana – akcja, która została porzucona;
  • akcja zawieszona – akcja, która została wstrzymana (np. z powodu braku zasobów na chwilę obecną).
Warto wiedzieć, że akcja wykonana nie oznacza wcale, że czynność zakończyła się sukcesem. Status ten oznacza tylko tyle: akcja dobiegła do końca, tj. cykl, który był zaplanowany z daną akcją został ukończony. Zaplanowaną akcją mogło być np. zrobienie samochodu. Status wykonany akcja otrzyma z chwilą gdy będzie on wykonany – a czy będzie on jeździł to nie ma najmniejszego znaczenia z punktu widzenia statusu.

Skoro już wiemy czym jest akcja wg Martina Fowlera, zobaczmy teraz jak będzie się ona prezentowała na diagramie klas:
Diagram klas - wzorzec analizy: planowanie - akcja
Diagram klas - wzorzec analizy: planowanie - akcja

Przykładowe zastosowania

Akcja – przeprowadzenie zabiegu masażu:

  • Czas: ustalony przez klienta, zaakceptowany przez firmę świadczącą usługi (bo był wolny termin).
  • Miejsce: salon masażu.
  • Status akcji: w chwili wprowadzenia do systemu (np. złożenie rezerwacji) status jest zaplanowany.
  • Uczestnicy: masażysta wykonujący zabieg; klient.
  • Zasoby: pomieszczenie zabiegowe; wszelkie stosowane kremy, olejki itp.

Akcja – zmycie naczyń:

  • Czas: ustalony przez osobę zmywającą :)
  • Miejsce: kuchnia
  • Status akcji: będzie wykonywany jak naczynia będą zmywane; jeżeli telefon zadzwoni i zostanie on przez uczestnika odebrany to status zostanie zawieszony na czas rozmowy.
  • Uczestnicy: zmywający (osoba) – może być też zmywarka (ona co prawda telefonu nie odbierze, ale może np. być zanik prądu i też otrzyma status zawieszenia).
  • Zasoby: płyn do mycia naczyń, woda, zlew.

Wzorzec plan

Plan jest to zbiór akcji, połączonych w pewną sieć zależności, które wskazują na kolejność ich wykonania. W przypadku planowania przedstawionego przez Martina Fowlera mamy tu na myśli plan sekwencyjny. Oznacza to, że czynności wykonuje się po kolei i nie istnieje takie pojęcie jak wykonywanie równoległe kilku czynności naraz. Koncepcja taka ma bardzo dobrą własność, tj. jest prosta w użyciu. Model zaproponowany przez Martina Fowlera umożliwia również umieszczanie tej samej akcji na wielu planach. Wadą oczywiście jest sekwencyjność zadań. Wzorzec ten można rozbudować, jednak nie ma sensu tutaj przytaczać rozbudowanego wzorca, który zaspokoi potrzeby wybrednego czytelnika – ważniejsza jest bowiem koncepcja jaką niesie ze sobą niniejszy wzorzec, tj. przechowywanie akcji. Diagram klas wzorca plan wygląda więc następująco:
Diagram klas - wzorzec analizy: planowanie - plan
Diagram klas - wzorzec analizy: planowanie - plan

Przykładowe zastosowania

Plan – scena teatralna:

  • Aktor 1 wchodzi na scenę
  • Aktor 2 wchodzi na scenę
  • Aktor 1 wygłasza swoją kwestię
  • Aktor 2 wygłasza swoją kwestię
  • Aktor 1 podejmuje jakieś czynności wobec aktora 2
  • Aktor 2 obraża się i schodzi ze sceny
  • Aktor 1 triumfalnie schodzi ze sceny

Plan – plan dnia:

  • Wstać
  • Wykonać poranną toaletę
  • Ubrać się
  • Zjeść śniadanie
  • Wyjść do pracy
  • (itd.)

Komentarz do przykładów

Każdą akcję, jaka wystąpiła w przykładach można uszczegółowić nadając jej czas, miejsce oraz inne związki, które zostały omówione we wcześniejszej części opracowania. Połączenie akcji za pomocą planu daje ogromne możliwości i myślę, że pobudza wyobraźnię gdy uświadomimy sobie jak wieloma informacjami będziemy dysponowali po wykonaniu wszystkich akcji, które znajdowały się w planie już na temat samych czynności nie wspominając o efektach.

Wzorzec protokół

Protokół jest to ogólny plan działania oparty o procedury. Procedurą może być natomiast zarówno konkretny plan jak również inny protokół. Protokoły w dzisiejszych czasach powszechnie stosowane i na co dzień występują pod postacią procedur postępowania z urządzeniami czy też w sytuacjach nagłych. Przykładem protokołu może być równie dobrze instrukcja do nowo zakupionego sprzętu – omawia on po kolei proces instalacji sprzętu, pierwszego uruchomienia, konfiguracji czy też obsługi. Protokołem może być równie dobrze zbiór procedur postępowania, np. bezpieczeństwa i higieny pracy, obsługi urządzeń w pracy takich jak niszczarka czy też kserokopiarka. Przykładów można tu wyliczać bez końca. Diagram klas dla niniejszego wzorca będzie natomiast wyglądał następująco:
Diagram klas - wzorzec analizy: planowanie - protokół
Diagram klas - wzorzec analizy: planowanie - protokół

Wzorzec zasoby

Zasoby są na tyle intuicyjnym pojęciem, że przytaczanie tu definicji nie ma większego sensu. Warto jednak poświęcić nim chwilę uwagi, bowiem zasoby możemy podzielić na dwie istotne grupy, tj.:
  • zasoby zużywalne – takie, które ulegają zużywaniu, a dokładniej są to zasoby jednorazowego użytku, czyli tracą swoją wartość w chwili skorzystania z nich. Przykładowo może być to: jedzenie, wszelkiego rodzaju kremy itp.
  • zasoby kapitałowe – są to np. ludzie, pomieszczenia, sprzęt. Innymi słowy są to zasoby które wielokrotnie mogą pełnić daną funkcję – przykładowo komputer – choć jest on zużywalny, bowiem może się zepsuć to nie traci on na swojej wartości i funkcjonalności po wysłaniu chociażby maila do znajomego.
Przejdźmy po raz kolejny do diagramu klas:
Diagram klas - wzorzec analizy: planowanie - zasoby
Diagram klas - wzorzec analizy: planowanie - zasoby
Przykłady zasobów kapitałowych i zużywalnych można mnożyć bez końca. Można co najwyżej zacząć zastanawiać się czy żarówka należy do zasobów zużywalnych czy kapitałowych, bowiem żarówka prędzej czy później się przepali. No ale to samo można powiedzieć również o tuszach do drukarki? Mimo wszystko przyjąłbym, że żarówka jest zasobem kapitałowym, bowiem nie zużywa ona swoich zasobów w czasie liniowym. Czy żarówka ma 1 dzień czy pół roku to póki świeci to zawsze spełnia swoją funkcję tak samo dobrze. W przypadku tuszu do drukarki mimo wszystko uznałbym, że jest to zasób zużywalny, bowiem ubywa go z każdym drukowaniem, możemy przewidzieć na ile stron go starczy itd.

Wzorzec funkcja startu

O ile do tej pory wszystko wydawało się proste i oczywiste o tyle wzorzec funkcji startu nie jest taki trywialny jak dotychczas omówione wzorce planowania. Formalnie o funkcji startu możemy powiedzieć, że występuje on na poziomie wiedzy. Oznacza to, że dana funkcja startu jest przypisana do konkretnej okoliczności. Funkcja startu ‘startuje’ protokół pod warunkiem, że zaistnieją określone okoliczności by zastosować dany protokół. Przykładowo: uruchomienie samochodu w dużym uproszczeniu będzie możliwe tylko wtedy gdy będzie on miał paliwo, sprawny akumulator oraz znajdzie się w nim osoba, która zechce go uruchomić. Samo pojawienie się kierowcy w samochodzie i wola go uruchomienia nie zagwarantuje, że pojazd zostanie uruchomiony i będzie możliwe wykonanie protokołu związanego z jazdą z punktu A do punktu B (no chyba, że kreatywne myślenie ponosi i pojedziesz na lawecie – ale nie o to tutaj chodzi). Diagram klas dla funkcji startu wygląda więc następująco:
Diagram klas - wzorzec analizy: planowanie - funkcja startu
Diagram klas - wzorzec analizy: planowanie - funkcja startu

Wzorzec funkcja wyniku

Kolejnym mglistym wzorcem z zakresu planowania jest funkcja wyniku. Martin Fowler zdefiniował funkcję wyniku jako wzorzec w którym na wejściu mamy obserwowane pojęcia i obserwowane protokoły, natomiast na wyjściu oczekiwane rezultaty i skutki uboczne. O ile łatwo można było znaleźć różne przykłady do wcześniej przedstawianych wzorców o ile ten wzorzec wymaga włożenia już wysiłku po pierwsze by go zrozumieć, a po drugie by znaleźć dla niego zastosowanie. Zacznijmy tym razem od diagramu klas:
Diagram klas - wzorzec analizy: planowanie - funkcja wyniku
Diagram klas - wzorzec analizy: planowanie - funkcja wyniku
Jak widać na powyższym diagramie klas funkcja wyniku tak samo jak funkcja startu jest funkcją wiedzy. W zasadzie informacja ta nie ma większego znaczenia, więc nie będziemy się na niej dalej koncentrowali. Skupmy się teraz na nowej klasie, która pojawiła się na diagramie, a mianowicie czym jest pojęcie. Pojęciem dla niniejszego wzorca są hasła ogólnikowe, czyli takie które będą nam mówiły o celu przedsięwzięcia bądź o zamierzonych efektach jakie chcemy uzyskać. Wyobraź sobie, że jesteś producentem dajmy na to jogurtów. Twoim celem jest zwiększenie sprzedaży, jednak w tym celu należy podjąć jakieś działania. Ustalamy więc, że celem działu marketingu jest zwiększenie sprzedaży. Twój marketing proponuje w związku z tym obniżenie ceny, bądź stworzenia reklamy promującej nasz towar. W tym momencie odzywa się dział biznesu, który mówi: obniżając cenę zmniejszymy nasze zyski! To nam się nie opłaca. Jednak czy aby na pewno? Czasami obniżenie ceny może być dobrą drogą na to by pozbyć się nadmiaru składników, które mają krótki termin ważności i po jego upływie zamiast mieć wartość dodatnią to będą generowały koszty ujemne np. koszty utylizacji odpadów. Obniżenie ceny będzie jednocześnie dobrą formą reklamy dla firmy i w przyszłości może pozytywnie się odbić na jej wizerunku. Zbierając teraz to wszystko w całość możemy zdefiniować obserwowane pojęcia, oczekiwane rezultaty jak również skutki uboczne. Dla przypadku omawianego będą one następujące:

Obserwowane pojęcia

  • zwiększenie sprzedaży poprzez obniżenie ceny

Skutki uboczne

  • zmniejszenie zysków z tytułu sprzedaży

Oczekiwane rezultaty

  • poprawienie wizerunku firmy i konkurencyjności na rynku
  • zmniejszenie strat spowodowanych przeterminowaniem produktów
  • zwiększenie zysków z tytułu zmniejszenia strat i zwiększenia sprzedaży
Ostatnim aspektem, który nie został omówiony w niniejszym wzorcu jest rola protokołów. Protokoły są ścieżką, która ma umożliwić dojście ze stanu obserwowanych pojęć do stanu oczekiwanych rezultatów (no i przy okazji skutków ubocznych, jakie temu towarzyszyć będą).

Wzorzec obserwacja

Ostatnim wzorcem, który został do omówienia jest wzorzec obserwacji. Obserwacja identyfikuje zjawisko obserwowane bądź dokonuje pomiaru jego typu. Obserwacja sama w sobie jest akcją czyli czynnością, która obszernie została omówiona we wcześniejszej części niniejszego opracowania. Każda obserwacja posiada jednak swój plan działania – innymi słowy planowany przebieg obserwacji. Ponadto w wyniku przeprowadzenia obserwacji może (ale nie musi) zostać wygenerowany nowy plan. Zacznijmy od diagramu klas:
Diagram klas - wzorzec analizy: planowanie - obserwacja
Diagram klas - wzorzec analizy: planowanie - obserwacja
Wyobraź sobie teraz, że obserwacją, którą będziemy prowadzili jest monitorowanie stanu wód na terenie danego państwa. Do tego zostanie utworzony szczegółowy plan, który będzie zawierał np. rzeki, które należy monitorować, stany wałów przeciwpowodziowych i punkty podatne na zalania. W zależności od wyniku obserwacji będziemy mogli podjąć decyzje czy jakieś miejsca wymagają poczynienia inwestycji, np. wzmocnienia wałów przeciwpowodziowych, czy też pogłębienia miejsc, którymi spływa nadmiar wody. W tym przypadku zostanie utworzony plan na podstawie wyniku obserwacji. Może oczywiście być przypadek w którym wyniki obserwacji będą idealne, a w związku z tym żadne działania nie zostaną podjęte i obserwacja nie wygeneruje nowego planu działania.
Konkludując, wzorzec obserwacji możemy zastosować wszędzie tam, gdzie potrzebujemy danych, a ich pozyskanie wymaga przeprowadzenia zazwyczaj szeregu akcji.