• Vergroot lettergrootte
  • Standaard lettergrootte
  • Verklein lettergrootte
Home Bluff Your Way Into... Workflowmanagement volgens Wil van der Aalst
Workflowmanagement volgens Wil van der Aalst

workflow werkstroom wil van der aalst

In het boek Workflowmanagement beschrijft Wil van der Aalst een begrippenkader (ontologie) voor workflow management. Volgens Van der Aalst zijn de begrippen bruikbaar voor:

  1. beschrijven van bedrijfskundige context waarbinnen workflow management systemen opereren.

  2. modelleren en analyseren van processen.

  3. beschrijven van de functionaliteit en architectuur van workflow management systemen.

workflow management processen wil aalst

Er zijn veel soorten werk, bijvoorbeeld: het bakken van een brood, het opmaken van een bed, het ontwerpen van een huis of het verzamelen van enquêteresultaten in een statistiek. In al deze voorbeelden zien we steeds een ‘ding’ dat gemaakt of bewerkt wordt: het brood, het bed, het huis of de statistiek. [Van der Aalst] noemt zo’n ding’ een casus. Andere benamingen zijn werk, werkstuk, job, zaak, product of dienst. Een casus hoeft niet een concreet ding te zijn maar mag abstract zijn zoals een rechtszaak of een schadeclaim.

(…)

Werken aan een casus heeft een discreet karakter; dit wil zeggen dat elke casus één begin en één eind heeft en dat casussen van elkaar te onderscheiden zijn. Voor elke casus moet een proces worden uitgevoerd. Een proces bestaat uit een verzameling taken die uitgevoerd moeten worden en verder uit een verzameling condities over de volgorde waarin deze taken uitgevoerd moeten worden. Een proces kan worden opgevat als een procedure. Een taak is een logische eenheid van werk die als één geheel wordt uitgevoerd door één resource. Een resource is een algemene benaming voor een persoon, machine of groep bestaande uit personen of machines, die bepaalde taken op zich kan nemen. Dat wil niet altijd zeggen dat de resource de taak ook noodzakelijk zelfstandig uitvoert, maar hij is er verantwoordelijk voor.

(…)

Twee of meer taken die strikt na elkaar worden uitgevoerd, noemen we een sequentie. … [S]oms kan er gekozen worden uit twee of meer taken; dit noemen we selectie.

Ook zijn er taken die parallel uitgevoerd kunnen worden. …. [Wanneer een taak alleen kan beginnen als de voorgaande taak of taken klaar zijn, heet dit synchronisatie. Er is sprake van iteratie of herhaling als taken herhaaldelijk (kunnen) voorkomen].

(…)

Samenvattend onderscheiden we vier basismechanismen voor het structureren van processen: sequentie, selectie, parallellisatie en iteratie. Al deze constructies komen in de praktijk veel voor en in beginsel kunnen alle processen met deze vier constructies gemodelleerd worden.

(…)

Een taak is ook op te vatten als een proces dat niet verder opgedeeld wordt, een atomair proces. Hier zit een subjectief element in: wat voor de ene persoon één taak is kan voor een ander een niet-atomair proces zijn. (…) Een taak is dus een atomair proces voor degene die de taak definieert of opdracht geeft hem uit te voeren, maar een taak is voor degene die hem moet uitvoeren vaak een niet-atomair proces.

Voor elke casus wordt één proces uitgevoerd. De uitvoering van een taak door een resource noemen we activiteit. Verschillende casussen kunnen hetzelfde proces hebben. Daarnaast mag elke casus een andere route door het proces volgen. … De route hangt af van de specifieke eigenschappen van de casus, de casusattributen. Het aantal processen in een bedrijf is (doorgaans) eindig en heel klein ten opzichte van het aantal te behandelen casussen. Daarom kan een bedrijf routine ontwikkelen in de uitvoering van de processen en zodoende efficiënt werken.

 

workflow werkstroom casus activiteit proces taak

 

Modelleren van werkstromen

