Eelmises postituses küll viitasin, et juttu tuleb ka DMN-st (Decision Model and Notation), kuid siiski otsustasin selle kohta täitsa eraldiseisva postituse teha. Seega antud blogipostituses annan ülevaate enamlevinud äriprotsesside modelleerimise notatsioonist BPMN-ist (Business Process Modelling Notation) ja toon välja juhiseid, kuidas seda notatsiooni kõige paremini kasutada.

BPMN

BPMN (Business Process Modelling Notation) on graafiline notatsioon äriprotsesside modelleerimiseks. BPMN on universaalne keel, mis on ärilisele kasutajale väga intuitiivne, samas sellest saab aru ka IT.  Seega võib öelda, et see on kommunikatsioonivahendiks äriprotsesside disaini ja rakendamise vahel. “BPMN provides businesses with the capability of understanding their internal business procedures in a graphical notation and will give organizations the ability to communicate these procedures in a standard manner.” (Business Process Model and Notation v 2.0). Kõige põhjalikuma ülevaate BPMN notatsioonist, saab Object Management Group (OMG) poolt koostatud juhisest – https://www.omg.org/spec/BPMN/2.0/PDF . Kel jaksu võib ka seda 538 leheküljelist materjali otsast lugema hakata aga esimeste mudelite joonistamiseks ja nendest arusaamiseks pole kindlasti vaja kohe nii mahukat materjali läbi töötada.

BPMN-i baaselemendid

Selleks, et BPMN-is modelleeritud mudeleid mõista, on kõigepealt vaja aru saada BPMN-i baaselementidest. Järgnevatel joonistel olen välja toonud peamised elemendid, mille tundmisest piisab, et täiesti korralikke protsesse joonistada.

Mõned juhised heade protsessimudelite loomiseks

Minimeeri mudeli suurust

Modelleerija eesmärk peaks olema hoida protsessimudeleid nii väikestena kui võimalik. Suured mudelid ei ole hästi hoomatavad ja nende lugemine on väga kohmakas st. nõuab dokumendis/programmis korduvat sisse ja väljasuumimist. Üks nipp mudeli suuruse reguleerimiseks on kasutada alamprotsesse – kui on näha, et mudel läheb liiga suureks, leia mudelilt loogilised tükid, mida on mõistlik eraldi alamprotsessidena modelleerida. See võimaldab nö peaprotsessist eemaldada need elemendid, mis tõsteti alamprotsessi ja peaprotsessi lisada ainult viite alamprotsessile.

Jaota ja ühenda voogusid ühetaoliselt

See lüüs, mida kasutati voogude jagamiseks, peaks koonduvaid vooge ka ühendama. Näiteks kui mingis tööprotsessis jagunevad tööd kaheks paralleelseks tegevuste jadaks, mis hiljem jälle ühinevad (ehk mõlema töövoo puhul on vaja läbi täpselt samu tegevusi), siis peab enne mainitud paralleelset tegevuste jadat kasutama nö paralleellüüsi ning töövoogude uuesti ühinemisel samuti kasutama paralleellüüsi.

Töövoo lahknevusel kasutatavad välistavad lüüsid (nn XOR Gateway) peavad sisaldama küsilauset

Näiteks mingi kauba tellimise protsessis lahkneb töövoog kohas, kus on kontrollitakse, kas kaup on laos või mitte. Nimetatud lahknemiskohal kasutatakse välistavat lüüsi koos küsilausega “Kas kaup on laos?” Juhul kui kaup on laos, siis jätkub tööprotsess ühtmoodi tegevustega ja kui kaupa ei ole laos, siis teistmoodi tegevustega.

Väldi mudelites omavahel kattuvaid elemente

Modelleerimisel jälgi, et tegevuste kastid või lüüsid ei paikneks üksteise peal või et voogusid kirjeldavad jooned oleksid omavahel eristatavad ja arusaadavad. Omast kogemusest võin öelda, mudeli korrastamine ehk mudeli elementide kattuvuste eemaldamine nõuab modelleerimise protsessis märkimisväärset tööaega.

Kasuta võimalikult vähe erinevat tüüpi lüüse

Väga paljude eri tüüpi lüüside (välistav lüüs, paralleellüüs, sündmuspõhine lüüs, kompleksne lüüs, kaasav lüüs jne) vähendab protsessist arusaamist. Mina kasutan enamjaolt kolme eri tüüpi lüüsi – välistavat lüüsi (Exclusive or XOR Gateway), paraleellüüsi (Parallel Gateway), kaasavat lüüsi (Inclusive Gateway).

