urbanisation-si.com

urbanisation-si.com

BPMN


BPSim, la théorie et la pratique de la simulation de processus BPMN

La simulation de modèle donne vie à vos modèles dynamiques grâce à une exécution instantanée et en temps réel. 
Couplé avec des outils pour gérer les déclencheurs, les événements, les contraintes, les règles, les points d'arrêt et les variables de simulation, ainsi que la possibilité de suivre visuellement l'exécution, le simulateur est un moyen puissant de regarder les roues tourner et de vérifier l'exactitude de vos modèles. 

 

theorie-modelisation-simulation

 

(“Theory of Modeling and Simulation” Bernard P. Zeigler)

 

Objectifs de la simulation de modèle

Le principe fondamental de la simulation de modèle est la séparation du modèle et du simulateur. 

 

Le simulateur est défini comme un moteur de règles qui, en fonction d’un référentiel de règles, exécute un modèle qui sert à l’analyse du comportement. 

La relation de simulation permet de vérifier qu’en obéissant aux règles définies dans le modèle de simulation, le simulateur reproduit le comportement spécifié.

Le cadre expérimental spécifie les conditions d’observations du système et les objectifs de la simulation. 

Le système source (le système à modéliser) est une spécification et il peut être réel ou virtuel : il constitue la source de données observables.

Ces données observables forment la base de données de comportement. 

La relation de modélisation permet ainsi d’établir la validité de l’expérience.

 

La simulation a comme objectifs de :

  • tester une hypothèse du modèle du système de référence, de le vérifier ou d’accréditer la théorie qui a servi à le construire,

  • montrer l'aspect dynamique du système de référence,

  • comprendre le fonctionnement du système de référence, en considérant le modèle comme une réplique miniature, qui pourra être étudiée plus facilement,

  • prévoir les évolutions possibles du système de référence en fonction d’évolutions ou de perturbations spécifiques,

  • reproduire artificiellement le fonctionnement d’un système,

  • valider ou d’invalider des hypothèses, 

  • obtenir des informations quantitatives,

  • valider certaines approximations, 

  • évaluer la sensibilité d’un modèle à certaines hypothèses ou à certains paramètres,

  • explorer le comportement d’un système lorsque celui-ci est mal connu ou incompris.

 

 

BPSim

Le WfMC (Workflow Management Coalition) a réalisé la norme BPSim. 
Il définit une spécification pour le paramétrage et l'échange de données d'analyse de processus permettant l'analyse structurelle d'un modèle de processus, permettant l'optimisation de la pré-exécution et de la post-exécution.

BPSim se compose d'un métamodèle et d'un format d'échange pour faciliter la sauvegarde et le transfert de ces données entre différents outils.
Le métamodèle BPSim est réalisé en UML et le format d’échange en XSD.

 

 

Exemple pratique de simulation d’un processus BPMN avec l’outil Enterprise Architect

Environnement prérequis


JRE/JDK Java 8 (version supérieure non testée).
Enterprise Architect (EA) 15.2 (version d’évaluation Ultimate) Sparx Systems

 

 

Modèle BPMN utilisé dans notre illustration de simulation

Conception du modèle BPMN dans EA

Le but est d’illustrer concrètement une simulation BPSim, le modèle BPMN inclut les éléments les plus utilisés sous forme générique.

Comme nous l’avons vu en théorie, on doit relier le simulateur externe au modèle.

Avec EA, il  suffit que le modèle BPMN et l'artefact "Business Process Simulation" de la toolbox se trouve dans un même package. Ainsi à l'exécution de cet artefact correspondant au simulateur, EA trouvera automatiquement le modèle BPMN. 

 

1) Créer un nouveau projet, par exemple “bpsim-simulation-bpmn.eapx”.

 

2) Puis, dans le “root node Model ”, créer un package (clic droit Add View, Package Only), par exemple “BPSim-Simulation-BPMN”.

 

3) Dans ce package, clic droit, Add Diagram, Type : BPMN, BPMN 2.0, Diagram Types : Collaboration.

Au message, sélectionner “Create this Diagram within a new Collaboration Model”, conserver le nom par défaut.

 

Pour cette démonstration, nous prendrons un modèle BPMN générique, comportant 2 pools (P1 et P2), envoi et réception de messages entre les 2, et à l’intérieur de chacun, des séquences d’activités avec des gateways, ce qui peut déjà correspondre à bons nombres de cas réels :

 

modele-bpmn-utilise-pour-la-simulation-bpsim

 

 

Illustration pratique de la simulation

Objectifs

Pour cette illustration BPSim, nous prendrons un entier n, initialisé à 10 au début et qui sera modifié par les activités en ajoutant des valeurs constantes.

 

Les branches des gateways exclusives seront des conditions selon que n soit supérieur ou égal ou bien strictement inférieur à une valeur donnée.
Pour visualiser le chemin parcouru et les activités traversées, nous initialisons le simulateur avec un contrôle de type TriggerCount.
Le TriggerCount définit le nombre de fois que l'objet ou le connecteur doit être traité pendant une exécution de la simulation, de sorte que le cycle de traitement correspond à la demande type pour une chaîne d'actions particulière.

Il est généralement défini pour les éléments Start Event.
Ce TriggerCount définit le nombre de fois que l'élément ou le connecteur doit être traité dans une simulation normale ou personnalisée.

La matérialisation des artefacts activés par la simulation se fait par l’affichage en rouge de la valeur du TriggerCount sur chaque élément traversé. 

 

Création du simulateur BPSim

On a vu précédemment qu'il faut ajouter l'artefact "Business Process Simulation".

 

Sélectionner le package “BPSim-Simulation-BPMN” > Toolbox > Artifacts > Drag & Drop de "Business Process Simulation" dans le package, laisser le nom par défaut > double cliquer dessus pour ouvrir la fenêtre “Configure BPSim”

 

business-process-simulation-fenetre

 

 

L’onglet “Configure” est sélectionné, laisser les valeurs par défaut. 