Het succes van een workflow-systeem staat of valt met de kwaliteit van de ingevoerde werkstromen. Daarom [is het van belang veel] aandacht [te] besteden aan het modelleren en analyseren van werkstromen. ... Als gereedschap gebruiken we Petri-netten. Met behulp van Petri-netten kunnen we een proces op eenduidige manier vastleggen. Ook kunnen we Petri-netten gebruiken om het proces te analyseren.

 

Casus

Het primaire doel van een workflow-systeem is het afhandelen van casussen. (...) Casussen die tot hetzelfde type behoren, worden in principe op dezelfde manier afgehandeld. Elke casus heeft een unieke identificatie. Deze identificatie maakt het mogelijk te refereren aan de bijbehorende casus. Een casus heeft een beperkte levensduur. ... Tussen het ontstaan en weer verdwijnen van een casus, is deze steeds in een bepaalde toestand. De toestand van een casus bestaat uit drie delen: (1) de waarden van de bijbehorende casusattributen, (2) de condities waaraan voldaan is, en (3) de inhoud van de casus.

Per casus kunnen er diverse variabelen bijgehouden worden. Deze casusattributen worden gebruikt voor de besturing van de casus. Dankzij de casusattributen is het bijvoorbeeld mogelijk aan te geven dat een taak onder bepaalde voorwaarden overgeslagen mag worden. ... [Een] casusattribuut mag gedurende de uitvoering van een casus van waarde veranderen.

Aan de hand van een casusattribuut kunnen we niet zien in hoeverre een casus reeds is afgehandeld. Om dit aan te geven maken we gebruik van condities. Op basis van deze condities wordt bepaald welke taken nog uitgevoerd moeten worden. Voorbeelden van condities zijn 'order geaccepteerd', 'aanvraag afgewezen' en 'in behandeling'. We kunnen een conditie ook zien als een voorwaarde waaraan voldaan moet zijn voordat een bepaalde taak uitgevoerd mag worden. Pas als voor een bepaalde casus aan alle condities van een taak voldaan is, dan mag de taak voor deze casus uitgevoerd worden. Voor een specifieke casus is op elk moment duidelijk aan welke condities wel en aan welke condities niet voldaan is.

 

Taak

Dankzij het onderkennen van taken is het mogelijk om werkstromen te structureren. Een taak is een logische eenheid van werk. Een taak is ondeelbaar en wordt dus altijd in zijn geheel uitgevoerd. Indien er tijdens de uitvoering van een taak wat misgaat, wordt de taak in zijn geheel teruggedraaid. We spreken in dit geval ook wel over een rollback. Het ondeelbaar zijn van een taak hangt overigens af van de context waarbinnen de taak gedefinieerd wordt. Een taak die door een opdrachtgever uitbesteed wordt aan een opdrachtnemer is atomair gezien vanuit het standpunt van de opdrachtgever. Voor de opdrachtnemer hoeft dit echter niet het geval te zijn, deze kan de opgelegde taak weer uiteenrafelen in kleinere taken.

... We maken onderscheid tussen handmatige, automatische en semi-automatische taken. Een handmatige taak wordt in zijn geheel, zonder tussenkomst van een applicatie, door één of meerdere personen uitgevoerd. We kunnen hierbij denken aan het uitvoeren van een fysieke controle. Een automatische taak wordt daarentegen zonder tussenkomst van personen uitgevoerd. Er is in dit geval meestal sprake van een applicatie, dat wil zeggen een computerprogramma, waarmee de taak geheel automatisch op basis van eerder geregistreerde gegevens uitgevoerd kan worden. Bij de uitvoering van een semi-automatische taak zijn zowel een persoon als een applicatie betrokken.

workflow werkstroom casus taak taakopdracht aalst

