Case Management Model and Notation (CMMN) je OMG (Object Management Group) standard pro modelování aktivit, které nejsou předem definovatelné a opakovatelné, jako je tomu v případě modelování procesů pomocí BPMN (Business Proces Model and Notation).
5. 1. 2021
Analýza -
5 minut
čtení
Case Management Model and Notation (CMMN) je OMG (Object Management Group) standard pro modelování aktivit, které nejsou předem definovatelné a opakovatelné, jako je tomu v případě modelování procesů pomocí BPMN (Business Proces Model and Notation).
Případem (Case) je situace, kde se pracovník (case worker nebo knowledge worker) podle aktuální situace a na základě událostí ad-hoc rozhoduje, jaký konkrétní postup podle svého uvážení zvolí a které činnosti z těch, jež má k dispozici, provede, aby dosáhl požadovaného výsledku. Příkladem „případu“ může být například lékařský nebo kriminální případ. Case workerem potom může být Dr. House nebo Hercule Poirot. Když se zamyslíte, mají mnoho společného: nemají předem definované postupy, musí se rozhodovat podle okamžité situace a nových zjištění. Přesto lze u nich najít opakující se fáze a činnosti při řešení případu. „Case“ tedy nezaměňujte s analytikům důvěrně známým Use Case.
Cílem CMMN je podpořit case workery, protože řešení Case nespočívá čistě jen v ad-hoc výběru aktivit podle uvážení case workera. Case jsou částečně strukturované, mají určité etapy řešení, milníky, best practices jak podobný Case řešit. BPMN sice umožňuje modelovat ad-hoc procesy (ad-hoc subproces se označuje vlnovkou ˜ ), ale bez jakýchkoli doporučení a vodítek pro case workera. Naopak, kdyby všechna pravidla a doporučení pro kombinaci možných událostí měla být důsledně znázorněna graficky v BPMN, byl by BPMN model složitý a nepřehledný. Pro tyto částečně strukturované, událostně a znalostně orientované procesy je tady CMMN.
CMMN není náhrada BPMN, je to jeho doplněk pro specifické případy, ve kterých to dává smysl. Například subproces v rámci BPMN může být popsán v CMMN. A naopak, je-li součástí řešení špatně strukturovaného Case nějaký dobře definovaný procesní task, může být tento task popsán jako subproces v BPMN.
První verzi CMMN zveřejnila OMG v roce 2014, v roce 2016 vznikla verze 1.1. CMMN je součástí různých procesních enginů i modelovacích nástrojů, například oblíbeného Sparx Enterprise Architect. Přesto reálných implementací CMMN není v současné době mnoho. Najdete různé příklady ze světa, kde CMMN pomáhá. Jsou to například inteligentní chatboti nebo evidence parlamentních interpelací. To naštěstí není jeden, ale dva různé případy využití CMMN.
Kdo ví, čeho se můžeme dočkat v blízké budoucnosti? Možná i chatbotů v parlamentu. CMMN je často vyčítáno to, že oproti BPMN není čtení CMMN diagramů intuitivní, vyžaduje větší úsilí naučit se novou notaci a vyvolává otázku, jestli je opravdu nutné učit se další notaci. Budoucnost CMMN je nejistá. V poslední době jsem si všiml, že se CMMN objevuje v poptávkách na projekty pro státní správu, což mě inspirovalo k napsání tohoto článku.
Nejlepší představu o CMMN získáte na příkladu. Příkladem case workers nebude ani Dr.House ani Hercule Poirot, ale nám všem dobře známí chasníci Dlouhý, Široký a Bystrozraký, kteří týmově řeší unikátní, špatně predikovatelné situace, ve kterých je nutné dělat hodně ad-hoc rozhodnutí.
Kralevic, ač sám neoplývá žádnými zvláštními schopnostmi, si na cestě za budoucí nevěstou dokázal i bez pomoci rekruiterů najmout ten správný tým zmutovaných specialistů, pro dnešní děti známých jako X-Men, pro nás case workers. Plán jejich práce si znázorníme pomocí CMMN :
Hracím hřištěm je Case Plan Model znázorněný jako „složka“. V našem případě „Osvobození princezny“. Na první pohled si všimnete, že na CMMN diagramu nejsou žádné šipky, které by vás vedly při čtení. Šipky jsou v diagramu zakázány.
Case může obsahovat fáze nebo epizody nazvané Stage znázorněné obdélníkem se zkosenými rohy. Stage je kontejner pro položky plánu řešení Case. Při osvobození princezny to bude „Nalezení zámku černokněžníka“, „Uhlídání princezny v komnatě“, „Svatební hostina“.
Milestone znázorňuje dílčí cíl v rámci Case, který umožňuje pokračování vývoje případu. Milestone má tvar obdélníku s polokruhovými boky (závodní okruh). Příkladem Milestone je „Příchod do zámku“.
Task je jednotka práce znázorněná podobně jako v BPMN obdélníkem s oblými rohy. Task může být označený ikonkou vlevo nahoře pro rozlišení:
Human task, který se dělí na Blocking (s ikonou hlavy) a Non-blocking (s ikonou ruky – nesledujeme dokončení práce). Příkladem je „Střežení komnaty“.
Process task – například Cesta do zámku může být definována strukturovaným procesem v BPMN.
Case task – například Získání rady od Děda Vševěda je případ sám pro sebe.
Decision task – znázorněný s ikonou rozhodovací tabulky, pro modelování může být použito DMN (Decision Model and Notation).
Tasky přerušovanou čárou jsou Discretionary task, tedy aktivity, které až v době řešení Case vybírá a provádí case worker podle vlastního uvážení vzhledem ke konkrétní situaci. Vybrat si může, ale nemusí. Například „Hledání předmětů“, což pomůže při hledání zámku i při hledání princezny, a může se hodit i při svatební hostině. Jiným příkladem Discretionary task je „Získání rady od Děda Vševěda“ cestou do zámku (o povinnosti tohoto kroku lze diskutovat).
Event Listeners jsou značeny stejně jako intermediate události v BPMN dvojitým kruhem, dělí se na Time Event Listener a User Event Listener. Příkladem je událost „Tým usíná“, což vyvolává task „Vzbudit kamarády“.
Entry a Exit criterion jsou značeny prázdným (entry) a plným (exit) kosočtvercem a představují vstupní a výstupní podmínku. Znázorňují se na obvodu Stage, Milestone nebo Task.
Decorators znázorňují vzory chování (AutoComplete – plný čtverec, ManualActivation – trojúhelník „play“, Required – vykřičník, Repetition – hashtag). CMMN definuje, které dekorátory přísluší Case, Stage, Milestone, Task. Například # použitý u stage „Uhlídání princezny v komnatě “ znázorňuje opakování, v pohádkách obvykle trojnásobné.
Dokážete nyní už přečíst CMMN diagram? Anebo je to na draka?