Digital Process Automation – Bonita, plateforme socle
Par Phillipe Laumay – VP Product Bonitasoft
Pour cet événement, BonitaSoft fête cette année ses 10 ans. Pour rappel, Bonita est un produit Open source dont il existe une version communautaire et une version entreprise
La réussite de BonitaSoft est basée sur la culture du client (customer centric). Cette entreprise se repose sur différentes équipes :
- Produit et développement :
- Equipes internes / pragmatique.
- Commerciale :
- S’assure que la plateforme répond correctement aux besoins client.
- Professional services :
- Accompagnement des clients sur la mise en place de la plateforme.
- Support :
- Adoption.
- Écoute de la communauté pour remonter les feedbacks.
- Customer success.
Bonita possède une grande appétence par rapport à l’innovation et utilisent les technologies au service des clients. Le marché de la technologie ne respecte pas les traditions mais uniquement les innovations.
Aller du BPM au DPA
Le but, pour Bonita est de démocratiser le BPM. Ils ont, très rapidement, fait un choix de modèle économique différent en proposant des abonnements.
Point d’inflexion en 2015 avec la mise en place des living applications, à partir de cette date, le moteur ne fait plus uniquement qu’exécuter des processus.
Arrivée de nouveaux concepts :
- Concept de living application.
- Gestion simplifiée des business data.
- Low code
- Outils de facilitation d’implémentation.
- Les techniciens iront désormais plus vite lors de l’implémentation.
- Les non techniciens peuvent désormais « facilement » appréhender la plateforme et être plus impliqués dans le projet.
- Fonctionnalités de WYSIWYG/ drag and drop / wizard /…
La cible pour Bonita est clairement les entreprises de taille moyenne à grande.
L’un des objectifs de l’automatisation et de permettre aux clients de repenser ses propres processus métier et non pas simplement automatiser des processus qui ne sont pas ou plus adaptés.
Les éléments différenciants de la plateforme :
- Très extensible :
- Rest API extension -> développées en java/groovy.
- Rapidité de mise en place :
- Gain de time to Market.
- Bonita continous delivery (BCD).
- Offre Bonita CLoud :
- Même plateforme sur le cloud et on premise.
Bonita est maintenant reconnue par les experts: Forrester (strong performer), Gartner, … mais également par ses propres clients. Ils présentent un taux de renouvellement de 93% !
Prochaines étapes
- Prédiction et recommandation.
- Techniques de process mining.
- Identification automatique des processus non efficaces.
- Proposer des améliorations des processus.
- Rendre la plateforme plus modulaire.
- Conteneurization.
- Docker / Kubernetes.
- Encore plus de low code.
- Bonita Cloud.
Retour d’expérience de Renault sur son projet de digitalisation du processus de décision budgétaire
Par Jacques Le Borgne – Chef de service processus et outils / PMO de l’ingénierie Renault et Florian Wintz – Expert Oresys en digitalisation de processus
Oresys est, depuis 1981, un cabinet de conseil indépendant qui accompagne ses clients sur toutes les étapes d’un projet.
Ils adressent les directions support et métiers dans tous les secteurs, ils les accompagnent aussi bien sur l’organisation des processus, les outils, que sur les conduites de changement
Enjeux pour Renault: Gestion des planning, de la charge, des ressources, des budgets… ce qui représente un enjeu de plusieurs milliards d’euro !
Les processus sont transversaux, très complexes et font intervenir différents acteurs à travers le monde.
Dans un milieu aussi concurrentiel que celui de l’automobile, la digitalisation n’est pas une option !
Exemple de processus sur la décision des projets moteurs : Faut-il lancer ou non un projet d’ingénierie ?
Sur ce processus, nous trouvons 100 contributeurs direct pour plus de 200 clients.
Le processus parait simple en apparence, comme souvent, mais quand on creuse, au plus on descend dans les sous-tâches et les tâches de plus bas niveau, au plus on découvre la réelle complexité et c’est donc là que l’effort doit se porter. L’enchainement des micros actions de bas niveau pénalise le process global.
La réalité est dans les tâches bas niveau !!
Apport de bonita dans ce contexte
- Visibilite
- Efficacite
- Tracabilite
Erreurs à ne pas commettre
- Penser outils et non processus
- Rester à la surface des processus (versus les tâches de bas niveau)
- Ne pas inclure les utilisateurs dans le projet
Dans ces projets, il faut absolument être USER CENTRIC !
Il faut bien comprendre le besoin utilisateur : “design the right thing”
Les solutions doivent être au juste nécessaire des besoins : “design the thing right”
Démarche
- Phase exploratoire :
- Définir le périmètre :
- Avoir une bonne connaissance du métier.
- Construction des parcours UTILISATEUR
- Ateliers de co-construction (Oresys +renault) (18 mois à 2h/semaine) => apport de valeur au-delà des process
- Beaucoup d’aller-retour avec les utilisateurs
- Travail sur un visuel centré sur les parcours des utilisateurs (balsamiq)
- Travail sur des visuels mockés naviguables centrés sur le fonctionnel
- De ces ateliers, on en ressort :
- Un processus convergé
- Des acteurs et matrice des rôles
- Une transformation de données
- Une organisation des données métiers
- Ces ateliers permettent également :
- Une amélioration immédiate
- Une meilleure communication entre les équipes
- Un sponsoring renforcé
- Des ambassadeurs du projet
- Attention, il ne faut pas penser au process existant
- Enjeux de cette phase :
- Atteindre l’objectif business
- Avoir un parcours cohérent avec le besoin utilisateur
- Définir le périmètre :
- Réalisation
- POC fonctionnel
- Première version pour valider fonctionnellement
- V1 :
- 8 utilisateurs / 80 points fonctionnels bloquants (cas d’exception)
- Suite à des modifications la version 2 :
- 100 utilisateurs / 50 points bloquants, 16 majeurs
- POC fonctionnel
- Industrialisation
- Dans ce REX, l’industrialisation est réalisée par la DSI qui n’utilise pas Bonita. Bonita a permis de définir le cahier des charges et libre a la DSI de l’implémenté avec une autre technologie
Très bons retours des utilisateurs, autant pour les résultats que pour la démarche .
Les ateliers sont un très bon vecteur à la conduite du changement
Retour d’expérience du crédit Agricole en Bretagne sur son projet d’automatisation du processus de demande de prêt
Par Matthieu Bellet – responsable de service pôle péri informatique
Le crédit agricole est composé de 39 caisses régionales et autant de commités de direction. En Bretagne, on trouve une caisse par département, un petit historique :
- 2008 : rationaliser les SI / coopération entre les caisses
- 2012 : SI unique appelé NICE
- 2013 : renouvellement du pacte de coopération.
En Bretagne, 350 collaborateurs sur les 4 départements son affectés pour le projet de coopération :
- Mai 2015 : audit des processus
- Identification des processus
- 55 formulaires
- 6 services
- 17 fonctionnalités principales
- Les échanges sont principalement en point à point
- Beaucoup d’irritants existent
- Manque de workflow
- Manque de communication
- Aucune solution proposée par le GIE
- Identification des processus
Etude et comparaison de 6 outils internes et 2 externes (Bonita et DAMAaas)
Le choix de Bonita a été fait suite a ces études.
- Juillet 2015, lancement du projet :
- 6 processus sur les pans fonctionnels suivants :
- Crédit particulier
- Crédit agriculteur
- Support crédit
- 6 processus sur les pans fonctionnels suivants :
Enjeux de ces processus
- Fluidifier le passage de l’information entre toutes les entités
- Réduire les délais
- Améliorer la qualité de service
- Simplifier la saisie des dossiers
- Amélioration du suivi
- Dématérialisation
- Améliorer la confiance des conseillers vis-à-vis des outils
- Améliorer l’image
Démarche
- Ateliers (cf ateliers Renault) avec modélisation des UI avec Balsamiq:
- Centrer utilisateur final
- Avec le prestataire
- Reprise des processus en interne :
- Formation Bonitasoft (2 développeurs)
- Passage de connaissances entre le prestataire et le Crédit agricole
- Simplifier les processus
- Élargissement :
- Référencement groupe
- Convergence avec les autres caisses
- 8 processus en production
- 3 processus en qualification
- 2 processus en développement dont un initial et historique
Avant la mise en place de ces processus, le conseiller faisait office de moteur BPM :-)
Conseils
- Lors de la première phase, bien expliciter les choses : éviter les incompréhensions
- Le mode forfait est compliqué une fois l’initialisation faite:
- L’accompagnement initial est nécessaire surtout pour les néophytes
- L’accompagnement est primordial sur la méthodologie
- La connaissance métier est chez le client
- Le mode forfait induit des coûts supplémentaires
- Ne pas sous-estimer les processus en termes de complexité :
- 111 tables BDM
- Maitrise des processus
- La capacité des utilisateurs à se projeter
- Essayer d’oublier la technologie et les outils existant lors de l’analyse
- Expliciter l’implicite lors de la phase d’analyse.
Retour avec du recul
- Bonita répond très bien aux besoins
- Gain de conformité
- Risques maitrisés
- Approbation des utilisateurs
- Réduction des délais client
- Intégration avec le SI
Question posée sur le choix du mode forfait :
Le but était d’aller vite, d’avoir un apport méthodologique et être sûr que Bonita réponde aux besoins. Les implémentations ont été reprises en interne. Le développement se fait de manière itérative afin d’assurer la monté en compétence. Pas de travail collaboratif : 1 process -> 1 développeur
BPM & RPA l’automatisation de bout en bout avec Bonita et UIPath
Par Delphine Coille – Evangéliste Bonitasoft et Mohamed Mahboub – RPA Pre-sales Engineer UIPath
Afin d’automatiser un process de bout, il existe une réelle complémentarité entre le BPM et le RPA (Robotic Process Automatisation)
UIPath est une société spécialisée dans le RPA. Historiquement, cette société est née en Roumanie. Initialement, leur objectif était d’automatiser des tests mais ils se sont rapidement positionné comme solution RPA. La solution a été étendue
Cette solution se compose de 3 parties
- L’IDE (Eclipse)
- Un orchestrateur (qui reçoit les demandes et pilote les robots)
- Un ou plusieurs robots (qui réalisent l’action)
Comparaison
- BPM:
- optimiser des processus métier
- lien avec l’humain (human centric)
- RPA :
- automatiser des tâches
- pas d’optimisation du processus
- automatisation de tâches qui sont coûteuses bien qu’elles n’apportent que peu ou pas de valeur ajoutée
- Pour optimiser de bout en bout, il faut les deux !!
Le RPA permet :
- Mimétisme des tâches humaines (quel que soit l’environnent)
- Utilisation de l’interface utilisateur (clic, copier/coller/,…) -> sans appel API
- Reconnaissance de l’interface graphique (OCR)
- Remplissage automatique de formulaire
- Ouverture de mail, reconnaitre le nom, télécharger la pièce jointe…
- Toute action réalisée par l’humain sur son poste de travail
Grace au RPA l’utilisateur peut se concentrer sur ses tâches à valeurs ajoutées.
Le partenariat entre Bonita et UIPath date de mai 2O18. Désormais, Bonita intégre nativement les connecteurs UIPath dans Bonita 7.8
Ces connecteurs sont spécifiques et bidirectionnels :
- Les processus peuvent intéragir avec l’orchestrateur UIPath et l’orchestrateur peut intéragir avec les processus.
Le connecteur RPA se positionne sur une tâche humaine afin de remplir automatiquement un formulaire via OCR (UIPath + ABI)
- Exemple de pièce d’identité/Justificatif de domicile uploadée et dont les informations sont automatiquement extraites et renseignées dans un formulaire.
Pour l’utilisation de l’OCR, il est nécessaire de définir un modèle par type de documents.
La reconnaissance OCR donne un indice de confiance. Si ce dernier est trop faible (paramétrage) un humain devra repasser sur la tâche afin de valider ou modifier le formulaire. Ceci entraine un nouveau processus et une notion de data steward.
Afin d’améliorer les performances, il est possible d’avoir plusieurs robots pour un seul environnement.
Le futur de Bonita – version 7.10 et au-delà
Par Philippe Laumay – VP Product Bonitasoft
Le version 7.10 sortira en décembre 2019. Bonita propose 2 versions par an (juin et décembre).
Points mis en avant :
- BCD (Bonita Continus delivery)
- Une chaîne d’intégration continue et de déploiement complète.
- BICI
- Mise en place d’indicateur sur la durée des processus
- process mining / stats sur les processus
- Utilisation d’ElasticSearch
- Intégration des données d’exécution.
- Dans l’évolution prochaine de l’outils, les données métiers pourront également être intégrées dans l’elasticSearch, cela permettra d’avoir des stats sur les données métiers et/ou un recoupement entre les données métiers et techniques.
- Mise en place d’indicateur sur la durée des processus
- Modularisation
- Rendre la plateforme plus modulable.
- Rendre les composants autonomes.
- Exécution de connecteurs en mode asynchrone
- Réduction des temps pour les connecteurs lents (rapport de 10).
- Amélioration des requêtes BDD lentes.
- Permettre de générer et déployer depuis l’IDE (Eclipse).
- Développement Low-code :
- Plus de helper, plus de wizard, plus d’abstraction à la technique
- Meilleure gestion des données dans le UI designer:
- Création de variables metiers sans appel explicite aux API.
- Génération de formulaire par rapport au contrat est facilité.
- Remplacer un widget par un autre en conservant la configuration.
- Nouveau Layout par défault.
- Bonita Cloud:
- Architecture micro services
- Docker + Kubernetes
- Engine embarqué
- Spring boot
- Architecture micro services
- Ajout de métriques pour le monotoring :
- Micrometer + Prometheus.
- Possibilité d’avoir du multi package dans le BDM (Business Data Model) :
- Mieux organiser ses données métier.
- Visualiser les codes des widgets afin de pouvoir les surcharger.
- Nouvelle page d’accueil dans le studio.
- Nouveau projet à importer.
- Continuer à sortir de GWT au profit d’Angular.
- Mise en place du Guest user:
- Permet de créer des living applications sans authentification.
- Accès au contenu public.
- Possibilité d’enroler le « guest user ».
- Adaptive Case management :
- Processus non structuré.
- Bonita Cloud
- Environnements techniques iso en termes de fonctionnalité à ce que l’on peut avoir on premise.
- 3 environnements minimums : Intégration, pré-production et production.
- Support -> Gold/Elite/Platinium.
- Disponibilité garantie à 99,9%.
- 1 minute de RPO.
- 15 minutes de RTO .
- Nombre illimité d’utilisateur, de processus, d’instances, …
- Outils de prédiction (sur les SLA):
- Peut être utilisé à partir du moment où suffisamment de donnée sont présentes.
- Aide à la réassignation de tâches.
Bonita et l’orchestration micro-service
Nicolas Chabanoles – CTO Bonitasoft
Présentation des micros-services ici met l’accent sur l’aspect buzz de cette architecture. La mise en place de micros-services relève plus de la mise en place de bonnes pratiques d’architecture.
La gestion des événements permet de mettre en place un vrai découplage.
Quand le découplage est bien en place, le sizing peut être réalisé par service ce qui induit la notion de scalabilité.
Loi de Conway: Une organisation qui veut concevoir un system va le concevoir à l’image de son organisation.
- Si une seule équipe gère tout, le système risque d’être monolithique.
- Les équipes réparties en couche (une équipe BDD, une équipe back office, une équipe front), auront tendance a créer des systèmes n-tiers.
- Les organisations en squad et tribe (dev ops / équipes distribuées), s’orientent vers du micro-service.
Nous avons un réel reflet des canaux de communication de l’entreprise. L’organisation a donc un impact sur l’architecture et vice versa.
Patterns de micro-service
- Chaine d’évènements:
- Point à point à point;
- Ex: Le service de commande envoie un message au service de paiment puis le service de paiement envoie un message au service de livraison.
- Problèmes :
- L’ajout de service est compliqué, nécessite de re-designer, de modifier 2 services minimum.
- Si beaucoup de service sont enchainés il est difficile d’avoir une vision de la chaine complète.
- Si beaucoup de service : quelle est la chaine d’exécution ?
- Orchestration :
- Un orchestrateur existe.
- Il connait toute la chaine.
- Si on souhaite ajouter un service, la modification ne porte que sur l’orchestrateur, pas d’impact sur les services.
- Chorégraphie:
- Un chorégraphe existe.
- Chaque service sait ce qu’il doit faire.
- L’ordre d’exécution n’est pas garanti.
- En cas de problème, le chorégraphe a pour rôle de remettre le système en état.
La chorégraphie est le meilleur pattern pour le business car il optimise le nombre de commande/unité de temps, mais il induit une complexité à chaque ajout de service.
Démonstration
- Implémentation technique : Nodejs pour les micro-services.
- Communication sur un broker Apache Kafka.
- Bonitasoft
- Le tout est dockerisé.
Scénario 1 – Bonita en orchestrateur
- Remplacement d’un service node par un service Bonitasoft (changement d’implémentation).
- Fontionnement OK : pas d’impact.
Remplacer le service node par un service Bonita ajoute automatiquement de la tracabilité.
Scénario 2 – Bonita en orchestrateur et en chorégraphe
- Bonita comme chorégraphe pour garantir la cohérence.
- Un service Bonita a le rôle de chorégraphe: développement spécifique:
- Il écoute les messages Kafka.
- Il affiche ce qu’il se passe en temps réel.
- Le chorégraphe a la possibilité de notifier les services lors de problèmes détectés.
Bonita peut être un service, le chorégraphe et/ou l’orchestrateur.
Adaptive Case Management avec Bonita
Par Adrien Lachambre – R&D Bonitasoft
L’ACM permet la gestion des processus non structurés et des tâches hétérogènes.
Case Management vs BPM
- Variable versus hautement “répétable”.
- Piloté par l’utilisateur et non le processus.
- Résolution de problème versus l’efficacité et l’automatisation
Pour réaliser cela, les tâches concernées possèdent un état ACM (c’est un état qui permet de définir les tâches devant être complétées avant de pouvoir effectué cette tâche).
Dans la plateforme, il existe un ACM event handler qui recalcule l’état ACM de chaque tâche quand une tâche est exécutée.
Démonstration : Application de réclamation de carte bancaire
Dans l’IDE, il faut tout d’abord activer l’ACM event handler et ensuite, sur les tâches concernées, il faut créer une variable locale transient dont le nom doit commencer par ‘$’.
Cette variable est initialisée par script : c’est là que nous posons les conditions à l’exécution de cette tâche.
Ex: Pour procéder à un remboursement, le supérieur a du valider la demande au préalable.
Il est également possible de créer des tâches non prévues au runtime, cela nécessite un petit développement mais est très utile.
Pour faire cela, il faut designer une “custom generated task” et au runtime, il est possible d’instancier une sous-tâche de cette tâche générique.
Tout le code nécessaire est disponible dans les exemples téléchargeables depuis l’IDE.
Cette partie est très intéressante mais mériterait d’être un peu plus packagée / intégrée.
Bonita Cloud
Par Florent Sarat – Product Owner Bonitasoft
Offre
- Mise à l’échelle automatique.
- Innovation : toujours la dernière version de Bonita.
- Inclus le BCD pour délivrer rapidement.
- Reduction des coût: infra et supervision délégué à Bonita / continuitée de service.
- Securité: Amélioration en permanence (Travail avec CyberSecura).
Bonita Coud est exactement la même version que la on-premise
L’offre comprend:
- 3 runtimes:
- 1 production, 2 non production (intégration et pre-production par défaut).
- Haute disponibilité (99.9% par mois. RPO 15 minutes)
- Haute performance.
- Monitoring par les équipes de Bonita.
- Nombre illimités pour :
- les utilisateurs
- les processsus
- les tâches
- les formulaires
- Le studio reste installé sur le poste des développeurs.
- L’offre n’inclue pas de repository Git mais s’intègre avec n’importe lequel.
Bonita Cloud et Contonous Delivry
Intégrer parfaitement avec le module BCD
Studio => Git => Bonita Cloud
Vous l’aurez compris au travers de cette synthèse, les retours d’expérience étaient assez denses et nous ont permis de refaire une passe complète sur l’écosystem Bonita. Nous sommes convaincus que c’est une excellente solution. Forts de notre partenariat, nous donnons même des formations au sein de notre academy : ici.