Een taak heeft betrekking op een generiek stukje werk en niet op het uitvoeren van een handeling voor één specifieke casus. Om verwarring tussen de taak zelf en de uitvoering van een taak voor een specifieke casus te voorkomen, gebruiken we de termen taakopdracht en activiteit. Een taakopdracht is de combinatie van een casus en een taak die op het punt staat uitgevoerd te worden. Een taakopdracht ontstaat op het moment dat de toestand van de casus daar aanleiding toe geeft. We kunnen de taakopdracht dus zien als een concreet stukje werk dat uitgevoerd mag worden. Met de term activiteit verwijzen we naar de daadwerkelijke uitvoering van een taakopdracht. Op het moment dat er gestart wordt met de verwerking van de taakopdracht, wordt deze omgezet in een activiteit. Merk op dat zowel een taakopdracht als een activiteit, in tegenstelling tot een taak, betrekking heeft op een specifieke casus.

 

Proces

De wijze waarop een bepaalde klasse van casussen afgehandeld dient te worden is vastgelegd in het bijbehorende proces. Het proces geeft aan welke taken er uitgevoerd moeten worden. We kunnen een proces ook wel beschouwen als een procedure voor een bepaald casustype. Over het algemeen worden er vele casussen aan de hand van één proces afgehandeld. Daarom is het mogelijk op basis van de casusattributen van een casus een specifieke afhandeling te bewerkstelligen. Zo is het bijvoorbeeld mogelijk dat een taak in het proces slechts voor een deel van de casussen daadwerkelijk uitgevoerd wordt. Ook mag de volgorde waarin taken uitgevoerd worden, afhankelijk zijn van specifieke kenmerken van de casus. Voor het afdwingen van een bepaalde volgorde worden condities gebruikt. In essentie is een proces dus opgebouwd uit taken en condities.

Het is mogelijk om in een proces gebruik te maken van reeds eerder gedefinieerde processen. Naast taken en condities mag een proces dus ook bestaan uit (nul of meer) deelprocessen. Elk van deze processen bestaat weer uit taken, condities en eventueel ook deelprocessen. Door het expliciet onderkennen en afzonderlijk specificeren van deelprocessen, kunnen veelvoorkomende deelprocessen meermalen gebruikt worden. Ook kunnen complexe processen op deze manier hiërarchisch gestructureerd worden. Op het hoogste niveau van de procesbeschrijving zien we een aantal deelprocessen. Door één of meer van deze deelprocessen te bekijken kunnen we als het waren 'inzoomen' op bepaalde delen van het proces.

De levenscyclus van een casus wordt vastgelegd door een proces. Omdat elke casus een beperkte levensduur heeft, met een duidelijk begin- en eindpunt, is het van belang dat het proces dit ook afdwingt. Per proces is er dus sprake van één beginpunt en één eindpunt, die het ontstaan respectievelijk verdwijnen van een casus markeren.

 

Routering

De levenscyclus van een casus wordt vastgelegd in een proces. We spreken in dit verband ook wel over de routering van de casus. Door de routering van de casus langs een aantal taken wordt bepaald welke taken (en in welke volgorde) er uitgevoerd moeten worden. Voor het routeren van casussen maken we gebruik van een viertal basisconstructies.

(1) Sequentie

De meest eenvoudige vorm van routering is het sequentieel uitvoeren van taken. In dit geval worden twee taken na elkaar uitgevoerd. Meestal is er sprake van een duidelijke afhankelijkheid tussen de twee taken. Het resultaat van de eerste taak is bijvoorbeeld nodig voor de tweede taak.

(2) Parallellisatie

Indien er twee taken tegelijkertijd en in willekeurige volgorde uitgevoerd mogen worden, spreken we over parallelle routering. In dit geval gaat het dus om twee taken die beide uitgevoerd moeten worden, zonder dat het resultaat van de ene taak van belang is voor de andere taak. De twee taken worden opgestart door middel van een AND-split en later weer gesynchroniseerd door en AND-join.

(3) Selectie

