Qu'est-ce que BPMN ?
Business Process Model and Notation : un langage de processus assez précis pour qu'un moteur l'exécute et assez simple pour que la personne qui fait le travail le corrige. Cette seconde moitié est la partie difficile, et c'est la raison d'être de BPMN.
10 min de lectureBPMN 2.01 sur 7
La réponse courte
- BPMN existe pour une seule raison : un modèle de processus qu'un moteur exécute et que la personne qui fait le travail peut encore corriger.
- Il y a cinq familles de symboles, mais presque tout diagramme réel tient sur trois - objets de flux, objets de connexion et couloirs.
- Un flux de séquence ne peut jamais franchir une frontière de couloir. Cette seule règle est ce qui donne un sens aux couloirs.
- Un couloir est un participant avec son propre flot de contrôle ; une ligne d'eau ne fait que le subdiviser. Deux couloirs distincts n'échangent que des messages.
01Ce que c'est#
BPMN est une notation pour les processus métier : l'ordre dans lequel les choses arrivent, qui les fait, et ce qui les fait bifurquer. C'est une norme de l'OMG, l'organisme qui détient aussi UML, et la version 2.0 est celle que désigne tout ce qui dit BPMN.
Son objectif de conception est inhabituel et mérite d'être énoncé simplement : elle doit être lisible par le métier et exécutable par un moteur. Le même diagramme qu'un responsable des opérations corrige en atelier peut, une fois assez de détails renseignés, être déployé sur un moteur de processus et tourner. Aucune autre notation de processus ne tente sérieusement les deux.
Cette double finalité explique la taille du jeu de symboles. BPMN en compte une centaine, ce qui paraît alarmant et ne l'est pas : ce sont cinq familles avec des variantes, et un diagramme qui en utilise vingt couvre presque tous les processus que l'on dessine.
02Les cinq familles#
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Événements | cercles | Quelque chose arrive. L'épaisseur du bord dit quand : fin démarre le processus, double arrive pendant, épais le termine. Un glyphe intérieur dit de quel type - un message, une minuterie, une erreur. |
| Activités | rectangles arrondis | Du travail effectué. Une tâche est atomique ; un sous-processus contient un processus à lui et peut être dessiné replié avec un +. |
| Passerelles | losanges | Là où les chemins se séparent ou se rejoignent. Le marqueur intérieur dit selon quelle règle : exclusive, parallèle, inclusive, basée sur événement. |
| Objets de connexion | Flux de séquence (plein, pointe pleine) à l'intérieur d'une piscine ; flux de message (tirets, cercle ouvert et pointe creuse) entre piscines ; association (pointillés) vers les artefacts. | |
| Couloirs de nage | piscines et couloirs | Qui est responsable. Une piscine est un participant, un couloir une subdivision à l'intérieur d'une piscine. |
Les artefacts - objets de données, groupes, annotations textuelles - forment une sixième famille et ne portent aucune sémantique d'exécution. Ce sont des notes.
La famille à laquelle appartient un symbole se voit toujours à son contour : cercle, rectangle arrondi, losange. La variante à l'intérieur d'une famille est toujours un marqueur intérieur ou une épaisseur de bord. C'est cette régularité qui rend cent symboles apprenables : vous apprenez cinq formes et un jeu de décorations, pas cent images.
03Le flux de séquence n'est pas le flux de message#
C'est la règle qui sépare un diagramme BPMN d'un organigramme aux coins arrondis : un flux de séquence ne peut jamais franchir une frontière de piscine. Une piscine est un participant indépendant avec son propre processus, et vous n'avez pas à dire dans quel ordre une autre organisation fait son travail. Tout ce que vous pouvez dire, c'est que vous lui avez envoyé quelque chose, et c'est un flux de message.
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Flux de séquence | "Ensuite ceci arrive." Trait plein, pointe pleine. Reste toujours dans une seule piscine. | |
| Flux de message | "Ceci leur est envoyé." Trait en tirets, cercle ouvert côté émetteur, pointe creuse côté destinataire. Franchit toujours des piscines. | |
| Association | "Cette note parle de cela." Trait pointillé. Relie les artefacts aux objets de flux et ne signifie rien pour un moteur. | |
| Flux par défaut | une barre au départ du trait | La branche prise quand aucune autre condition de la passerelle n'est vraie. Exactement une par passerelle de branchement. |
04Piscines, couloirs, et qui est responsable#
À l'intérieur d'une piscine, les couloirsrépartissent le travail par rôle, service ou système. Ils ne portent absolument aucune sémantique d'exécution - un moteur les ignore complètement - et restent pourtant l'élément le plus utile de beaucoup de diagrammes, parce que "qui fait cette étape" est la question sur laquelle un atelier de processus se dispute réellement.
Une discipline utile : chaque franchissement de couloir est un passage de relais, et chaque passage de relais est un endroit où le travail attend. Compter les flux de séquence qui franchissent une frontière de couloir donne une première liste des endroits où le processus est lent, avant que quiconque n'ait mesuré quoi que ce soit.
05Trois niveaux de BPMN#
Presque toute dispute sur "combien de BPMN est de trop" se dissout dès que vous nommez lequel de ces trois vous pratiquez.
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Descriptive | ~10 symboles | Pour les humains. Début, fin, tâches, passerelles exclusives et parallèles, piscines, couloirs, flux de message. Ce que produit un atelier, et ce que devrait être l'essentiel de la documentation de processus publiée. |
| Analytic | ~30 symboles | Ajoute les types d'événement, les événements de bordure, les sous-processus et les passerelles basées sur événement. Assez précis pour simuler et pour raisonner sur les exceptions. |
| Executable | le jeu complet, plus les données | Chaque condition de branchement, chaque correspondance de données, chaque liaison de service renseignée. Déployé sur un moteur. Le diagramme est désormais du code source, et devrait être relu comme tel. |
L'erreur n'est pas de choisir le mauvais niveau, c'est de les mélanger dans un même diagramme. Un modèle descriptive avec trois événements de bordure d'erreur entièrement spécifiés et onze tâches nues ne satisfait personne : trop détaillé pour être survolé, trop incomplet pour tourner.
06BPMN, diagramme d'activité ou ArchiMate ?#
À utiliser quand
- Le processus traverse des organisations et les passages de relais sont le sujet
- Des gens du métier doivent lire, corriger et valider le diagramme
- Le modèle finira peut-être exécuté par un moteur de processus
- Exceptions, minuteries et actions de compensation comptent autant que le cas nominal
Préférer autre chose quand
- Vous décrivez un algorithme dans un seul système - prenez un diagramme d'activité
- Vous voulez le paysage plutôt que le processus - prenez ArchiMate
- Le public est développeur et le sujet est une suite d'appels - prenez un diagramme de séquence
- Ce sont quatre boîtes en ligne et un organigramme suffirait
Un diagramme d'activité UML couvre un terrain voisin et vaut mieux à l'intérieur d'un système : il a des constructions de flux de contrôle plus riches et se place naturellement à côté des autres diagrammes UML décrivant le même logiciel. BPMN l'emporte dès que plus d'une organisation est en jeu, parce que les piscines et les flux de message n'ont pas d'équivalent UML qu'un public métier lira.
ArchiMate sait aussi dessiner un processus métier, et le devrait : une boîte par processus, dans une vue de paysage. Dès que vous voulez savoir ce qui se passe quand le paiement échoue, c'est la question de BPMN, pas celle d'ArchiMate.
07Erreurs courantes#
- Un flux de séquence franchissant une frontière de piscine. L'erreur la plus fréquente de toutes, et elle revient à prétendre commander le processus d'autrui.
- Aucun événement de fin. Tout chemin doit se terminer sur un. Une tâche qui pend laisse un jeton de processus en vie pour toujours : un vrai bug une fois le modèle exécuté, et une vraie ambiguïté avant.
- Des décisions dessinées dans les tâches.Une tâche qui "contrôle et oriente" cache le branchement. Mettez une passerelle après elle.
- Des passerelles qui branchent et fusionnent à la fois. Légal, illisible. Prenez-en une pour séparer et une seconde pour rejoindre.
- Des couloirs portant des noms de personnes. Nommez le rôle. Les gens changent de poste et le diagramme ne devrait pas avoir à être modifié pour autant.
En une ligne chacun
- 01Cinq familles : événements, activités, passerelles, objets de connexion, couloirs de nage.
- 02Le contour dit la famille ; le marqueur intérieur et l'épaisseur du bord disent la variante.
- 03Le flux de séquence ne franchit jamais une piscine ; le flux de message ne franchit que des piscines.
- 04Une piscine que vous ne contrôlez pas se dessine vide : une boîte noire que des messages touchent.
- 05Choisissez descriptive, analytic ou executable et tenez un diagramme à un seul niveau.
- 06Tout chemin finit sur un événement de fin, et une passerelle sépare ou rejoint, jamais les deux.
08Questions fréquentes#
À quoi sert BPMN ?
À modéliser des processus métier dans une notation assez précise pour qu'un moteur de workflow l'exécute et assez simple pour que la personne qui fait le travail la corrige. Cette seconde exigence est la raison d'être de BPMN et explique pourquoi son jeu de symboles courant est aussi réduit.
Quelles sont les grandes familles de symboles BPMN ?
Cinq : les objets de flux, c'est-à-dire événements, activités et passerelles ; les objets de connexion, c'est-à-dire flux de séquence, flux de message et association ; les couloirs, c'est-à-dire pools et lignes d'eau ; les données, c'est-à-dire objets et magasins de données ; et les artefacts, c'est-à-dire groupes et annotations. Presque tout diagramme se construit avec les trois premières.
Quelle différence entre flux de séquence et flux de message ?
Le flux de séquence est un trait plein à pointe pleine et montre l'ordre des étapes à l'intérieur d'un même couloir. Le flux de message est un trait pointillé à pointe ouverte et passe d'un couloir à l'autre. Un flux de séquence ne peut jamais franchir une frontière de couloir, et c'est cette règle qui donne un sens aux couloirs.
Quelle différence entre un couloir et une ligne d'eau ?
Un couloir est un participant : une organisation, ou un processus distinct avec son propre flot de contrôle. Une ligne d'eau subdivise un couloir, en général par rôle ou par service. Les étapes situées dans des lignes d'eau d'un même couloir sont reliées par un flux de séquence ; celles de couloirs différents ne peuvent qu'échanger des messages.
BPMN vaut-il mieux qu'un diagramme d'activité UML ?
Pour des modèles de processus destinés au métier, en général oui : BPMN a une sémantique d'événements plus riche, un vrai flux de messages entre participants, et un standard d'exécution derrière lui. Pour du comportement à l'intérieur d'un logiciel, un diagramme d'activité colle mieux au reste de la conception et évite une seconde notation.
Dans cette série
- 01Qu'est-ce que BPMN
- 02Événements
- 03Passerelles
- 04Exemples BPMN
- 05Dessiner un BPMN
- 06Symboles BPMN
- 07BPMN ou diagramme d'activité
À lire aussi
Référence de notation
Diagrammes de comportement
Pratique de la modélisation
Référence de notation
Fondamentaux
Diagrammes de comportement