L’approche BPM (Business Process Management soit la gestion des processus métiers) vise à analyser et à modéliser dans un logiciel l’intégralité des processus métiers de l’entreprise. « Qui fait quoi ? » , « Avec qui ? » , « Quand ? » , « Dans quel ordre ? » sont des questions capitales permettant d’identifier les flux d’information et le dialogue entre tous les acteurs du processus.
L’objectif de cette démarche est d’aboutir à une meilleure vue globale de l’ensemble des processus métiers de l’entreprise et de leurs interactions afin d’être en mesure de les optimiser et, dans la mesure du possible, de les automatiser au maximum à l’aide d’applications métier.
D’un point de vue outillage, un système BPM est composé généralement :
- de logiciels qui permettent de modéliser les acteurs et les processus,
- d’agents qui permettent de les orchestrer (exécution, relance, alerte, escalade…)
- de consoles pour les administrer,
- et de tableaux de bord pour les piloter et en faire des analyses opérationnelles.
Le terme BPM est désormais utilisé pour tout ou partie de ces fonctionnalités.
La complexité de mise en œuvre d’un BPM est exponentielle car liée au niveau d’urbanisation du système d’information dans son ensemble, à sa capacité de traitement massif d’activités au fil de l’eau et en parallèle, à la volumétrie des données par activité à échanger/transformer, et à l’interopérabilité de logiciels hétérogènes entre eux (langage, version, technologie, règle de gestion…) qui changent dans le temps. Il s’appuie généralement sur des middlewares de communication/transformation de données (ESB ou ETL) pour y déporter la complexité d’intégration inter-système.
Face à une telle complexité, les systèmes BPM actuels ont tendance à ne traiter qu’un sous-ensemble des processus de l’entreprise, chaque application étant responsable de ses données et de ses propres processus.
Simplicité permet de modéliser et d’exécuter les processus dont il a la charge, et de dialoguer simplement avec les autres systèmes.