We spreken over selectieve routering indien er sprake is van een keuze tussen twee of meer taken. De keuze mag afhangen van specifieke kenmerken van de casus zoals deze zijn vastgelegd in de bijbehorende casusattributen. Zo'n keuze tussen alternatieven wordt ook wel een OR-split genoemd. Door middel van een OR-join worden de alternatieven weer naar elkaar toegeleid. In plaats van selectieve routering spreken we ook wel over alternatieve of conditionele routering.

(4) Iteratie

In het ideale geval zal een taak ten hoogste één keer per casus uitgevoerd worden. Soms is het echter nodig om een bepaalde taak meerdere keren uit te voeren. We kunnen hierbij denken aan een taak die herhaald dient te worden totdat de daarop volgende controletaak het resultaat positief beoordeelt. Deze vorm van routering noemen we iteratie.

 

Uitvoering

Een taakopdracht kan pas uitgevoerd worden op het moment dat de toestand van de desbetreffende casus daar aanleiding toe geeft. Voor de daadwerkelijke uitvoering van een taakopdracht is er vaak meer nodig. Indien de taakopdracht door een persoon uitgevoerd moet worden, dan moet deze persoon eerst de taakopdracht uit de werkbak pakken voordat er sprake is van een activiteit. Met andere woorden: pas nadat de medewerker het initiatief heeft genomen, wordt de taakopdracht uitgevoerd. Er is in dat geval dus sprake van triggering: de taakopdracht wordt getriggerd door een resource (in dit geval de medewerker). Er zijn echter ook nog andere vormen van triggering denkbaar: een externe gebeurtenis (bijvoorbeeld het arriveren van een bericht) of het bereiken van een bepaald tijdstip. We onderscheiden dus drie triggers: (1) het initiatief van een een resource, (2) externe gebeurtenis en (3) kloksignaal. Taakopdrachten die altijd meteen - zonder tussenkomst van een resource - uitgevoerd moeten worden, hebben geen trigger nodig.

Petri-net

petri-net plaats transitie token

Een Petri-net is een netwerk bestaande uit plaatsen en transities. Een plaats stellen we voor door middel van een cirkel. Een transitie stellen we voor door middel van een rechthoek. (...) In een Petri-net kunnen plaatsen en transities verbonden worden door middel van een gerichte verbinding (pijl, arc). Er zijn twee soorten verbindingen; verbindingen die lopen van een plaats naar een transitie en verbindingen die lopen van een transitie naar een plaats. Verbindingen tussen plaatsen en transities onderling zijn dus niet toegestaan.

Op basis van de verbindingen kunnen we de invoerplaatsen van een transitie bepalen. Een plaats p is een invoerplaats van een transitie t, dan en slechts dan als er een gerichte verbinding van p naar t loopt. Op een soortgelijke wijze kunnen we de uitvoerplaatsen van een transitie bepalen. Een plaats p is een uitvoerplaats van een transitie t, dan en slechts dan, als er een gerichte verbinding van t naar p loopt.

Plaatsen kunnen tokens bevatten. Een token wordt voorgesteld door middel van een zwarte stip. De structuur van een Petri-net is vast, de verdeling van de tokens over de plaatsen kan echter veranderen.

 

Proces

Door middel van een proces kunnen we in een workflow management systeem aangeven op welke wijze een bepaalde klasse van casussen afgehandeld moet worden. Het proces legt vast welke taken uitgevoerd moeten worden. Naast informatie over de uit te voeren taken bevat een proces ook informatie over condities. Op deze wijze legt het proces vast in welke volgorde deze taken uitgevoerd moeten worden. Het is ook mogelijk om in een proces gebruik te maken van reeds eerder gedefinieerde processen. Naast taken en condities mag een proces dus ook bestaan uit nul of meer deelprocessen. Het ligt voor de hand om een proces af te beelden op een Petri-net. Het betreft een Petri-net met één ingang (dat wil zeggen: een plaats zonder ingaande pijlen). Condities beelden we af op plaatsen, en taken beelden we af op transities. Ook dit ligt voor de hand omdat transities de actieve componenten en plaatsen de passieve componenten van een Petri-net vormen.

(...)

