Retour d'expérience BPMN

le 29/09/2008 par Olivier Carre
Tags: Product & Design
Si j'avais à évaluer BPMN et à lui donner une note sur 10, je lui donnerai 7/10.
Avant de vous donner les raisons qui me poussent à donner 7 et les raisons pour lesquelles j'aurai mis 10, je vous propose un tutorial qui vous permettra de découvrir BPMN.

Le tutorial est téléchargeable est ici

Je donne 7/10 à BPMN pour les raisons suivantes :

BPMN est une norme sexy

Cette remarque est totalement subjective, mais le fait qu'un diagramme de processus soit agréable à regarder donne plus envie de s'y plonger pour l'étudier en détail. Pour vous donner une idée de ce à quoi ressemble un diagramme BPMN, voici une représentation du procès simplifié de publication d'un billet sur le blog OCTO.

Qu'en pensez vous ? Sexy ou pas ? Ouvrez votre MEGARIS favori et comparez.

Certains me diront que leur MEGARIS favori est personnalisable et qu'on peut y mettre les formes que l'on souhaite. Cool ! Alors pourquoi laisse t'on la plupart du temps les formes par défaut ? Pourquoi n'y met-on pas par exemple les formes BPMN ?

BPMN multi-acteurs

En plus de deux ans, j'ai eu l'occasion de voir toute sortes d'acteurs utiliser BPMN. Quelques exemples :

  • des maîtrises d'ouvrage exprimant leur besoin
  • des informaticiens rétro-documentant un batch pour le faire challenger par les utilisateurs métiers
  • des consultants métier pour présenter les macro process de leur client
  • des consultants informatiques pour représenter leur processus
  • et même des architectes pour modéliser toutes sortes de processus

Et à chaque fois, le même constat : les acteurs sont séduits par la norme, et surtout, j'ai pu constater à maintes reprises qu'un même diagramme sert de base d'échange à la fois aux utilisateurs métier et aux informaticiens.

BPMN est une norme

L'avantage d'une norme, est que toute personne interprétant ou modélisant un processus doit pouvoir le faire de manière univoque. Cette norme étant publique, le partage de l'information est beaucoup plus vaste.

Beaucoup d'équipes projet ont pris l'habitude de se créer leur propre norme de représentation. Souvent, une norme publique est récupérée comme base puis adaptée. Vous me direz que tant que l'échange d'information reste cantonné à l'équipe projet et qu'un effort de formation est consenti pour les nouveaux arrivants, cela ne pose pas de problème.

En revanche, à l'échelle d'une grande entreprise ou d'un groupe, imaginez que chaque équipe projet crée son dialecte, l'effort d'adaptation de chacun devient vite exponentiel. Une norme commune favorise l'échange et limite l'effort de formation et si cette norme est publique, il y a de fortes chances que des acteurs externes la connaissent, favorisant ainsi la communication avec le reste du monde et facilitant l'intégration des nouveaux co-équipiers.

Large couverture de BPMN

Si on considère un processus comme un ensemble d'activités permettant d'organiser une activité, on peut utiliser BPMN pour modéliser aussi bien des processus métier, des macro processus, des procédures opérationnelles, des processus informatiques, ou bien encore des workflows.

De l'architecte fonctionnel qui représente un macro-processus métier, à un responsable opérationnel qui modélise sa procédure opérationnelle, en passant par l'informaticien qui modélise le processus de batch, toute cette déclinaison de " processus " peut se représenter avec BPMN.

Outillage simple

En ce qui me concerne, j'utilise la plupart du temps powerpoint, et si le process est complexe, je bascule sous Visio. Powerpoint se trouve quasiment par défaut sur tous les postes de travail, quant à Visio, sa License reste peu chère.

Certes ces outils ne permettent " que " de " dessiner " des process, et si l'on souhaite par exemple utiliser les attributs des formes BPMN, on peut se tourner vers un outil comme Tibco Business Studio (gratuit) ou un outil comme " Process Modeller " de ITP Commerce, certes payant, qui se présente sous la forme d'un add-on Visio. Outre la palette complète des formes BPMN, il propose des fonctionnalités de simulation, de validation et de génération BPEL.

7/10, ce n'est pas si mal que ça, mais qu'aurait-il fallut à BPMN pour lui mettre un 10/10 ?

Génération automatique de code exécutable

J'aurai mis 10 à BPMN si j'avais vu fonctionner l'exécution d'un code généré " seamlessly " (sans couture) depuis un modèle BPMN.

La norme nous promet de par sa conception dérivée d'une méthode formelle (pi-calculus) une génération automatique de code exécutable. Ce code, en BPEL (Business Process Execution Language) permet en théorie d'être exécutée par un moteur de workflow ou par exemple pour orchestrer des appels de web services. Considérons une chaîne de production complète constituée tout d'abord par une étape de modélisation détaillée en BPMN, puis une génération de code BPEL puis une injection de ce code dans un moteur de workflow et enfin son exécution.

A ce jour, je n'ai pas vu cette chaîne fonctionner. La transformation d'un modèle BPMN en code BPEL requiert un niveau de détail très élevé dans la modélisation, et atteindre cette granularité nécessite une compétence experte en modélisation. Par ailleurs, je n'ai pas vu d'outil capable de générer du code BPEL directement exécutable par un outil de workflow.

Presque univoque

J'aurai mis 10 à BPMN si la modélisation en BPMN était univoque à 100%, ce qui n'est le cas. Certains patterns de processus peuvent se représenter différemment, ce qui est quelque peu gênant pour une norme se voulant univoque.

Metadata

J'aurai mis 10 à BPMN si toutes les informations pertinentes pouvaient être affichées sur le schéma. Les formes graphiques embarquent beaucoup d'information " cachées " dans des attributs, à la manière des données exif sur les photos. Dans l'absolu ce n'est pas dramatique, si l'on dispose de l'outil adéquat pour aller lire ces attributs.

Dans l'utilisation courante que je fais de BPMN, il s'agit d'aligner des acteurs hétérogènes sur une vision commune d'un processus. Le meilleur moyen que j'ai trouvé aujourd'hui est de dessiner le processus et d'échanger sur ce dessin avec les acteurs. Si toute l'information pertinente n'apparaît pas sur le schéma, on perd en efficacité, et l'alignement devient plus délicat à trouver.

En conclusion, si votre besoin est de représenter des processus et d'aligner des acteurs sur la compréhension de ce processus, je vous recommande vivement BPMN. Si vous cherchez un méta modèle sexy pour représenter vos processus dans votre repository de process (genre MEGARIS), pourquoi ne pas utiliser BPMN ?