The BPM (Business Process Management) approach aims to analyze and model all of the company's business processes in software. “Who does what? ”, “With whom? ”, “When? ”, “In what order?” ” are crucial questions for identifying information flows and dialogue between all actors in the process.
The objective of this approach is to achieve a better global view of all the company's business processes and their interactions in order to be able to optimize them and, as far as possible, to automate them as much as possible using business applications.
From a tooling point of view, a BPM system is generally composed of:
- software that makes it possible to model actors and processes,
- agents that allow them to be orchestrated (execution, relaunch, alert, escalation...)
- consoles to manage them,
- and dashboards to manage them and make operational analyses.
The term BPM is now used for some or all of these features.
The complexity of implementing a BPM is exponential because it is linked to the level of urbanization of the information system as a whole, to its capacity for massive processing of activities over time and in parallel, to the volume of data per activity to be exchanged/transformed, and to the interoperability of heterogeneous software between them (language, version, technology, management rule...) that change over time. It generally relies on communication/data transformation middleware (ESB or ETL) to deport the complexity of inter-system integration.
Faced with such complexity, current BPM systems tend to only address a subset of business processes, with each application responsible for its own data and processes.
Simplicity makes it possible to model and execute the processes for which it is responsible, and to communicate simply with other systems.