Door middel van de definitie van een proces kunnen we aangeven welke taken er voor een bepaalde klasse van casussen uitgevoerd moeten worden. Ook kunnen we in de procesdefinitie de volgorde aangeven waarin deze taken uitgevoerd moeten worden. De procesdefinitie geeft echter niet aan door wie dit dient te gebeuren De wijze waarop taakopdrachten aan resources (mensen en/of machines) toebedeeld worden is van groot belang voor de effectiviteit en efficiëntie van de werkstroom.

Resource

Een workflow-systeem is gericht op het ondersteunen van een bedrijfsproces. In dit bedrijfsproces worden werkzaamheden uitgevoerd door productiemiddelen, ook wel resources genoemd. (...) Het basiskenmerk van een resource is het feit dat deze bepaalde taken uit kan voeren. Verder gaan we ervan uit dat elke resource uniek identificeerbaar is. Ook nemen we aan dat een resource een bepaalde capaciteit heeft.

(...)

Een taak kan meestal maar door een beperkt aantal resources uitgevoerd worden. Omdat het ondoenlijk is om bij elke taak aan te geven welke resources de taak mogen uitvoeren, classificeren we de resources aan de hand van resource-klassen. Een resource-klasse is een verzameling bestaande uit resources. De resource-klasse Baliemedewerker bestaat bijvoorbeeld uit de personen Annie, Henk, Mien, Sjaak en Ton. Een resource kan tot meerdere resource-klassen behoren. ... In het algemeen onderscheiden we twee vormen van resource-classificatie: (1) een classificatie op basis van functionele kenmerken en (2) een classificatie op basis van de plaats in de organisatie.

Een resource-klasse die gebaseerd is op de functionele kenmerken noemen we ook wel een rol. In plaats van over rol spreken we ook wel over functie of kwalificatie. Een rol is een verzameling resources die elk beschikken over een aantal specifieke vaardigheden. ... Door aan een taak de juiste rol te koppelen kan men ervoor zorgen dat de resource die de taak gaat uitvoeren voldoende gekwalificeerd is.

Resources kunnen ook geclassificeerd worden op basis van hun plaats in de organisatie. ... Een resource-klasse die niet gebaseerd is op functionele kenmerken maar op organisatorische, noemen we ook wel een organisatorische eenheid. Door de indeling in organisatorische eenheden kan men ervoor zorgen dat een taak op de juiste plaats in de organisatie uitgevoerd wordt.

(...)

[D]e resource-classificatie (bestaat) in de meeste gevallen uit twee delen. Het deel met de indeling in rollen noemen we ook wel het rollenmodel. Het deel met de indeling in organisatorische eenheden noemen we ook wel het organigram. Merk op dat de term organigram meestal een wat bredere betekenis heeft; het betreft dan een hiërarchische structurering van de organisatie.

Om ervoor te zorgen dat elke activiteit uitgevoerd wordt door een geschikte resource, voorzien we in de procesdefinitie elke taak van een toewijzing. Deze toewijzing specificeert aan welke randvoorwaarden de resource moet voldoen. In de meeste gevallen wordt in de toewijzing een rol en een organisatorische eenheid gespecificeerd. De resource moet dan tot de doorsnede van deze twee resource-klassen behoren. (...) Door handig gebruik te maken van casusattributen kunnen we er ook voor zorgen dat een activiteit uitgevoerd wordt door een specifieke resource. Het omgekeerde is ook mogelijk. Binnen een bank kan het bijvoorbeeld zo zijn dat een medewerker niet twee opeenvolgende taken voor een specifieke casus uit mag voeren. We noemen dit functiescheiding. De term functiescheiding komt uit de accountantswereld. In deze wereld is het van belang dat bepaalde taken, om fraude te voorkomen, niet door dezelfde persoon uitgevoerd kunnen worden. (...) Indien een aantal opeenvolgende taken juist wel door, of onder de verantwoordelijkheid van, één medewerker uitgevoerd dient te worden, spreken we ook wel over een casusmanager. Omdat de casusmanager een casus voor een groot deel voor zijn rekening neemt, is er sprake van een grotere betrokkenheid. Het aanstellen van een casusmanager voor elke casus kan ook leiden tot een betere service naar de klant en een snellere afhandeling, doordat de inwerktijden teruglopen.

