Temat: Model procesu w iGrafx
Piotr Tadeusz B.:
Nie jest napisane, że Performer MUSI mieć zdefiniowany tor.
tego nie powiedziałem
Performer to pojęcie a nie obiekt graficzny. Tak więc Wykonawcą MOŻE BYĆ grupa. Przy tym zwróć uwagę, że nie jest napisane element grupy a grupa.
napisałem przecież, że "grupa jako jedna sztuka" i owszem tak jest
No właśnie. Jeśli modelujący przyjmuje, że torem jest np. rola biznesowa i je ma zdefiniowane to nie może wkładać w tor innego nowego pojęcia (Patrz niżej).
All Lanes in a single LaneSet MUST define partition element of the same type, e.g., all Lanes in a LaneSet reference a Resource as the partition element, but each Lane references a different Resource instance"
Tor może być reprezentacją "performera"
nie może, performer ma już zdefiniowane znaczenie w BPMN
Sam sobie przeczysz. Skoro definiuje co jest reprezentowane przez tor to określam jakie ma dla mnie znaczenie. W BPMN masz napisane czym NIE MOŻE być.
Performer to parametr (byt, obiekt) Czynności, Tor to element grupujący i nie jest parametrem niczego, to kontener, podobnie jak pakiet w UML, pakiet nie może być parametrem
i zgodnie z logiką: jeżeli coś jest już czymś to nie może być już niczym innym (zasada wyłączonego środka)
Samochód nie może być pojazdem, a lód wodą?
sformalizowane pojęcia (namespace) się albo wzajemnie całkowicie wykluczają albo całkowicie w sobie zawierają, samochód jest pojazdem ale lód to nie woda, jeżeli woda to H2O w postaci ciekłej a lód to H2O w postaci stałej, herbatę robisz z wody 9gorącej co by to nie miało znaczyć) z do whiskey wrzucasz kostkę lodu, lód i woda to rozłączne i wzajemnie się wykluczające pojęcia.
I właśnie to kolega zrobił.Jego pragmatyka określa możliwość występowania czynności na dwu torach. Nie możesz mu zarzucać, że jego model nie jest w BPMN, choć wymaga pragmatyki aby zrozumieć czym jest obiekt na więcej niż jednym torze.
hm... pragmatyka to nie "cokolwiek" a jakaś logika, pragmatyka jest zawsze ograniczeniem semantyki notacji ale nie może jej łamać zasad...
A nie znając pragmatyki (celu modelowania) odrzucając model zrobiłbyś błąd.
raczej nie, jak mi ktoś daje model bez pragmatyki to o nią pytam jak jej nie ma odrzucam, ale z perspektywy "Profesjonalnej Dokumentacji" :) model bez pragmatyki nie jest "Profesjonalną Dokumentacją" skoro wymaga konsultacji z autorem. Brak słownika pojęć także raczej dyskwalifikuje dokumentację (tekst o latających krowach).
Jego przykład mówił o czymś zupełnie innym.
Chyba nie czujesz tego typu modeli. Tu nie chodzi o to kto może, a kto jest niezbędny do wykonania.
co to znaczy "niezbędnych jest trzech do jednej czynności"? Do niesienia trumny niezbędnych jest np. czterech, jak to więc zamodelować? Kto odpowie za upadek nieboszczyka na ziemię? I pytanie zasadnicze: co jest produktem procesu biznesowego "czterech ludzi niesie trumnę?"
Dopóki tego nie wyjaśnimy żaden model nie ma sensu, pomijam jakiś obrazek ilustrujący niesienie trumny, przypomnę, że "proces biznesowy" ma swoja definicję "coś co tworzy produkt" (lub inne bardziej wyrafinowane ale wszystkie one mówią, że proces tworzy produkt procesu) ... tak więc nie ma produktu nie ma procesu, jest jakaś praca....tu znowu logika: jeżeli "coś" nie tworzy produktu NIE JEST PROCESEM BIZNESOWYCH (pragmatyką jest tu definicja procesu), co oczywiście nie dyskwalifikuje "tych diagramów" jako poprawnych diagramów BPMN.
Zamodeluj wykonawcę zebrania (Performera).
wykonawca zebrania to rola lub stanowisko, co modelować?
Jest nim grupa składająca się prezesa, szefa produkcji i kierowników wszystkich działów produkcyjnych. Zebranie odbywa się TYLKO wtedy, gdy WSZYSCY (wszystkie role biznesowe) są na tym zebraniu. Dlaczego role? Bo zamiast prezesa może być jego zastępca jeśli akurat pełni rolę prezesa, itd..
grupa to grupa a wykonawca czegokolwiek to "ktoś wykonuje jakąś (konkretną) czynność"
Prezes to stanowisko a nie rola, rolą Prezesa może być podpisywanie umów, zatwierdzanie listy płac lub budżetu projektu, itp.... na takim zebraniu może być potrzebny ktoś kto podpisze budżet i w tej Roli ktoś może zastąpić Prezesa, np. Prokurent. Zebranie się odbędzie gdy będą na nim:
- osoby mogące podpisać budżet
- osoby odpowiedzialne za poszczególne etapy produkcji
- ...
czyli role biznesowe, raz będą to kierownicy komórek raz ich zastępcy itp. to kto te role może pełnić w ogóle lub na konkretnym spotkaniu to nie model procesu a np. wewnętrzne reguły biznesowe i zakresy obowiązków np. lista osób zastępujących i w jakich przypadkach.
(w moich oczach symulacja nie ma tu nic do rzeczy, po drugie diagram do celów symulacji to tylko deterministyczny ALGORYTM)
Każdy model procesu to ALGORYTM jego realizacji :-(.
otóż nie, procesem jest to:
- zarejestrowano zapytanie ofertowe, | Recepcjonista
- opracowane opis rozwiązania, | Technolog
- opracowano wycenę kosztów, | Kontroling
- opracowano cenę | Kontroling
- złożono dokumenty i wysłano | Recepcjonista
jest to proces ale absolutnie nie jest to algorytm, bo można to zrobić na nieskończenie wiele sposobów. Czynność jest wykonywana zgodnie z najlepszą wiedzą i umiejętnościami wykonawcy albo zgodnie z określona procedurą. Np. opracowanie rozwiązania jest praca twórczą, jedyne co wiemy, to to, ze projekt powstanie, dopóki nie powstanie nawet nie wiemy jaki. Jedyne co jest z góry "zaplanowane" to to, że produkt procesu powstanie: Opis rozwiązania być może w sformalizowane postaci na bazie wzoru dokumentów w firmie.
Algorytm daje 100% powtarzalność efektu (bo jest automatem skończonym), a proces biznesowy nie daje tej gwarancji.
Jeżeli piszesz "Każdy model procesu to ALGORYTM jego realizacji" to nie są to "procesy biznesowe". i dyskutujemy każdy o czymś innym.
(Co z tego że odpowiadasz za wykonanie czynności jak nie masz możliwości jej wykonania).
To świadczy o tym, że firma ma wadliwy system zarządzania, i dobry projekt modelowania służy miedzy innymi do wykrywania takich faktów (znowu pragmatyka)
A skąd wiesz, czy taka rzecz ma lub może mieć miejsce? Model symulacyjny może być narzędziem do wykrywania takich zagrożeń. I skąd wiesz, że firma nie ma wadliwego systemu? Jak ma się o tym dowiedzieć?
Zwróć uwagę, że do wykonania symulacji musi powstać Model Wykonywalny, a do analizy logiki funkcjonowania firmy nie, w zasadzie każdy model na wyższym niż wykonywalny, poziomie abstrakcji, to model "niewykonywalny" a przydatny. Na takim (niewykonywalnym) modelu bez problemu wykryję braki logiki w firmie i braki zasobów.
Pełna analiza procesów uwzględnia również m.in. problem dostępu do zasobów, konkurencję transakcji do zasobów itp. więc nie dziw się, że porządne narzędzia to umożliwiają.
ale zasoby to np. toporek w ręku cieśli, jak tu zamodelujesz proces budowy stodoły? Cieśla wykona szkielet, zrobi to oczywiście toporkiem, umieścisz cieśle i toporek na modelu czy tylko cieślę? Jeżeli toporek także to jak?
Ludzie to też zasoby. Nie zawiesisz krokwi sam, musisz mieć co najmniej dwie osoby, w tym jeden musi koordynować zawieszanie a drugi pełnić rolę pomocnika.
to wiem, ja pytam gdzie toporek
Możesz utworzyć nową rolę - zespół lub wykorzystać istniejące role pokazując współdziałanie. Dla małej ilości grup współdziałających może mieć to sens, ale przy większej... tu właśnie wchodzi pragmatyka. Jak to zrobić aby było prawidłowo nie tylko formalnie ale i zdroworozsądkowo. (Tego właśnie uczę na swoich szkoleniach :-) ).
gdzie toporek jako zasób?
Ale prosta rzecz: proces biznesowy, jeżeli uznamy go za "coś co modeluje jakąś rzeczywistość biznesową" to coś co obrazuje świat jakiejś istniejącej np. firmy. W tak zwanym "realu" czas płynie w jedną stronę wiec np. model opisujący prace nad dokumentem mający na końcu warunek: "Czy dokument zaakceptowano" i jeżeli nie to powrót do pierwszego kroku jest bełkotem bo "czasu nie cofniemy" do początku tej roboty, możemy co najwyżej jakąś prace wykonać kolejny raz ...
Zastosowałeś nieprecyzyjny skrót myślowy podczas interpretowania modelu i masz pretensję, że jest bełkotem.
Prawidłowo powinieneś powiedzieć:
"Czy dokument zaakceptowano" i jeżeli nie to (ponownie) wykonaj czynność ...
Ma sens?
Ty tworzysz algorytm (procedurę) :) a nie proces biznesowy trwający w czasie.
nie jest to "pętla wstecz", bo za pierwszym razem mam pusta kartkę a za drugim zapisaną do korekty więc nie mogę "puścić" strzałki do początku procesu bo tam jest (była) czynność Twórz dokument i Data object o statusie "pusta kartka". Przetwarzany obiekt (dokument) przekazany do korekty ma już inny status.
To jest właśnie zdolność języka do precyzyjnego wyrażania treści. I BPMN jest notacją, która pozwala na taka precyzję.
tego nigdy nie negowałem :), w końcu powstała do tworzenia modeli wykonywalnych...
Co nie oznacza, że każdy potrafi z możliwości tych skorzystać. Język polski pozwala na budowanie cudownych przenośni i niejednoznaczności ale ilu potrafi to pięknie wykorzystywać? No i luu zna polski a ilu się nim tylko posługuje ;->
jak sam wiesz, wiersze - i nie tylko - mają tyle interpretacji ilu maturzystów i ma to sens na maturze, ale gdyby model procesu miał tyle interpretacji ilu kierowników projektu i to by była (i nie raz jest) tragedia ...
W moich oczach wiec:
- performer to jeden byt, niezależnie czy jest to osoba czy nazwana grupa
- BPMN używa pojęcia zasób ale wymaga to zdefiniowania czym on jest
- tor w BPMN nie może być zasobem bo to pojęcie jest już zarezerwowane dla jednego z parametrów czynności, tory to partycje (element grupujący) i z zasady "each Lane references a different Resource instance" - jeżeli tor jest kontenerem (a jest) zaś np. czynności mają swoje instancje, to znaczy, że nie dopuszczalne jest by cokolwiek było zawarte jednocześnie w dwóch różnych kontenerach jednocześnie ...
I tu masz typowy problem modelujących w BPMN. BPMN wyraźnie rozgranicza pojęcia (np. komunikat, dane, proces, wykonawca) od ich graficznych interpretacji (np. zdarzenie komunikat, artefakt komunikat, obiekt dane, basen czy tor). Tor jest graficzną reprezentacją i to do tego niespecyfikowaną, czyli pozwalającą modelującemu na precyzyjne określenie jej znaczenia (Pragmatyka). Tego też uczę na swoich szkoleniach ;-).
ja właśnie nie mam tego problemu bo wyraźnie rozgraniczam te pojęcia... :)
BPMN nie rozgranicza pojęć od ich symboli, wręcz przeciwnie: semantyka notacji to nadanie konkretnych znaczeń skończonej liczbie konkretnych symboli... jeżeli jakiś symbol został zarezerwowany dla czynności to znaczy, że czynność to ZAWSZE będzie prostokąt, w ramach pragmatyki możemy zawęzić te definicję ale nie możemy jej "wyjąć" z przestrzeni nazw i wpakować w inne miejsce. Pragmatyka to nie coś co powie "w tym modelu prostokąt oznacza wykonawcę".
Jak już reklamujemy swoje szkolenia to już teraz widać czego uczymy :)