Lors de mes deux articles précédents, j'ai tenté d'expliquer comment la notation standard BPMN (Business process model and notation) pouvait être utilisée pour orchestrer à la fois des services (services héritées, API, micro-services) et des humains, le tout dans le cadre d'une démarche d'optimisation et d'automatisation des processus. Dans ce troisième article et alors que le RPA est au centre des préoccupations de nombreux DSI, je m'attacherai au rôle que peut jouer une nouvelle catégorie d'acteurs : les robots.
Quand peut-on parler de robots logiciels et qu’ont-ils à voir dans une démarche d’orchestration de processus ?
Une démarche d'automatisation embarquant du RPA (robotic process automation) est généralement mise en place pour remplacer les tâches répétitives (ou séquences d'actions) effectuées par des humains. Les robots RPA s'interfacent alors avec les plateformes et logiciels utilisés par les personnes via une interface utilisateur. L’avantage évident de ce type de démarche repose sur le fait que les robots exécutent des tâches standardisées et répétitives plus rapidement et avec plus de précision que les humains. De plus, les robots ne s'ennuient pas ou ne font pas d'erreurs lors de travaux fastidieux tels que l'extraction, la saisie ou la recherche de données.
Toutefois, le RPA n'est qu'un élément de l'orchestration des processus car les robots ne peuvent pas gérer une logique d'orchestration complexe impliquant des services et des humains. Cependant, comme l'orchestration BPMN gère l'automatisation de workflow et offre un accès bidirectionnel aux services, plateformes et autres logiciels tiers, elle peut également contrôler le déploiement des robots RPA et orchestrer leur rôle dans le processus.
Comment le BPMN interagit-il avec les robots ?
Un robot logiciel ressemble en fait à un service, en ce sens qu'appeler un robot pour exécuter une opération revient essentiellement à appeler un service. La norme BPMN permet en effet à un processus d'effectuer des appels synchrones et asynchrones, de sorte que le processus peut appeler un robot en mode asynchrone, laissant le processus se poursuivre pendant que le robot fait son travail et renvoie les informations qui lui sont demandées. Les appels asynchrones ne bloquent pas le flux de travail et le travail effectué par d'autres peut se poursuivre en parallèle.
La véritable valeur ajoutée apportée par les robots repose sur la possibilité d’interagir via une interface utilisateur, plutôt que via des API et des services similaires. De nombreux systèmes hérités ne disposent pas d'API, de sorte que les robots sont très utiles pour interagir avec les interfaces utilisateur ‘à l'ancienne’. De cette manière, un robot RPA est une extension d'automatisation pour une logique d'orchestration définie avec du BPMN.
Bien sûr, si un système hérité est accessible via des API, le BPMN peut les orchestrer directement comme nous l'avons vu dans les articles précédents.
L’exemple de MobileBank
Revenons à l’exemple développé dans notre article précédent, MobileBank, et regardons le rôle joué par les robots en matière d'automatisation d'orchestration des processus dans ce cas précis. Rappelons que MobileBank est un nouveau service client proposé par BigBank, qui se positionne en concurrence avec de nouveaux services bancaires et de crédit destinés aux jeunes diplômés ‘digital natifs’ qui ne souhaitent pas se rendre dans une banque pour remplir des formulaires.
Lorsqu'un client existant souhaite demander un prêt bancaire pour acheter une voiture, il doit se connecter à MobileBank via la nouvelle application mobile qui repose sur un système d'orchestration basé sur le BPMN. Un conseiller clientèle de BigBank gère alors cette demande à l'aide d'une application interne dédiée. À partir de cette application, la banque va exiger un certain nombre d'informations spécifiques relatives au demandeur, afin de pouvoir lui fournir une réponse précise et conforme aux politiques internes et externes en vigueur, ainsi qu’aux normes juridiques. Ces informations sont alors collectées via un robot RPA conçu pour les systèmes internes de BigBank et accessibles via l'interface utilisateur (par exemple, ratio dette / revenu, prêts existants, évaluation des risques) et par appel de service activé par API pour les données gouvernementales notamment (par exemple, l'historique de crédit, la vérification des antécédents). Toutes ces actions sont gérées par une logique d'orchestration qui consiste à automatiser les processus métier de bout en bout.
Sur la base de ces informations, le conseiller clientèle pourra ensuite décider du type de proposition à envoyer au client.
Pour répondre à la demande d'une personne qui n'est pas encore client, des demandes d'informations complémentaires seront envoyées lors de l'ouverture de son compte. La logique d'orchestration pilotée par le BPMN attendra ensuite qu'un robot valide automatiquement son statut de nouveau client.
Le client en question reçoit alors la proposition par e-mail et peut la renvoyer signée ou la refuser. Il a la possibilité de vérifier l'état de sa demande à tout moment via l'application et de contacter son conseiller clientèle via son canal favori (application, email, SMS ou appel). Comme nous l'avons vu dans l'article précédent, la notation standard BPMN fournit des capacités pour gérer les communications des utilisateurs.
Lorsque le document est signé et renvoyé par e-mail ou via l'application, un autre robot est déclenché et va venir contre-vérifier le document à l'aide d'un système OCR (optical character recognition). Ce robot stockera les informations dans un système hérité existant avant de notifier le processus BPMN avec un rappel. Le processus informera ensuite le client et stockera les informations requises pour une traçabilité future.
Les robots peuvent également être utilisés pour activer le système hérité qui active le transfert d'argent au client, jusqu’à la finalisation de l'achat de la voiture !
En résumé, voici les principaux avantages apportés par l'orchestration de robots dans le contexte d'une orchestration de processus de bout en bout à l'aide du BPMN :
- Libérer les gens des tâches fastidieuses (comme la saisie de données),
- Fournir une transition fiable des systèmes hérités aux systèmes les plus récents, sans avoir à remplacer les anciens systèmes en totalité ,
- Une meilleure efficacité liée à l'automatisation,
- Des processus améliorés (la mise en œuvre de robots est une excellente occasion de revoir et d'ajuster l'ensemble du processus),
- Accélérer la création de nouveaux services et augmenter la satisfaction client,
- Offrir un service plus rapide.
En conclusion
A noter qu’il existe une courbe d'apprentissage sur la notation BPMN 2.0 pour les équipes informatiques et métiers qui choisissent l'approche BPMN, mais la notation standard est assez simple pour la majorité des cas d'utilisation. Le plus grand défi avec le RPA et les BPMN est de ne pas se perdre dans les détails de l'automatisation robotique ou d'oublier qu'il existe un spectre plus large à considérer lors de toute démarche d'automatisation. L'automatisation d'un processus inefficace en intégrant des robots peut accélérer les choses, mais cela ne se traduira pas par un meilleur processus. Le RPA est ainsi mieux intégré dans le cadre d'un effort d'amélioration global, où l'ensemble du processus est considéré de bout en bout pour déterminer où et comment les choses peuvent être optimisées, que ce soit avec des robots RPA, d'autres systèmes ou encore des personnes.