Ces valeurs représentent :

  • la date de démarrage,
  • la durée qui doit être supérieure à la durée estimée, ici 999 Days, 
  • l’unité de temps (ici minute),
  • le nombre de réplications (1), 
  • la valeur d’initialisation du générateur aléatoire (n’est pas utilisé ici),
  • le langage d’expression (XPath) pour analyser le XML représentant textuellement le modèle BPMN grâce à la norme XMI,
  • les répertoires d’installation de Java 8 (JRE/JDK),
  • le port de communication du simulateur (1799), attention à que ce port ne soit pas déjà occupé.
  • un timestamp.

 

Paramétrage des éléments de modélisation

Dans le pool P1

1) Sélectionner Debut1 > Configure BPSim > onglet Configure > Category > sélectionner Control > dans la colonne à coté Parameter, sélectionner TriggerCount > et enfin dans la colonne Values, saisir 1

 

configuration-debut1-TriggerCount

 

2) Ajouter une propriété n de type entier (int)

Cliquer sur l'icône "Properties" > New Property, saisir n, puis dans Type, sélectionner int

 

configure-bpsim-configure-propriete

 

3) Sélectionner Debut1 > Configure BPSim > onglet Configure >

Category > en dessous de Control, New Parameter, sélectionner Property > n > pour la valeur, cliquer sur le bouton … à droite,  saisir 10 dans Expression

 

configuration-debut1-property-n

 

 

4) De la même manière, sélectionner Activite1 et compléter les 3 colonnes :
Property > n > Values > …. > Expression {n} + 100

 

5) Sélectionner le sequence flow de Passerelle1 à Fin1 
Control > Condition > Values > …. > Expression {n} >= 50

 

6) Sélectionner le sequence flow de Passerelle1 à Fin2 
Control > Condition > Values > …. > Expression {n} < 50

 

Dans le pool P2

7) Sélectionner Activite2 :
Property > n > Values > …. > Expression {n} + 10

 

8) Sélectionner le séquence flow de Passerelle2 à Activite3 
Control > Condition > Values > …. > Expression {n} >= 15

 

9) Sélectionner le séquence flow de Passerelle2 à Activite4 
Control > Condition > Values > …. > Expression {n} < 15

 

10) Sélectionner Activite3 :
Property > n > Values > …. > Expression {n} + 10

 

11) Sélectionner Activite4 :
Property > n > Values > …. > Expression {n} + 1

 

Sauvegarde de la configuration

Cliquer sur l’icône disquette.

 

Pour vérification, cliquer sur l’icône Property (point bleu), vous devez obtenir toutes les propriétés et les conditions appliquées sur les différents éléments du modèle BPMN :

 

fenetre-proprietes-et-conditions-de-la-simulation-bpsim

 

 

Exécution de la simulation BPSim

Dans la partie “Configure BPSim”, sélectionner l’onglet Execute, puis la première icône en dessous à gauche (Run Simulation)

 

 

execution-de-la-simulation-bpsim-du-modele-bpmn

 

Une fois la simulation terminée, vous pouvez arrêter l'affichage, en cliquant sur l'icône représentant un carré (Stop). L'affichage des "TriggerCount" disparaît.

 

Explication :

 

EA indique les éléments activés, accompagnés d’un "1" rouge (TriggerCount 1) et en sombre les autres.

 

Si l'on vérifie manuellement :

  1. P1
  2. n = 10 on envoie n dans P2
  3. Activite1 n = 10 + 100 = 110
  4. P2 reçoit n = 10
  5. Activite2 n = 10 + 10 = 20
  6. Comme n >= 15, on arrive dans Activite3 : n = 20 + 10 = 30
  7. On envoie n dans P1
  8. P1 reçoit n = 30
  9. Comme n < 50, on termine dans Fin2.

 

Exécution pas à pas de la simulation

 

Pour suivre pas à pas l'exécution de la simulation à des fins par exemple de mise au point, il suffit de sélectionner l'onglet Step, pour trouver les boutons de démarrage, d'avancement, de pause et d'arrêt.

 

On peut aussi (3 ème icône en partant de la droite), générer un diagramme de timing et juste à coté, celle pour générer un fichier CSV.

 

A noter que l'onglet Review permet de générer des rapports.

 

 

execution-pas-a-pas-de-la-simulation-bpsim-du-modele-bpmn

 

Validation du modèle BPMN

A côté de la disquette, on peut cliquer sur l’icône de validation, ce qui ouvre un nouvel onglet “System Output”

 

validation-de-la-simulation-bpsim-et-du-modele-bpmn

 

Conclusion

Le simulateur BPSim d’Enterprise Architect nous a permis de voir concrètement une exécution d’un modèle auquel on a associé aux éléments des propriétés, instructions et conditions.

Bien sûr, le simulateur d’EA possède de nombreuses distributions de probabilités (Binomial, Erlang, Gamma, Normal, Poisson, TruncatedNormal, Uniform…) permettant d’avoir des scénarios proches de la réalité.Les ressources, rôles (acteurs), peuvent être associées à des minis-écrans interactifs. 

Enfin, des calendriers permettent de planifier et gérer les durées et le déclenchement des activités pour plus de réalisme.


Le simulateur supporte aussi la norme DMN (Decision Model and Notation) pour la modélisation des règles métier.

Et pour être complet, on pourrait simuler un processus BPMN avec des tâches de type “Business Rule” qui seraient par exemple un modèle DMN avec des tables de décision et des règles de calculs.

 

N’hésitez pas à partager votre expérience sur le sujet de la simulation BPMN et à nous dire quels outils vous utilisez en postant un commentaire à la fin de cet article.

 

 

Rhona Maxwel
@rhona_helena

 

 


Il dit non avec la tête
mais il dit oui avec le cœur

et malgré les menaces du maître
sous les huées des enfants prodiges
avec les craies de toutes les couleurs
sur le tableau noir du malheur
il dessine le visage du bonheur.

 "Le cancre", Jacques Prévert

 

 