(...)

Het hart van een worklflow-systeem wordt gevormd door de workflow engine. De workflow engine verzorgt de daadwerkelijke uitvoering van de gespecificeerde werkstroom. Een van de kerntaken van de workflow engine is het toedelen van taakopdrachten aan resources. Hierbij moet rekening gehouden worden met de gespecificeerde resource-klassen maar ook met zaken als functiescheiding en casus-management. In veel gevallen is het desondanks zo dat de workflow engine bij het toedelen van werk kan kiezen uit een aantal resources. In dat geval moet de workflow engine of één van de medewerkers beslissen wie de activiteit zal uitvoeren.

Toewijzingsprincipes

Het doel van een workflow-systeem is om taakopdrachten zo snel mogelijk af te handelen. Het laten rusten van taakopdrachten kan immers een verlenging van de doorlooptijd van de casus tot gevolg hebben. Voor het omzetten van taakopdrachten in activiteiten moeten steeds twee beslissingen genomen worden:

  • In welke volgorde worden de taakopdrachten omgezet in activiteiten?

Indien er op bepaalde momenten sprake is van een overvloed aan taakopdrachten, kunnen we niet elke taakopdracht meteen omzetten in een activiteit. Het kan immers zijn dat er meer taakopdrachten dan beschikbare resources zijn. Is dit het geval, dan moet er een keuze gemaakt worden ten aanzien van de volgorde waarin de taakopdrachten geselecteerd worden.

  • Door welke resources laten we de activiteiten uitvoeren?

Doordat niet alle resources hetzelfde zijn, kan het uitmaken aan welke resource een bepaalde taakopdracht toegewezen wordt. Een specialistische resource kan bijvoorbeeld bepaalde taken sneller uitvoeren. Ook kan het verstandig zijn een flexibele resource - een resource dit tot een groot aantal resource-klassen behoort - zo lang mogelijk vrij te houden.

Er zijn verschillende heuristieken mogelijk om te komen tot de keuze van een bepaalde volgorde. Hiervoor kunnen we met name gebruik maken van de verschillende rijdisciplines die gebruikt worden voor productiebesturing in fabrieken. Het routeren van een casus langs een aantal resources vertoont grote overeenkomsten met het routeren van een product langs een aantal machines in een productieafdeling. Veel gehanteerde rijdisciplines zijn:

- First-In-First-Out (FIFO): taakopdrachten afhandelen in de volgorde waarin ze ontstaan

- Last-In-First Out (LIFO): taakopdrachten afhandelen die als laatste zijn binnengekomen

- Shortest-Possible-Time (SPT): eerst taakopdrachten selecteren die het minste tijd kosten

- Shortest-Rest-Processing-Time (SRPT): casussen met kortste resterende bewerkingstijd voorrang geven (om bijv. WIP te minimaliseren)

- Earliest-Due-Date (EDD): afhandel volgorde baseren op tijdstip waarop casus afgehandeld moet zijn

 

Bron: Workflow management, Wil van der Aalst & Kees van Hee

 

 

Laatst aangepast op zondag, 27 september 2020 19:05  

If you can't explain it to a six year old, you don't understand it yourself.

Albert Einstein

Banner

Archief

Lean boeken top 5

(maart 2016)
Banner
Banner
Banner
Banner
Banner

We hebben 138 gasten online
Artikelen

systeem ontwerp system perfectly designed results gets edwards deming

Banner
Banner

Hoe overleef ik mijn inbox? Jim Stolze

Hoe overleef ik mijn inbox?
31 tips voor een gelukkig online-leven
Jim Stolze

Managementboek.nl | Bol.com

Lean boekentips

Banner