Lähtu modelleerimisel ühetaolisuse printsiibist

  • Kõikidel tegevustel peavad olema samas stiilis kirjeldused – kirjelduste lisamisel on hea tava, et nad on samas stiilis ka sõnastatud. Mitte nii, et üks tegevus on “Tellimuse tegemine” ja teine on näiteks “Arve väljastus”;
  • Kasuta basseine  (Pools) seotud protsesside kirjeldamisel ühetaoliselt – basseinid on mõeldud ühe konkreetse protsessi kujutamiseks. Kui sa ühe protsessi puhul kirjutad basseini nimetusse protsessi nime ja teises protsessis hoopis asutuse nime, siis see ei ole ühetaoline kasutamine ja raskendab mudelitest arusaamist;
  • Kasuta radu (Lanes) seotud protsesside kirjeldamisel ühetaoliselt  – rajad on mõeldud antud protsessiga seotud ospoolte (üksuste, osakondade, rollide) kujutamiseks. Kui sa ühe protsessi puhul kirjutad radade nimetusse nt konkreetsete rollide nimed ja teises seotud protsessis aga hoopis üksuse nime, siis see ei ole ühetaoline kasutamine ja raskendab mudelist arusaamist.
  • Kasuta protsessi algussündmuseid (Start event) ühetaoliselt – üldiselt on igal protsessil ainult üks algussündmus. Kui on siiski vaja lisada ka teist protsessi “käivitajat”, siis kaalu sündmuspõhise alguslüüsi (Event-based start gateway) kasutamist.
  • Kasuta protsessi lõppsündmuseid (End event) ühetaoliselt – protsessi katkemiste puhul kasuta lõppsündmuse elemendi sees vastavat tähistust (punane rist). Kui protsess sisaldab mitut nö tähistamata lõppsündmust (punast ringi täiendava tähistuseta), siis  peab sellised lõppsündmused üheks sündmuseks koondama.

Erinevates allikates on erinevaid protsessimudelite kvaliteedi juhiseid kirjeldatud aga nende rakendamisel tuleks säilitada nö “terve mõistus” – neid juhiseid tuleks rakendada täpselt nii palju, kui see aitab kaasa protsessimudelist arusaamisele. Väga hea ülevaate taolistest kvaliteedijuhistest on kirjeldatud järgnevas artiklis – “A Guideline framework for understandable BPMN models” Flavio Corradini, Fabrizio Fornari, Andrea Polini, Barbara Re et. al. Viidatud artiklis on toodud ka tööriist http://pros.unicam.it/bebop-webinterface/  , mis võimaldab enda BPMN-is modelleeritud mudeli üles laadida ning see tööriist analüüsib sinu mudelit ja annab tagasisidet, milliste “reeglite” vastu eksisid. Siinkohal hoiatus, et ärge laske tulemustel ennast morjendada 🙂 , nagu ma ütlesin peab sellistesse juhistesse/reeglitesse suhtuma terve mõistusega.

Kuidas tutvustatud notatsiooni elemente ja juhiseid rakendada?

Alljärgnev joonis kajastab Bizagi Modelleriga joonistatud lihtsustatud toote tellimise protsessi ning näitlikustab, kuidas kasutada järgnevaid BPMN elemente:

  • Bassein – suur ristkülik, mille nimetus käesoleval joonisel on “Toote tellimise protsess”;
  • Rada – käesoleval joonisel on kaks antud protsessiga seotud osapoolt, seega on ka kaks rada – klient ja toodet omav firma;
  • Tegevus – sinised kastid joonisel, nt “Tellimuse registreerimine”;
  • Lüüs – kollased rombid joonisel, tähistuseta lüüs tähendab vaikimisi välistavat lüüsi. Jooniselt on näha, et välistavad lüüsid on varustatud küsimustega, nt. “Kas sobiv toode on laos?”;
  • Järgnevusvoog – mustad pidevad jooned, mille otsas on nool. Need jooned seovad omavahel teisi BPMN-i elemente ja annavad ülevaate, millised elemendid on omavahel seotud ja kuidas nad üksteisele järgnevad;
  • Algussündmus – roheline mummuke protsessi alguses. Konkreetset protsessi käivitab kliendi soov tellida konkreetset toodet;
  • Lõpusündmused – joonisel on näha kahte tüüpi lõpusündmusi. Tähistusega (ristiga) punane mummuke tähistab neid kohti, kus protsess teatud põhjustel katkeb. Tähistuseta punane mummuke näitab, kuhu jõuab protsess välja ja millega lõppeb nö eduka stsenaariumi korral (st. juhul kui ta varem ei katke).

Millal BPMN-i kasutada?

Plussid:

  • laialt kasutatav ja seega paljudele hästi mõistetav;
  • kasutatakse palju riigiasutustes;
  • üks kõige võimsamaid ja mitmekülgsemaid notatasioone äriprotsessi piirangute tuvastamiseks.

Miinused:

  • vajab harjutamist ja kogemusi selleks, et kõiki elemente õigesti kasutada;
  • keeruline näha seoseid protsessi erinevate tasandite vahel;
  • erinevad modelleerimise tööriistad võivad sisaldada eri hulgal notatsiooni elemente;

Väga hea eestikeelse ülevaate BPMN-ist ja äriprotsessidest annab protsessianalüüsi käsiraamat “Avaliku sektori äriprotsessid” – https://www.mkm.ee/sites/default/files/protsessianaluusi_kasiraamat.pdf 

Postituses kasutatud allikad

Koostöös IT koolitusega olen ette valmistamas äriprotsesside kirjaoskuse teemalist koolitust – https://koolitus.ee/koolitused/9756/koolitus-ariprotsesside-kirjaoskuse-koolitus

Seega kui tahad BPMN-i notatsioonist rohkem teada, siis koolituse esimesel päeval teen sellest põhjaliku ülevaate, millele järgneb ka praktika ühe konkreetse äriprotsessi modelleerimise näol.