Pour en savoir plus sur 

BPMN

BPMN 2 : les concepts de base des processus métiers

 

BPMN pour les nuls : les collaborations

 

BPMN : l'antisèche pour rester incollable en modélisation de processus

 

BPMN l’exemple type pour tout comprendre sans prendre d’aspirine

 

BPMN

 

 

DMN

DMN - L'antisèche de la notation complète des composants d'un DRD (Decision Requirement Diagram) : notation de la décision

 

Tutoriel – didacticiel – exemple complet sur la norme de modélisation des règles métiers DMN ( Decision Model Notation ) : Exemple d'exécution du modèle de décisions

 

DMN

 


02/02/2021
0 Poster un commentaire

Comment mettre en place un jeux de rôles pour modéliser un processus métier ?

Rien de mieux qu'un jeux de rôles pour simuler un processus métier.

 

bpmn-identifier-les-processus-metier-les-jeux-de-roles.jpg

 

Les futurs utilisateurs du processus métier sont rassemblés.

Les outils sont les outils de tous les ateliers classiques que l'ont fait avec les experts métiers : un paper board, des feutres de couleurs, des post-it, …

 

Le but est que les participants réalisent le processus de manière efficiente.

Les ateliers peuvent être planifiés sur 3 séances de 3 heures.

Vous commencez par identifier les activités externes, les flux d'échanges de documents, les moyens de communications, … et à amorcer un travail de réflexion qui sera repris lors de la deuxième séance.

 

L’objectif des 2 séances suivantes est de s’éloigner du processus et de mettre en évidence les objectifs/buts de chaque acteur afin d'explorer des pistes d’amélioration.

 

La première séance a pour but de simuler le processus métier.

 

L'atelier se déroule simplement avec l'aide de post-it autocollants qui représentent des activités et de feutres de couleurs qui différencient les rôles.

Les participants sont mis en situation. Les participants jouent chacun à leur tour en fonction du moment où ils ont à intervenir.

 

Le début de l'atelier, vous situez le contexte général, 15 mn de tour de table et affectation des rôles des participants.

Durant cette étape, vous vous apercevrez que parfois, certains rôles n’ont pas été identifiés.

Soit une personne présente peut jouer ce rôle, soit une nouvelle séance sera nécessaire.

Un animateur représente les acteurs externes (il reçoit et transmet des informations).

 

Les acteurs de mettent d'accord sur un scénario, et chacun discutera et évaluera le résultat.

 

Chaque participant joue son propre rôle. Il note toutes les actions qu'il doit effectuer sur un post-it jaune autocollant avec un feutre de couleur qui l'identifie. Il pose ensuite le post-it sur la feuille blanche du paper board et fait une ou plusieurs flèches en indiquant à qui il passe la suite.

 

Les actions sont constituées d’un verbe conjugué à la première personne du singulier (par exemple je demande), d’un moyen(par exemple par mail) et si besoin d’un document (par exemple un devis). Les verbes et les moyens sont mis à la disposition des acteurs sous la forme de fiches pré-remplies.

 

Durant le jeu, il est possible d’enrichir ce vocabulaire commun, tous les participants rajoutent alors le verbe sur leur fiche.

 

Les documents sont notés sur un paper board au fur et à mesure de leur apparition.

