CHAPITRE 1 : BPM ET BPMN : MODÉLISER LE PROCESSUS MÉTIER

Dans beaucoup d'entreprises, le processus existe : il n'est simplement écrit nulle part. Il vit dans la tête de trois personnes, et chacune en a une version légèrement différente. Le jour où l'une d'elles part en congé, on découvre que personne ne sait vraiment comment une demande client traverse la maison. Modéliser un processus, c'est d'abord le rendre visible.

Processus métier, et pourquoi on s'en occupe

Un processus métier est une suite d'activités, menées par des acteurs identifiés, qui transforme un déclencheur en un résultat utile pour quelqu'un. Trois éléments, et les trois comptent : il faut un déclencheur, des acteurs, et un résultat que quelqu'un attend.

« Traiter une demande d'intervention » est un processus : un client appelle, plusieurs personnes agissent, l'intervention finit par être faite et facturée. « Gérer le parc informatique » n'en est pas un : il n'y a ni déclencheur ni fin, c'est une activité permanente.

BPM et BPMN ne sont pas la même chose. Le BPM (Business Process Management) est une démarche de gestion : on identifie les processus, on les mesure, on les améliore. BPMN (Business Process Model and Notation) est une notation graphique, normalisée par l'OMG, dont la version 2.0 date de janvier 2011.

On peut faire du BPMN sans faire de BPM. Cela donne de beaux diagrammes accrochés au mur, que personne ne mesure et qui ne correspondent plus à rien six mois plus tard.

Le cycle BPM

Le BPM n'est pas un projet qui se termine. C'est une boucle.

Le cycle BPM en quatre etapes : modeliser le processus, l'executer, superviser les indicateurs, optimiser. L'optimisation renvoie a la modelisation.

L'étape que les équipes sautent le plus souvent est la troisième. On modélise, on met en place, et on ne mesure jamais. Sans mesure, l'optimisation devient une affaire d'opinion : celui qui parle le plus fort décide.

Un processus qu'on ne mesure pas n'est pas géré. Il est simplement subi.

Lire un diagramme BPMN

La norme compte plus de cent éléments. En pratique, cinq familles permettent de lire l'immense majorité des diagrammes d'entreprise.

Les elements de base de BPMN : evenements de debut en trait fin, intermediaire en double trait et de fin en trait epais, tache en rectangle arrondi, passerelles exclusive et parallele, flux de sequence plein et flux de message en pointilles.

Les événements

Trois cercles, qui se distinguent par leur trait. Le trait fin marque un début, le double trait un événement intermédiaire, le trait épais une fin. Un symbole placé à l'intérieur précise la nature : une enveloppe pour un message, une horloge pour un délai, un éclair pour une erreur.

Un processus bien formé commence par au moins un événement de début et se termine par au moins un événement de fin. Un diagramme où un chemin s'arrête dans le vide est faux : on ne sait pas ce qu'il advient du dossier.

Les activités

Le rectangle arrondi est une tâche : le travail proprement dit. On la nomme toujours par un verbe à l'infinitif suivi d'un objet : « Vérifier le dossier », « Affecter un technicien ». Une tâche nommée « Dossier » ou « Problème client » ne dit pas ce qui est fait, et c'est la première chose qu'un correcteur sanctionne.

Les passerelles

Le losange décide du chemin. C'est l'élément où les étudiants perdent le plus de points, parce que les trois types ont des sémantiques différentes et qu'on les confond facilement.

PasserelleÀ la divisionÀ la convergence
Exclusive (XOR, croix) une seule branche est empruntée, selon une condition on repart dès qu'une branche arrive
Parallèle (AND, croix droite) toutes les branches partent en même temps, sans condition on attend que toutes les branches soient arrivées
Inclusive (OR, cercle) une ou plusieurs branches, selon les conditions on attend toutes les branches qui ont été activées

La règle qui évite la plupart des erreurs : une passerelle qui divise doit avoir sa passerelle de même type qui referme. Un AND qui ouvre deux chemins et qu'on ne referme pas laisse le processus se terminer deux fois. Dans un moteur d'exécution, cela produit deux factures.

Les flux

