I. BPMN : une notation qui compte▲
Il était temps. Les responsables métier et professionnels de l'informatique peuvent enfin partager un langage commun répondant à leurs besoins respectifs et qui soit à la fois précis et flexible. Ce langage, le BPMN 2.0, ouvre de nouveaux horizons en matière de collaboration et de compréhension mutuelle autant qu'il permet de développer des applications métier plus efficacement.
Chez Bonitasoft, éditeur leader de solutions BPM open source (gestion des processus métier), nous sommes conscients de la puissance et du potentiel des normes communes. Le BPMN 2.0 est un complément naturel à la démocratisation du BPM qui est au cœur de notre « business model » open source.
Si vous avez déjà entendu parler du BPMN, il se peut que vous ayez retenu qu'il s'agit d'une approche complexe et peut-être avez-vous été peu enclin à aller plus loin. Rassurez-vous, au-delà des apparences, le BPMN est beaucoup plus simple qu'il n'y paraît. Il s'agit d'un langage qui s'acquiert avec le temps, mais dont les éléments essentiels sont finalement assez faciles à maîtriser. L'un des avantages du BPMN, c'est qu'il propose différents niveaux de compréhension. Les notions de base sont suffisamment simples et structurantes pour que votre apprentissage se fasse graduellement vers le niveau intermédiaire, ce qui vous permettra de communiquer efficacement avec les équipes techniques qui, grâce à leur connaissance avancée du BPMN, sauront rajouter les éléments nécessaires pour rendre les processus exécutables.
Nous vous proposons cet eBook afin de vous familiariser avec les concepts-clés du BPMN et vous permettre de commencer à modéliser vos premiers processus. Nous sommes convaincus qu'une fois les bases acquises, vous trouverez cette approche puissante, adaptable et remarquablement facile. Que vous soyez responsable métier, pilote de processus ou développeur, le BPMN est le passage obligé vers la mise en œuvre de processus optimisés et une plus grande efficacité de votre organisation.
II. Qu'est-ce que le BPMN ?▲
II-A. Le b.a.-ba du BPMN▲
Si vous avez déjà entendu parler du BPMN sans pour autant savoir ce que c'est ni ce que ce langage fait, vous n'êtes pas seuls.
Mais avant de définir ce qu'est le BPMN, commençons par définir ce qu'il n'est pas …
Ce n'est pas un système.
Vous ne pouvez pas acheter un BPMN, il s'agit d'un standard dans le domaine de la modélisation de processus et le développement informatique.
Ce n'est pas seulement pour le métier ou l'IT. C'est un langage commun.
Ce n'est pas seulement pour les experts.
Si vous êtes familier avec la création de diagrammes, vous pouvez commencer sans attendre.
BPMN = BPM + N
Un modèle de processus est une représentation des processus d'une organisation. Un modèle peut être analysé et optimisé.
Définitions
BPM (Business Process Management) est la discipline qui consiste à considérer la gestion des processus comme un moyen d'améliorer la performance opérationnelle. BPMN (Business Process Model and Notation) est l'ensemble de conventions graphiques permettant de représenter les processus métier sous forme de modèle(1). BPMS (Business Process Management Suite) est une plate-forme logicielle permettant d'outiller la démarche BPM depuis la découverte du processus jusqu'à son optimisation via sa définition, son automatisation et son analyse(2).
La notation consiste en un ensemble de symboles graphiques représentant des actions, des flux ou des comportements dans un processus. Dans un BPMS, la notation BPMN désigne des instructions informatiques pouvant être exécutées.
Le BPMN est facilement compréhensible par :
- l'analyste métier qui modélise les processus conceptuellement ;
- les développeurs en charge de rendre exécutable le processus modélisé ;
- les utilisateurs finaux qui utilisent et suivent la réalisation des processus.
II-B. Un outil de collaboration entre le métier et l'IT▲
Le BPMN permet de décrire rapidement le métier.
Dessinez votre métier pas à pas.
Le modèle graphique pourra être transformé facilement en une application permettant d'« exécuter » le processus.
Grâce au BPMN, la direction fonctionnelle peut définir son métier avec un haut degré de précision et les informaticiens peuvent communiquer facilement à la fois entre eux et avec le métier grâce à ce cadre commun.
Le BPMN peut être appliqué pour tout type de processus dans toute organisation.
En développant un modèle basé sur le langage BPMN, vous pouvez optimiser la communication avec vos décisionnaires, vous pouvez identifier les améliorations potentielles et les mettre en œuvre, le tout de manière collaborative.
Le BPMN vous paraît sans doute familier.
Le BPMN existe depuis plus de dix ans et le BPMN 2.0 a hérité de nombreux éléments de la version 1.0 comme les formes et les symboles.
Ce qui change dans la version 2.0 n'est pas évident visuellement : l'adoption du format XML et la capacité à rendre le modèle exécutable.
La majeure partie des éditeurs BPM, open source ou non, offre aujourd'hui un support étendu de la norme BPMN 2.0.
Le BPMN n'est pas un langage d'exécution. Il est destiné à être « consommé » par le moteur de processus qui le rendra exécutable.
III. Les quatre catégories d'éléments BPMN▲
III-A. Les éléments BPMN en quatre catégories▲
La spécification du BPMN 2.0 est longue, dense et complexe.
On peut néanmoins l'aborder de manière simple en organisant les éléments selon plusieurs catégories.
Avec seulement quelques éléments des trois premières catégories, vous pouvez commencer à construire un diagramme pour décrire le processus.
Regardons plus précisément à quoi correspondent ces éléments :
Éléments de |
Éléments |
Éléments de |
Comportements |
Activities (activités) |
Pools (piscines) |
Annotation (annotations) |
Messages / message flow |
Le BPMN 2.0 c'est :
- 98 éléments visuels ;
- 508 pages ;
- 300 illustrations ;
- 313 tableaux ;
- 3 annexes ;
- 13 groupes de travail.
Note de traduction : les différents éléments de la notation BPMN sont exprimés en anglais avec ajout d'une traduction entre parenthèses afin de faciliter la compréhension des illustrations.
III-B. Éléments de workflow▲
Ils incluent les activités, branchements et événements, et les flux séquentiels qui les lient.
Chacun de ces éléments propose plusieurs types qui peuvent être connectés dans une séquence.
|
|
|
|
III-C. Éléments d'organisation▲
Ils incluent les piscines et lignes d'eau. Ce sont des containers pour le flux de processus.
Piscine (pool)
Contient un processus unique et complet. Un workflow ne peut pas sortir d'une piscine : il convient de transférer les actions d'une piscine à une autre en utilisant les événements.
Ligne d'eau (swimlane)
Utilisée pour identifier qui fait quoi. Dans une piscine, les lignes d'eau servent à séparer les nageurs afin qu'ils ne se percutent pas.
Un worflow peut franchir les lignes d'eau comme si elles n'existaient pas. Elles ont une fonction purement organisationnelle.
Groupe
Utilisé pour réunir des éléments graphiques. Il est sans conséquence pour les flux séquentiels.
III-D. Éléments de lisibilité▲
Ils incluent les annotations et les liens .
Ces éléments servent à faciliter la lisibilité du processus. Ils sont sans effet sur l'exécution du processus.
|
|
III-E. Comportements spécifiques▲
Les comportements spécifiques incluent les événements , les boucles et les corrélations .
Ces éléments nous permettent d'exécuter un processus se comportant de manière complexe.
|
|
Corrélation |
|
|
|
IV. Les trois niveaux de complexité du BPMN▲
IV-A. BPMN : trois niveaux de complexité▲
Les symboles BPMN servent plusieurs objectifs.
Ils représentent visuellement un flux de processus.
Ils permettent de visualiser un code exécutable permettant de transformer le modèle de processus en une application informatique.
Souvenez-vous que nous avons organisé le BPMN selon quatre catégories :
Éléments de workflow |
|
Éléments d'organisation |
|
Éléments de lisibilité |
|
Comportements spéciaux |
Le BPMN basique est essentiellement visuel. Le BPMN intermédiaire et avancé devient exécutable.
Les éléments de la notation BPMN peuvent aussi être catégorisés selon trois niveaux de complexité : basique, intermédiaire et avancé.
Basique |
Intermédiaire |
Avancé |
|
Activités |
Tâche abstraite |
Tâche humaine |
Sous-processus événementiel |
Événements |
Début |
Événements en ligne et |
|
Branchements |
Exclusif (XOR) |
Inclusif |
|
Flux séquentiels |
Flux séquentiel |
Flux conditionnel |
|
Comportements |
Messages |
Boucles |
IV-B. Le BPMN de base▲
Le BPMN basique est utile pour modéliser un processus dans ses grandes lignes.
Activités, événements, branchements et flux séquentiels relèvent du niveau basique du BPMN.
Les activités de base sont abstraites ou indéfinies. Les événements de base incluent les débuts (start) et les fins (end).
Branchements basiques :
|
AND (aussi appelés parallèle). |
|
XOR (aussi appelés exclusif). |
|
Flux séquentiel basique : dirige simplement le processus d'activité en activité. |
IV-C. Exemple d'éléments basiques BPMN▲
Commençons simplement : activités abstraites, événements start et stop, des branchements et des flux séquentiels.
Cet exemple décrit le processus d'orientation et de formation d'un nouvel embauché grâce à des éléments BPMN de base.
Imaginez qu'un jeton est déplacé suivant le diagramme comme sur un plateau de jeu. Cela permet de comprendre comment les notations du modèle contrôlent le mouvement du pion au fur et à mesure que vous ajoutez de la complexité.
Lorsque l'événement start est déclenché, une nouvelle « instance » du processus commence. Pensez à ce qui arrive à un jeton unique traversant chaque chemin un par un.
BPMN 2.0, Thomas Allweyer
IV-D. BPMN intermédiaire▲
Pour rendre un modèle visuel exécutable, il convient d'utiliser le BPM de niveau intermédiaire.
Dans un processus exécutable, le diagramme de processus est l'application informatique !
Pour cette nouvelle étape d'apprentissage du BPMN, nous verrons comment rendre votre BPMN «exécutable» et le transformer in fine en un processus automatisé.
Le BPMN 2.0 n'est pas seulement une notation. Mis en œuvre par un outil de modélisation BPMN, il fournit des instructions de programmation qu'un moteur de processus utilise pour exécuter le processus.
L'exemple précédent est un modèle simple qui montre visuellement ce qui se passe dans le processus. L'exemple sur cette page et les pages suivantes montre comment le modèle peut être étendu en utilisant le BPMN intermédiaire.
IV-E. Activités intermédiaires▲
Elles incluent les activités de type humaine, service et appelante .
Les activités doivent être différenciées : sont-elles réalisées par une personne, automatisées ou réalisées par un logiciel ? S'agit-il d'un sous-processus à part entière ?
|
Une tâche humaine doit être réalisée par une personne humaine. |
|
Une activité de service est une activité automatisée. |
|
Une activité appelante représente l'appel à un sous-processus. |
« Prepare training schedule » est une activité appelante. Elle est liée à un sous-processus (un « enfant » du processus présent).
À ce stade du processus, le « jeton » est passé au sous-processus, et quand il a terminé, il est renvoyé au processus parent.
C'est un aspect fondamental du BPMN. Vous pouvez modéliser un processus parent « macro » qui peut être très simple. Il appellera une série de sous-processus qui sont des processus indépendants.
Cela signifie qu'ils peuvent être modélisés de façon propre et modifiés au besoin, sans nécessairement modifier le processus parent.
IV-F. Flux séquentiels intermédiaires▲
Ils incluent les flux conditionnels et par défaut .
Un flux séquentiel intermédiaire en BPMN doit être défini comme conditionnel ou par défaut, de sorte que le «jeton» connaisse la voie à suivre. Un flux séquentiel de base est automatique (dès qu'une activité est terminée, on passe à la tâche suivante dans la séquence).
Flux séquentiel conditionnel
Certaines conditions doivent être remplies afin que le processus « choisisse » la tâche suivante parmi deux ou plusieurs options. Un flux conditionnel ressemble à une condition « SI-ALORS ». Dans cet exemple binaire :
- si le calendrier est OK pour le formateur, cette condition = vrai ;
- si le calendrier n'est pas OK pour le formateur, cette condition = faux.
Le flux par défaut vous permet de diriger le flux si, pour une raison quelconque, aucune condition n'est remplie. Le jeton prendra toujours cette direction, même s'il y a une erreur de saisie de données quelque part, qui pourrait invalider la condition définie SI-ALORS. Un flux par défaut est marqué par un « \ ».
Un flux séquentiel ne peut pas franchir les bordures d'un pool. Pour communiquer un flux entre deux pools, utilisez des messages.
IV-G. Branchements intermédiaires▲
Les branchements inclusifs permettent un contrôle précis du flux.
Sorties des branchements inclusifs
Un branchement inclusif peut déclencher plusieurs sorties simultanément. Des conditions sont requises.
Exemple
Condition |
Valeur |
Montant |
6000 |
Couleur |
rouge |
Les flux 2 et 4 remplissent la condition. Les flux 1 et 3 ne la remplissent pas - aucun jeton ne passe.
Entrées d'un branchement inclusif
Un branchement inclusif attend toutes les entrées. Elles doivent toutes être reçues et valides pour que le flux continue. Le moteur reconnaît quelles entrées il attend (flux 2 et 4).
IV-H. Réception et envoi intermédiaires▲
Les événements intermédiaires sont de type émission ou réception .
Ils comprennent les événements spécifiques de début, fin et intermédiaires de complexité moyenne.
Les événements BPMN sont le plus souvent de type « émission » et « réception ».
Événements combinatoires
Les événements peuvent être de tous types.
Un événement « réception » peut être positionné tout au long du processus.
La spécification BPMN définit de manière quelque peu confuse ce comportement comme « intermédiaire ». Si vous gardez en tête le concept d'émission / réception, il vous sera plus facile de comprendre.
Les « débuts » spécifiques (message, minuterie, signal et erreur) permettent de déclencher un processus sans intervention humaine, car ils reçoivent une information envoyée d'ailleurs.
« D'ailleurs » signifie qu' un événement d'« émission » d'un autre processus qui peut être, par exemple, un événement de fin, lance le processus.
Dans ce cas spécifique, la fin d'un processus peut déclencher le début d'un autre processus.
IV-I. Messages et signaux intermédiaires▲
Les messages et les signaux transmettent des données par-delà les bordures.
Les messages s'adressent exclusivement à des receveurs uniques, les signaux à des receveurs multiples.
Message |
|
Signal |
IV-J. Minuteries et erreurs intermédiaires▲
Les minuteries et les erreurs peuvent mettre en pause, reporter un processus ou lui faire prendre un chemin d'exception.
Comme les autres événements intermédiaires, les minuteries et les erreurs permettent de débuter ou de finir un processus, ou de déclencher une action au cours du processus.
|
Minuterie (timer) |
|
Erreur |
IV-K. Événements intermédiaires▲
Messages, signaux, minuteries et erreurs définissent le comportement du workflow.
IV-L. Résumé▲
Avec les quatre catégories du BPMN basique et intermédiaire, vous pouvez commencer à construire votre application basée sur un processus.
Le BPMN est un standard permettant au métier et à l'IT de partager un langage commun contribuant à faciliter grandement la création d'applications métier.
Le BPMN est à la fois un ensemble de conventions visuelles pour la modélisation et pour l'exécution du code informatique que représente un élément donné.
La plupart des éléments de la notation BPMN reprennent les concepts de logigrammes, ce qui rend sa compréhension abordable.
Les quatre catégories :
Éléments de workflow |
|
Éléments d'organisation |
|
Éléments de lisibilité |
|
Comportements spéciaux |
Il y a des éléments de niveau basique, intermédiaire et avancé dans chacune de ces catégories.
- Le BPMN de base est utile pour modéliser.
- Le BPMN intermédiaire commence à rendre le modèle exécutable.
- Le BPMN avancé définit intégralement le comportement du processus.
Si vous créez un outil de modélisation, lisez la spécification BPMN !
Si vous construisez des applications basées sur des processus, ce guide est fait pour vous !
IV-M. Sources et compléments de lecture▲
BPMN Method and Style , 2 d ed, Bruce Silver, October 2011.
OMG Business Process Model and Notation (BPMN) Version 2.0, January 2011.
BPMN 2.0 : Introduction to the Standard for Business Process Modeling , Thomas Allweyer, February 2010.
V. Remerciements▲
Nous remercions BonitaSoft qui nous a permis de publier cet article sur Developpez.com. BonitaSoft est le premier éditeur open source de solutions de gestion des processus métiers (BPM). Créée en 2009 par les fondateurs du projet Bonita, BonitaSoft se propose de démocratiser le BPM en offrant une solution rapide et simple à mettre en œuvre pour un coût total de déploiement minime. Les différentes versions du logiciel ont déjà été téléchargées plus de 1.500.000 fois dans le monde par des entreprises ou des organisations de toutes tailles, pour des projets simples ou complexes.
Vous pouvez télécharger et tester la suite Bonita BPM : Bonita BPM 6.3
N'hésitez pas à donner vos avis par rapport à cet article : 1 commentaire