Certaines actions correspondent à des créations de documents. Dans ce cas, le participant remplit une petite fiche descriptive (nom du document, contraintes d'utilisation du document, type (électronique ou papier), ...), colle une pastille de couleur sur la fiche du document (une couleur unique par document) et la pose sous le post-it.

 

Si un participant a besoin d’un document préalablement créé, il colle sur son post-it une pastille dont la couleur est celle du document. S’il est nécessaire de faire appel à un acteur externe, l’animateur pose un post-it de couleur rose (donc différent des post-it jaunes des participants), aucune action n’est notée sur ces post-it, seuls les documents peuvent circuler ou apparaître sous un post-it rose.

 

Tout participant peut durant le déroulement du jeu « poser un joker » pour indiquer qu’il fait un choix et donc que des variantes seraient possible.

 

Pour chaque post-it, les variantes sont scrupuleusement notées par un des animateurs. Un participant qui n’a plus à jouer (il considère que son rôle est terminé) l’indique en posant un panneau STOP sur son dernier post-it.

 

Le résultat obtenu est très proche d’un processus BPMN « basique». La feuille du paper board correspond à l’espace de travail, les post-it jaunes aux activités, les traits de couleur entre post-it à des objets de flux, on retrouve facilement les couloirs grâce aux feutres de couleur différente et aux acteurs externes,...

Il reste évidemment, pour une modélisation complète, des éléments à rajouter (évènements déclencheurs, intermédiaires, de fin), des actions itératives, ...

 

Pour conclure la séance, vous posez les questions :

  • Où se situent les principales difficultés du processus?
  • Pourquoi?
  • Donner deux idées d’actions pour améliorer le processus.

 

Rhona Maxwel

@rhona_helena

 

"Alors pourquoi aspirons-nous constamment à l'amour ? Parce que l'amour est le point de rencontre entre la vérité et la magie. Vérité comme en photographie ; magie, comme en aéronautique."

Julian Barnes

 

 

Articles conseillés :

 

Comment identifier, simuler, améliorer et modéliser les processus métiers ?

 

BPMN : l'antisèche pour rester incollable en modélisation de processus

 

Vous cherchez désespérement un formalisme pour vos processus métiers mettant en accord MOA et MOE, la solution miracle existe, elle s'appelle BPMN

 

BPMN l’exemple type pour tout comprendre sans prendre d’aspirine


13/12/2016
0 Poster un commentaire

Comment identifier, simuler, améliorer et modéliser les processus métiers ?

Vous vous demandez quel est le bon processus ou méthode pour gérer et modéliser vos processus métiers ?

 

Eh oui on le vit tout les jours, le monde évolue alors ne subissez pas les changements, soyez réactif dans vos processus métiers.

Vous devez être agile et capable de les identifier, les simuler, les améliorer et les modéliser, dans un délai s'approchant du temps réel, sur les besoins des usagers de la concurrence, du marché, des nouveaux aspects juridiques, politiques, des réorganisations internes, des évolutions technologiques et des contraintes environnementales.

 

Pour atteindre ces objectifs, vous devez réaliser 4 grandes étapes :

 

Etape 1 - Identifier le processus : rechercher les informations pour la modélisation du processus, les acteurs participants

 

methode-processus-metiers-etape-identification.PNG

 

Etape 2 – Simuler le processus : faire participer sous forme de jeux de rôle les futurs utilisateurs de manière à avoir la représentation quasi définitive et prête à être modéliser en BPMN du processus.

 

methode-processus-metiers-etape-simulation.PNG

 

Etape 3 – Evaluer le processus : analyser le processus pour rechercher les problèmes rencontrés par les acteurs réalisant le processus et trouver des solutions.

 

methode-processus-metiers-etape-evaluation.PNG

 

Etape 4 – Améliorer le processus : rejouer le processus en intégrant les nouvelles activités ajoutées lors de l'étape 3 et estimer le gain d'efficience du processus.

 

methode-processus-metiers-etape-amelioration.PNG

 

Etape 5 – Modéliser le processus obtenu avec BPMN : les dessins réalisés manuellement lors des étapes précédentes doivent être très proches d'une modélisation BPMN, il ne reste plus qu'à transcrire avec le formalisme BPMN et le tour est joué.

 

methode-processus-metiers-etape-representation.PNG

 

Rhona Maxwel

@rhona_maxwel

 

« Il existe une pauvreté bien plus grande: ne pas se sentir aimé, désiré, être marginalisé. »

Mère Teresa

  

 

Articles conseillés :

 

Vous cherchez désespérement un formalisme pour vos processus métiers mettant en accord MOA et MOE, la solution miracle existe, elle s'appelle BPMN

 

BPMN : norme OMG - synthèse des éléments graphiques

 

BPMN : l'antisèche pour rester incollable en modélisation de processus

 

BPMN : la norme, toute la norme rien que la norme. L'exemple à lire en attendant une pizza.


11/12/2016
1 Poster un commentaire

Vous cherchez désespérement un formalisme pour vos processus métiers mettant en accord MOA et MOE, la solution miracle existe, elle s'appelle BPMN

BPMN est un langage plus concret spécialement conçu pour les experts métiers afin qu'ils puissent représenter leurs processus métiers avec la terminologie qu'ils connaissent

BPMN-exemple-complet.PNG

 

L'exemple BPMN par excellence illustrant les échanges entre 2 participants d'un processus métier.

 

Vous avez été nombreux à suivre la saga sur SysML, une nouvelle série commence consacrée à BPMN ( catégorie : BPMN )

  

BPMN 2 : les concepts de base des processus métiers

 

BPMN pour les nuls : les collaborations 

 

BPMN pour les nuls : les chorégraphies (Choreographies)

 

BPMN pour les nuls : les conversations

 

BPMN : norme OMG - synthèse des éléments graphiques

 

BPMN : l'antisèche pour rester incollable en modélisation de processus

 

BPMN l’exemple type pour tout comprendre sans prendre d’aspirine 

 

BPMN : la norme, toute la norme rien que la norme. L'exemple à lire en attendant une pizza

 

BPMN : mais que dit la norme sur les sous-processus et la gestion des événements d'interruption et de remontée d'incidents ?

 

BPMN : processus exécutables, comment s'y prendre ? (1/3)

 

BPMN : processus exécutables, comment s'y prendre ? (2/3)

 

BPMN : processus exécutables, comment s'y prendre ? (3/3)

 

Le langage BPMN (Business Process Model & Notation) est une norme de l'OMG (Object Management Group) comme UML (Unified Modeling Language).

 

UML est un langage de modélisation générique avec lequel on peut tout modéliser à condition de bien maîtriser ses concepts et ses techniques d'extension alors que BPMN est un langage plus concret spécialement conçu pour les experts métiers afin qu'ils puissent représenter leurs processus métiers avec la terminologie qu'ils connaissent.

 

La modélisation des processus métiers avec UML (diagramme d'activité, ...) à toujours été rejetée par les experts métiers, trouvant UML trop technique et réservé à une élite d'informaticiens.

  

Un des objectifs de la norme BPMN est de faciliter la communication entre tous les acteurs impliqués dans un projet informatique tant au niveau cartographie des processus métier que sur le plan de la modélisation des besoins d'une application.

  

BPMN est censé être un véritable "espéranto" pour les processus métier depuis l'expert métier jusqu'au développeur.

  

Il permet d'avoir une représentation visuelle du fonctionnement d'un processus et ce, autant pour les expert métiers, les techniciens qui mettent en œuvre la solution technologique exécutant le processus et les utilisateurs, qui gèrent et contrôlent les processus.

 

Rhona Maxwel

@rhona_helena

 

"Quand tu sens que tu ne vas pas y arriver, tu sens aussi que ton probable échec te mettra sur la voie d'une réussite à venir."
Vincent Cespedes


06/12/2016
0 Poster un commentaire

BPMN : processus exécutables, comment s'y prendre ? (3/3)

Comment bien cibler les destinataires d'une modélisation de processus métier pour ne pas ennuyer la MOA avec des diagrammes complexes et la MOE avec des diagramme innapropriés ?

 

BPMN-processus-executable-exemple-4.PNG

 

Le processus de gestion des anomalies avec la partie manuelle et la partie automatisée par un moteur de BPM comme jBPM ou Bonitasoft.

 

Imaginons un instant que l'on veuille automatiser le processus de gestion d'anomalies de notre éditeur de logiciels ( voir les 2 articles précédents BPMN : processus exécutables, comment s'y prendre ? (1/3) et BPMN : processus exécutables, comment s'y prendre ? (2/3) ), nous devons décider quelles sont les parties à exécuter dans le moteur de processus et celles par des humains.

 

Le chargé de clientèle (account manager) ne doit pas s'occuper de remplir des formulaires, il doit juste envoyer un mail dans le cas ou un client rencontre une anomalie et il en reçoit un quand le processus est complètement réalisé.

Même chose pour le développeur.

 

Dans le cas ou le support 2ème niveau est assis non loin du développeur, le plus efficient est qu'il se déplace pour demander au développeur ou en est la résolution du problème plutôt que des aller retours de mail avec affectation de tâches.

Cette partie de la geston d'incidents reste donc manuelle, la collaboration entre le support de 2ème niveau et le développeur n'est pas du tout intégrée dans le moteur de processus exécutable.

 

Par contre le système crée un ticket au support 1er et 2 ème niveau, ce système géré par le moteur de processus ( rôle ou acteur ) est modélisé par un « pool » dédié.

 

Ce système reçoit et analyse les mails envoyés par le chargé de clientèle et crée un ticket.

 

Si le support 1er niveau décide que le ticket est destiné au support 2ème niveau, il remplit le formulaire du ticket et notamment la partie concernant la description du problème.

Le système de gestion de ticket redirige le ticket dans la corbeille de tâches du support 2ème niveau.

 

Quand l'anomalie est résolue ou la nouvelle fonctionnalité réalisée, le support 2ème niveau indique que sa tâche est terminée pour la prochaine release (version) du logiciel.

 

Le système de gestion de ticket appelle le service du système de gestion de fonctionnalité (product backlog).

Le moteur de processus exécutable a intégré une nouvelle fonctionnalité sans aucune intervention manuelle.

A la fin, le système de gestion de ticket envoie un mail au chargé de clientèle avec la description du traitement de la résolution de l'anomalie et ferme le ticket.

Le chargé de clientèle peut expliquer la solution au client en se basant sur les informations du ticket.

 

Cette manière de modéliser ensemble la gestion manuelle et automatisée dans un unique diagramme est juste un exemple donnant une bonne idée de l'approche basée sur le diagramme de collaboration.

 

Cela démontre que BPMN intègre l'alignement du métier et du ystème d'information dans le processus de modélisation.

 

On peut implémenter la modélisation de la partie automatisé par un moteur de processu exécutable (comme jBPM ou Bonitasoft) et montrer la modélisation de la partie manuelle aux différents participants, les supports 1er et 2ème niveau et chargé de clientèle.

 

On peut ainsi étudier avec eux les évolutions et améliorations du processus métier.

La différenciation entre les 2 modèles permet par exemple de bien cibler les destinataires, de ne pas ennuyer la MOA avec des diagrammes complexes et la MOE avec des diagramme innapropriés.

 

BPMN-processus-executable-exemple-5.PNG

Ce qu'on doit montrer au chargé de clientèle est uniquement ce simple diagramme.

  

BPMN-processus-executable-exemple-6.PNG

 

Parmi l'ensemble de la collaboration, le moteur de processus exécutera uniquement cette partie destinée à la MOE.

 

Rhona Maxwel

@rhona_helena

 

« On voudrait bien s'adorer jusqu'à la tombe, mais des événements viennent défaire les voeux, déraciner les promesse, abîmer l'espérance. On achète, dans l'amour qui naît, un futur qui ne veut jamais exister. »

Yann Moix

 

 

Articles conseillés :

 

BPMN : processus exécutables, comment s'y prendre ? (1/3)

 

BPMN : processus exécutables, comment s'y prendre ? (2/3)

 

Tutoriel jBPM : étude de cas avec human task (partie 2/10)

 

BPMN : mais que dit la norme sur les sous-processus et la gestion des événements d'interruption et de remontée d'incidents ?

 

BPMN : la norme, toute la norme rien que la norme. L'exemple à lire en attendant une pizza.


04/12/2016
0 Poster un commentaire

BPMN : processus exécutables, comment s'y prendre ? (2/3)

Expliciter le fonctionnement interne de vos processus avec le diagramme de collaboration et de chorégraphie ayant la même sémantique mais des vues complémentaires.

BPMN-processus-executable-exemple-2.PNG

Diagramme de collaboration de la gestion d'anomalies

 

Regardons de plus près le jeu de ping-pong du chargé de clientèle, le support 1er et 2ème niveau et le développeur de logiciels en passant d'un modèle à « pool » unique ( voir l'article précédent BPMN : processus exécutables, comment s'y prendre ? (1/3) et l'article suivant BPMN : processus exécutables, comment s'y prendre ? (3/3) ) à un diagramme de collaboration. 

 

Nous pouvons réaliser maintenant les détails du processus par chaque participant, par exemple, le dialogue entre le chargé de clientèle et le client pour clarifier le problème du client, ou le fait que le support 2ème niveau créera la demande pour une nouvelle fonctionnalité en cas d'inexistence dans le produit actuel.

 

Nous avons aussi spécifié chaque tâche comme manuelle, ce qui signifie que nous pensons toujours aux processus composé exclusivement de tâches humaines et sans moteur de processus.

 

Cette modélisation peut être systématiquement réalisée avant de d'analyser l'intégration d'un moteur de processus. La prochaine étape pourrait consister à savoir si nous voulons que la collaboration se fasse complètement par un moteur de processus, ou seulement des parties.

Cette 3ème étape sera abordée dans le prochain article.

 

Regardons une autre façon de modéliser un tel jeu d'aller retour en utilisant le diagramme de chorégraphie.

 

BPMN-processus-executable-exemple-3.PNG

Diagramme de chorégraphie de la gestion d'anomalies

 

Ce diagramme montre seulement les tâches qui sont consacrées à la communication entre les participants de processus différents, masquant toutes les étapes internes, par exemple, la tâche qui insère une nouvelle entrée dans le référentiel des fonctionnalités en attente de réalisation (« product backlog »).

 

Ces 2 diagrammes ont le même modèle sémantique mais représente juste des vues différentes.

 

Rhona Maxwel

@rhona_helena

 

 " Je n'aime pas le soir qui tombe. Ces jours qui s'en vont dans l'ombre pour toujours. "

Dephine de Vigan

 

 

Articles conseillés  : 

 

BPMN : processus exécutables, comment s'y prendre ? (1/3)

 

BPMN : processus exécutables, comment s'y prendre ? (3/3)

 

BPMN 2 : les concepts de base des processus métiers

 

BPMN : l'antisèche pour rester incollable en modélisation de processus 

 

BPMN l’exemple type pour tout comprendre sans prendre d’aspirine


03/12/2016
0 Poster un commentaire

BPMN : processus exécutables, comment s'y prendre ? (1/3)

Non l'exécution d'un processus en intégrant les tâches humaines n'est pas de la science fiction !

BPMN-processus-executable-exemple-1.PNG

 

Modèle de haut niveau pour ceux qui n'ont pas besoin de comprendre les détails.
 
La première étape consiste à montrer, en utilisant un exemple d'un processus d'incident, le point de vue de haut niveau masquant volontairement les détails.
 
Dans la deuxième étape ( voir l'article BPMN : processus exécutables, comment s'y prendre ? (2/3) ), nous affinons ce modèle en nous déplaçant de l'orchestration à la collaboration et la chorégraphie. 
Voir les articles :
 
Dans la troisième étape ( BPMN : processus exécutables, comment s'y prendre ? (3/3) ) nous prenons la collaboration organisationnelle et imaginons comment un moteur de processus pourrait exécuter la partie du processus intégrant des tâches humaines. 
 
L'objectif de ces 3 articles est de montrer comment vous pouvez utiliser BPMN pour créer des diagrammes simples et plutôt abstraits, mais aussi comment détailler des vues sur la avec des tâches humaines et finalement comment modéliser les spécifications techniques pour l'exécution de processus. Voir le tutoriel complet (10 articles) sur le moteur de processus exécutables open source jBPM : Tutoriel jBPM : les fonctionnalités du BPM open source (partie 1/10)
 
Pour illustrer ces 3 étapes, rien de mieux qu'un processus de gestion d'incident pour un éditeur de logiciel.
 
Le client déclenche le processuss en demandant l'aide de son chargé de clientèle à cause d'un problème du produit acheté. Tout d'abord, le chargé de clientèle doit essayer de traiter cette demande tout seul et expliquer la solution au client. 
 
Sinon, le chargé de clientèle remet la question au support  1er niveau. 
De même, le support 1er niveau essaye de résoudre le problème et s’il n’y arrive pas, il le passe au  support 2nd  niveau. 
Le support 2nd  niveau,  doit comprendre si le client peut résoudre le problème tout seul, sinon il peut demander au développeur son avis. 
A la fin le chargé de clientèle explique la solution au client. 
 
Ce diagramme est vraiment simple et décrit le processus d'une manière macro. Le modèle masque tous les détails de collaboration entre les salariés impliqués et les tâches abstraites indiquent que nous n'avons pas d'informations sur les parties internes du processus ou s'il est exécutable par un moteur de processus (BPM Business Process Management). 
 
Ce diagramme est utile, si vous vous intéressez au périmètre du processus, ses acteurs et l'évènement déclencheur. Vous obtenez une compréhension de base du flux et la conversation des acteurs principaux.
 
Mais en revanche, vous n'avez une vue complète avec toutes les étapes élémentaires pour par exemple discuter des améliorations du processus ou l'application le réalisant.
 
Rhona Maxwel
@rhona_helena
 
« Sais tu combien de personnes se disent au cours des derniers instants de leur vie si j'avais su, si j'avais pu entendre ou comprendre, si seulement j'avais pu leur dire, s'ils savaient … »
Marc Lévy

 

Voir la suite :

 

BPMN : processus exécutables, comment s'y prendre ? (2/3)

 

BPMN : processus exécutables, comment s'y prendre ? (3/3)

 

Articles conseillés :

 

BPMN 2 : les concepts de base des processus métiers

 

BPMN : l'antisèche pour rester incollable en modélisation de processus

 

BPMN l’exemple type pour tout comprendre sans prendre d’aspirine


01/12/2016
0 Poster un commentaire

BPMN : mais que dit la norme sur les sous-processus et la gestion des événements d'interruption et de remontée d'incidents ?

Voyons cela sur l'exemple type BPMN : le processus de commande et de réapprovisionnement d'un article.

bpmn-exemple-en-francais-norme-03_1.PNG

 

Ce processus BPMN de gestion de commandes commence après la réception d'un message de commande et la première activité vérifie si l'article commandé est disponible ou non.

Un article disponible est expédié au client suivi par un règlement (« Financial settlement »), qui est un sous-processus (avec le symbole +).

 

Dans le cas où l'article n'est pas disponible, on exécute le sous-processus de « réapprovisionnement » (« Procurement »), avec les bords épais qui signifient que c'est une activité composite et réutilisable dont on a choisi de ne pas montrer le sous-processus intérieur et qui peut être interrompue.

Ce sous-processus possède deux événements situés sur les bords. En utilisant des événements attachés il est possible de traiter les événements qui peuvent spontanément arriver pendant l'exécution d'une tâche ou d'un sous-processus.

 

Ainsi nous devons distinguer entre l'interruption et la non-interruption d'événements attachés.

Les 2 événements peuvent être interceptés, mais seulement le type non-interruptif, ici c'est l'événement de « remontée d'incidents (escalation), « la livraison avec retard » (« late delivery ») qui n'interrompt pas l'activité à laquelle il est attaché.

Quand l'événement d'interruption « livraison impossible » (« undeliverable ») arrive, toutes les activité en cours s'arrêtent immédiatement.

 

Voici le processus de gestion de stock :

bpmn-exemple-en-francais-norme-03_2.PNG

 

Le processus de gestion de stock est déclenché par un événement de début conditionnel. Cela signifie que le processus est instancié si la condition est devenue vraie, ainsi dans cet exemple quand le niveau des stocks est inférieur au seuil minimum.

 

Pour augmenter le niveau des stocks un article doit être réapprovisionné (« Procurement »).

Donc nous utilisons le même processus que précédemment.

De manière semblable, ce processus manipule l'exception d'erreur en enlevant l'article du catalogue. Ce processus de gestion de stock n'a pas besoin du traitement de l'événement de remontée d'incidents « livraison avec retard ».

C'est pourquoi il est écarté et n'est pas traité.

Si le sous-processus de « réapprovisionnement » se termine normalement alors on aura l'événement de fin « article réapprovisionné ».

 

Voici le sous processus de réapprovisionnement :

bpmn-exemple-en-francais-norme-03_3.PNG

 

Regardons de quoi est composé le sous-processus de réapprovisionnement qui est utilisée à la fois pour l'accomplissement du processus de gestion de commande et celui de gestion de stock.

 

Parce que c'est un sous-processus, l'événement de début est simple, indiquant que ce processus n'est déclenché par aucun événement externe, mais par le processus de niveau supérieur.

 

La première tâche dans ce sous-processus consiste à contrôler si l'article à réapprovisionner est disponible chez le fournisseur.

S'il n'est pas disponible, il enverra l’événement « livraison impossible » qui sera intercepté à la fois par le processus de gestion de commande et par celui de gestion de stock.

Dans le cas où la livraison dans le processus de réapprovisionnement dure plus de 2 jours un événement de remontée d'incidents est envoyé par le sous-processus signifiant au processus de niveau supérieur que la livraison sera en retard.

 

Semblable à l'événement d'erreur, l'événement de remontée d'incidents a aussi un identifiant qui est nécessaire pour la connexion entre l'émission et l'interception de l'événement de remontée d'incidents.

Contrairement à l'événement d'erreur, les exécutions (thread) en cours sont ni terminés, ni affectés par le lancement d'un événement de remontée d'incidents intermédiaire.

 

En outre, le processus de réapprovisionnement continue son exécution en attendant la livraison.

L'événement émis est traité par l'activité parente la plus proche avec l'événement de remontée d'incidents intermédiaire attaché qui a le même identifiant que l'événement d'escalade émis.

Dans le processus de gestion de commande, l'événement de remontée d'incidents « livraison avec retard » attaché au sous-processus réapprovisionnement intercepte l'événement « livraison avec retard » émis qui est non interruptif.

À cause de cela un nouveau jeton est produit, suit le chemin du traitement de remontée d'incidents et déclenche la tâche qui informe le client que l'article commandé sera expédié plus tard.

 

Quand le sous-processus de réapprovisionnement se termine, le processus de gestion de commande continue avec l'expédition de l'article et le règlement.

 

Rhona Maxwel
@rhona_helena

 

"Dans ce cas, il faudra accepter de vivre avec l'idée que nous connaissons la vérité, malgré tout.

La justice, ce n'est pas seulement le fait que les gens qui commettent des crimes soient punis.

Pour nous, c'est aussi le fait de ne jamais renoncer."

Henning Mankell

 

Voir aussi ;

BPMN

BPMN : la norme, toute la norme rien que la norme. L'exemple à lire en attendant une pizza.

BPMN l’exemple type pour tout comprendre sans prendre d’aspirine

BPMN : l'antisèche pour rester incollable en modélisation de processus

BPMN : norme OMG - synthèse des éléments graphiques

BPMN pour les nuls : les conversations

BPMN pour les nuls : les chorégraphies (Choreographies)

BPMN pour les nuls : les collaborations

BPMN 2 : les concepts de base des processus métiers


23/10/2016
0 Poster un commentaire

BPMN : la norme, toute la norme rien que la norme. L'exemple à lire en attendant une pizza.

BPMN et la collaboration Business-to-Business.

Un client affamé de pizza et un pizzaïolo qui tarde à livrer, voilà une situation propice à illustrer la modélisation des interactions entre 2 participants en utilisant la représentation par des « bassins » (pool BPMN) reliés par des associations.

  

bpmn-exemple-en-francais-norme-02.PNG

  

Vous pouvez aussi modéliser des diagrammes de collaboration pour montrer l'interaction entre des partenaires, mais aussi à l'intérieur d'une entreprise, modélisant l'interaction entre des départements, des équipes, des projets, des collaborateurs, des systèmes et des applications dans des diagrammes de collaboration.

Le choix de faire un diagramme de collaboration avec des associations et bassins ou s'il faut plutôt rester classique avec un diagramme de processus et représenter une association avec un bassin comportant plusieurs couloirs (lane) différents dans lesquels les acteurs communiquent à l’aide de flux de messages revient au modélisateur.

  

Mais commençons par le début, c’est-à-dire par le client de pizza, qui a remarqué le gargouillement de son estomac.

 

Le client choisit donc une pizza et la commande. Après cela, le client attend la livraison de la pizza.

L'événement de type passerelle après la tâche « commander une pizza » indique que le client attend en réalité deux événements différents qui pourraient arriver :

  • la pizza est livrée, comme indiqué avec l'événement de message suivant,
  • ou il n'y a aucune livraison pendant 60 minutes d'attente et le client appelle le vendeur et réclame sa pizza.

 

Nous supposons maintenant que l'employé promet que la pizza sera livrée bientôt et le client se met à nouveau en attente de sa pizza, si rien ne se passe pendant 60 minutes, il réitéra sa demande.

 

Intéressons nous de plus près au processus du vendeur. Il est déclenché par la commande du client, comme indiqué avec l'événement de début de message et le flux de message allant de la commande d'une pizza à cet événement.

 

Une fois terminé, le livreur livrera la pizza et recevra le paiement, qui inclut le reçu au client.

 

Dans cet exemple, nous utilisons des objets de message non seulement pour des objets informationnels, comme la commande de pizza, mais aussi pour des objets physiques, comme la pizza ou l'argent. Nous pouvons faire cela, parce que ces objets physiques agissent en réalité comme des objets informationnels en soi : quand la pizza arrive à la porte du client, il reconnaît cet événement et sait que la pizza est arrivée, ce qui est exactement le but de l'événement de message correspondant dans l'association du bassin (pool) représentant le client.

 

Attention, nous pouvons seulement utiliser le modèle de cette façon parce que cet exemple ne doit pas être exécuté par un moteur de processus.

   

Rhona Maxwel
@rhona_helena

  

« Faiblesse et courage, étourderie et raison, caprice et dévouement ! la femme est un composé de tout cela. »

Goswin Joseph Augustin, baron de Stassart

  

Voir aussi :


18/10/2016
0 Poster un commentaire

BPMN l’exemple type pour tout comprendre sans prendre d’aspirine

Voici l'exemple de référence de modélisation BPMN présentant les concepts principaux des processus métiers.

L'objectif de cet article est de montrer concrètement comment un processus métier est modélisé avec BPMN.

BPMN-exemple-norme-processus-metier-en-francais.png

 

Il ne s'agit pas ici d'expliquer chaque symbole, pour cela je vous recommande les articles ci-dessous consacrés à la syntaxe BPMN : BPMN : norme OMG - synthèse des éléments graphiques et BPMN : l'antisèche pour rester incollable en modélisation de processus.

 

L'accent est mis sur les concepts de « bassins » (pool) modélisant les échanges (associations) inter organisation et de « couloirs » (lane) représentant la communication (flux de messages) explicitant la modélisation des collaborations entre des participants.

Cet article montre comment nous pouvons composer des modèles de processus avec des sous-processus et appeler des activités.

Cet exemple ne contient pas de modèles de processus exécutables, mais représente un modèle de processus se concentrant sur les aspects organisationnels de processus commerciaux.

 

Cet exemple BPMN montre les étapes de la préparation qu'un détaillant de matériel doit accomplir avant que les marchandises ne soient expédiées au client.

 

Dans cet exemple, nous avons utilisé seulement une association et des couloirs (lane) explicites pour les acteurs impliqués dans ce processus métier.

Nous supposons juste qu'ils communiquent l'un avec l'autre d'une façon ou d'une autre.

Si nous disposons d'un moteur de processus métier exécutables (BPM Business Process Management voir les articles consacrés à jBPM le moteur open source de Red Hat jBoss : Tutoriel jBPM : les fonctionnalités du BPM open source (partie 1/10) et  ), ce moteur assignerait des tâches utilisateur et serait donc responsable de la communication entre ces acteurs.

Si nous n'avons pas un tel moteur de processus, mais voulons modéliser la communication entre les acteurs impliqués explicitement, nous devrons utiliser un diagramme de collaboration.

 

L'événement de début simple « Marchandises pour expédier » indique que cette préparation doit être faite maintenant.

 

Directement après l'instantiation du processus, il y a deux activités faites en parallèle, comme la passerelle parallèle l'indique :

  • l'employé (clerk) doit « Décider s'il s'agit d'un envoi postal normal ou une expédition spéciale » (nous ne définissons pas les critères, les règles déterminant le choix se trouvent à l'intérieur de l'activité),
  • et le chargé d'expédition (warehouse worker) commence déjà l'emballage des marchandises.

 

La tâche de l'employé (clerk) qui est suivie par la passerelle exclusive "Mode de livraison", est un bon exemple pour clarifier l'utilisation recommandée d'une passerelle : la passerelle n'est pas responsable de la décision de savoir s'il s'agit d'un envoi spécial ou une expédition postale, mais cette décision est prise dans l'activité précédente. La passerelle travaille seulement comme un routeur, qui est basé sur le résultat de la tâche précédente et fournit des chemins alternatifs. Une tâche représente une unité réelle de travail, tandis qu'une passerelle achemine seulement le flux choisi.

 

Cette passerelle est appelée "exclusive", parce que seulement une des deux branches peut être empruntée : si nous avons besoin d'une expédition spéciale, l'employé « Demandes la liste des transporteurs » puis « Assigne un transporteur et prépare les documents d'envoi ».

 

Mais si une expédition postale normale est requise, l'employé doit vérifier si une assurance supplémentaire est nécessaire. Si cette assurance supplémentaire est éxigéé, le directeur de logistique (logistics manager) doit « Souscrire cette assurance ».

 

Dans tous les cas, l'employé doit remplir une étiquette postale pour l'expédition. Pour ce scénario, la passerelle incluse est nécessaire, parce qu'une branche est toujours prise, tandis que l'autre est prise seulement si l'assurance supplémentaire est exigée, mais si elle est prise, alors c'est en parallèle à la première branche.

 

À cause de ce parallélisme, nous avons besoin de la synchronisation gràce à la passerelle incluse directement derrière les 2 tâches "Remplir une étiquette postale" et " Souscrire l'assurance supplémentaire".

 

Dans ce scénario, la passerelle incluse attendra toujours "Remplir une étiquette postale" pour être complétée, parce que c'est toujours commencé.

 

Si une assurance supplémentaire a été exigée, la passerelle incluse attendra aussi "Souscrire l'assurance supplémentaire" pour être terminée.

 

En outre, nous avons aussi besoin de la passerelle parallèle pour la synchronisation avant que la dernière tâche n'ajoute les documents et ne redirige le paquet vers la zone de prise en charge, parce que nous voulons nous assurer que tout a été accompli avant que la dernière tâche ne soit exécutée.

 

Rhona Maxwel
@rhona_helena

 

"C'est là, dans le va-et-vient des jours et le fouillis des non-dits, que la vie perd le sens des choses profondes et se réfugie dans le superficiel et le faux-semblant."

Boualem Sansal

 

Voir aussi :

 


16/10/2016
2 Poster un commentaire