La flèche pleine est un flux de séquence : elle dit dans quel ordre les étapes s'enchaînent, à l'intérieur d'un même participant. La flèche en pointillés est un flux de message : elle représente ce qui circule entre deux participants distincts.

Les deux interdits de la norme.

Un flux de message ne relie jamais deux éléments situés dans le même pool : à l'intérieur d'une organisation, on utilise des flux de séquence.

Un flux de séquence ne franchit jamais la frontière d'un pool : on ne commande pas directement l'activité d'une autre organisation.

Inverser les deux est l'erreur la plus fréquente, et elle se repère au premier coup d'œil.

Pools et couloirs : qui fait quoi

Un pool représente un participant : une organisation, un système, un rôle autonome. Chaque pool possède son propre processus. Les couloirs (lanes) découpent un pool selon les fonctions ou les services internes.

Le test est simple : deux entités qui peuvent refuser de coopérer sont deux pools. Deux services de la même entreprise, qui suivent la même procédure, sont deux couloirs d'un seul pool.

Un processus complet

Voici le traitement d'une demande d'intervention chez NKILItech, une société de maintenance informatique. Deux participants, deux couloirs, une décision.

Processus BPMN NKILItech : le client envoie une demande, l'accueil l'enregistre, une passerelle exclusive teste si le dossier est complet, un dossier incomplet repart vers l'accueil, un dossier complet part vers le technicien qui realise l'intervention, puis l'accueil cloture et facture.

Ce diagramme dit trois choses qu'un paragraphe de texte dirait mal. Qui agit, grâce aux couloirs. Dans quel ordre, grâce aux flèches pleines. Et ce qui franchit la frontière entre l'entreprise et son client, grâce aux pointillés.

Le point intéressant est la passerelle. Tant que la vérification du dossier reste implicite, les dossiers incomplets arrivent chez le technicien, qui perd son temps et renvoie la demande. En la rendant explicite, on voit le problème, et on peut le mesurer.

Les erreurs de modélisation qui coûtent des points

ErreurCe qu'elle produit
Une tâche nommée par un nom, pas par un verbe on ne sait pas ce qui est fait
Un AND ouvert, jamais refermé le processus se termine plusieurs fois
Une condition sur une passerelle parallèle contresens : le AND ne lit aucune condition
Un flux de séquence entre deux pools violation de la norme
Un chemin sans événement de fin on ignore ce que devient le dossier
Une passerelle qui décide sans tâche avant la décision sort de nulle part : rien n'a été vérifié

Du dessin au logiciel

BPMN 2.0 a une particularité que ses prédécesseurs n'avaient pas : le diagramme possède un format d'échange XML, et certains moteurs savent l'exécuter directement. Le dessin cesse d'être une documentation qui se périme pour devenir le programme lui-même.

C'est ce que fait Camunda, auquel le dernier chapitre de ce cours est consacré. Mais un moteur n'améliore rien tout seul : il exécute fidèlement ce qu'on lui donne, y compris un processus mal conçu, simplement plus vite.

Ce qu'il faut retenir

  • Un processus a un déclencheur, des acteurs et un résultat attendu.
  • BPM est la démarche, BPMN la notation. L'une sans l'autre ne sert pas à grand-chose.
  • Le cycle : modéliser, exécuter, superviser, optimiser, et recommencer.
  • Trait fin au début, trait épais à la fin. Tâche = verbe + objet.
  • XOR : une seule branche. AND : toutes, et on attend toutes. OR : celles qui sont activées.
  • Ce qui divise doit refermer, avec le même type de passerelle.
  • Message entre pools, séquence à l'intérieur d'un pool. Jamais l'inverse.

Exercice d'application

Le processus de recrutement de NKILItech

NKILItech recrute un technicien. Le processus se déroule ainsi, d'après ce que raconte la responsable des ressources humaines :

« Quand un poste s'ouvre, je rédige l'annonce et je la publie. Les candidats m'envoient leur dossier. Je trie : si le dossier est incomplet, je le mets de côté et je préviens le candidat, c'est terminé pour lui. Si le dossier tient la route, je l'envoie au responsable technique. Lui fait passer un entretien technique, et en même temps je lance la vérification des références auprès des anciens employeurs : les deux avancent en parallèle, on ne s'attend pas. Quand les deux sont finis, on se réunit et on décide. Si c'est oui, je prépare le contrat et le candidat signe. Si c'est non, je lui écris. »

  1. Combien de pools faut-il ? Justifiez.
  2. Quels couloirs mettez-vous dans le pool NKILItech ?
  3. Combien de passerelles le processus comporte-t-il, et de quel type ?
  4. Décrivez le diagramme BPMN élément par élément, en respectant les conventions de nommage.
  5. Un collègue propose de remplacer la passerelle parallèle par une passerelle exclusive, « pour simplifier ». Qu'est-ce que cela changerait concrètement ?
Voir le corrigéMasquer

1. Deux pools. NKILItech d'un côté, le candidat de l'autre. Le candidat est une entité autonome : il peut ne pas répondre, se désister, refuser l'offre. NKILItech ne commande pas ses actions, elle lui envoie des messages et attend les siens.

Le pool du candidat peut rester « fermé » : un simple rectangle vide, sans détail interne. C'est une pratique courante et parfaitement correcte quand on ne modélise pas le processus de l'autre partie.

2. Deux couloirs dans le pool NKILItech : les ressources humaines et le responsable technique. Ce sont deux rôles de la même organisation, qui suivent la même procédure : des couloirs, pas des pools.

3. Trois passerelles, de deux types.

  • Une exclusive (XOR) après le tri du dossier : complet ou incomplet, jamais les deux.
  • Une parallèle (AND) qui lance l'entretien technique et la vérification des références. La responsable est explicite : « on ne s'attend pas ».
  • Une seconde parallèle (AND) qui referme : « quand les deux sont finis, on se réunit ». C'est elle qui fait la synchronisation.

On peut compter une quatrième passerelle, exclusive, après la réunion de décision : embauche ou refus. Les deux lectures sont acceptables selon qu'on modélise la décision comme une tâche suivie d'une passerelle, ou comme une passerelle seule.

4. Le diagramme.

Pool NKILItech, couloir ressources humaines

Événement de début « poste ouvert » → Rédiger l'annonce → Publier l'annonce → événement intermédiaire de réception de message « dossier reçu » → Trier le dossier → passerelle XOR « dossier complet ? »

Branche « non » : Notifier le refus → événement de fin « candidature écartée ».

Branche « oui » : Transmettre le dossier → passerelle AND qui ouvre.

De la passerelle AND partent deux chemins : vers le couloir technique, Conduire l'entretien technique ; et dans le couloir RH, Vérifier les références. Les deux rejoignent la passerelle AND de fermeture, puis Décider de l'embauche, puis une passerelle XOR.

Branche « embauche » : Préparer le contrat, flux de message vers le candidat, événement intermédiaire d'attente de la signature, Enregistrer le contrat, fin « recrutement abouti ». Branche « refus » : Notifier le refus, fin.

Les flux de message relient les deux pools : publication de l'annonce vers le candidat, envoi du dossier du candidat vers NKILItech, notifications de refus, proposition de contrat et signature.

5. Ce que le collègue propose, et pourquoi c'est faux.

Avec une passerelle exclusive, on ferait soit l'entretien, soit la vérification des références : jamais les deux.

Le XOR choisit une branche. Le processus perdrait donc la moitié de son information au moment de décider : on embaucherait sur un entretien sans références, ou sur des références sans entretien.

Il y a un second effet, plus discret. Le AND de fermeture attend l'arrivée des deux branches ; c'est lui qui garantit qu'on ne se réunit pas avant d'avoir tout. Un XOR repart dès la première branche arrivée : la réunion de décision se tiendrait dès la fin de l'entretien, sans attendre les références.

Ce n'est pas une subtilité d'école. Sur un moteur d'exécution, cette seule substitution produit des décisions prises sur dossier incomplet, sans qu'aucun message d'erreur ne le signale.

Pour vous évaluer. Un sujet d'examen complet accompagne ce chapitre : un QCM de dix questions, deux exercices et un problème d'entreprise, le tout corrigé.

Examen BPM et BPMN : Génie logiciel avancé

Questions / Réponses

Aucune question. Soyez le premier à poser une question.
★ ★ ★ ★ ★
2 votes. Moyenne 5 sur 5.

Ajouter un commentaire

Anti-spam